검색 증강 생성(RAG, Retrieval Augmented Generation)은 텍스트 생성 과정에 정보 검색을 통합한 자연어 처리(NLP) 기술입니다. LLM(Large Language Model)이 가지는 다양한 한계점을 해결해 주는 뛰어난 보완재이며, 기업 입장에서는 내부 보안이 필요한 문서/텍스트 데이터들을 LLM에 적용하여 활용할 수 있다는 큰 장점이 있습니다. 아래에서는 RAG의 주요 특징 및 LLM과 어떤 시너지를 낼 수 있는지에 대해 요약하여 설명합니다.자세한 내용은 아래 본문에서 확인 가능합니다. 생성형 AI 환각의 종말? RAG로 엿보는 LLM의 미래[테크트렌드]대규모언어모델(LLM)을 활용한 챗봇인 챗GPT가 세상에 나온 이후 그 유용성 못지않게 많은 문제점이 지적되고 있다. 환각..
생성형 AI의 발전으로 일과 인력의 미래에 대한 논의는 끊임없이 논쟁의 중심에 있습니다. 시간이 지나면서 AI의 가능성과 한계가 함께 인식되기 시작했고, AI를 효과적으로 활용하는 사람이 그렇지 않은 사람을 대체할 것이라는 주장이 더 설득력을 얻고 있습니다.그렇다면 리더들은 어떻게 AI를 활용해 리더십을 효과적으로 발휘할 수 있을까요? 아래 포스트에서 해당 내용을 자세히 다루고 있어 공유하는 차원으로 정리해 보았습니다. 좀 더 자세한 내용을 보고자 하신다면 아래 링크를 통해 본문을 보시면 될 것 같습니다. 생성형 AI가 가져올 리더십의 미래IGM의 경영전략[경영전략]챗GPT의 등장 이후 생성형 인공지능(AI)에 대한 관심은 폭발적으로 증가했다. 일과 인력의 미래에 대한 논쟁은 전 세계적으로 뜨거운 주제..
Trino는 대용량 데이터를 빠르게 분석할 수 있는 오픈 소스 분산 SQL 쿼리 엔진입니다. 이 엔진은 다양한 데이터 소스를 단일 SQL 쿼리로 조회할 수 있게 해주며, 데이터가 여러 곳에 분산되어 있어도 하나의 쿼리로 통합 분석할 수 있습니다. 이를 통해 기업은 복잡한 데이터 구조를 쉽게 다룰 수 있으며, 비즈니스 인텔리전스(BI)와 데이터 분석의 유연성을 크게 높일 수 있습니다.Trino의 기원과 역사Trino의 역사는 2013년 Facebook(현 Meta)에서 시작되었습니다. 당시에는 Presto라는 이름으로 불렸으며, Facebook 내에서 대규모 데이터를 빠르게 쿼리하기 위해 개발되었습니다. 이후 오픈 소스로 공개되었고, 전 세계의 많은 개발자와 데이터 엔지니어가 참여하여 발전해왔습니다. Tr..
해당 포스트에서는 네이버지식인을 통해 질문받은 EMP 급여 데이터 분석 방법에 대해 설명합니다.INTRO아래에서는 EMP 벡터를 활용하여 사원들의 급여 정보를 처리하고, 특정 조건을 만족하는 사원들을 출력하는 함수를 정의하여 출력하는 코드를 설명합니다. 해당 과정을 위해 emp_pay()라는 사용자 정의 함수를 생성하여 활용하며, 전체 급여 평균을 계산하고, 이보다 높은 급여를 받는 사원들의 정보를 추출하여 출력합니다.문제 해결 과정에서는 stringr 패키지의 str_extract()와 str_replace() 함수, 그리고 숫자 변환 함수인 as.numeric()을 사용합니다. 또한, 한글 문자를 인식하는 정규표현식 패턴 [가-힣]을 활용하여 사원의 이름을 추출합니다.문제R 코드아래 함수 emp_pa..
이번 포스트에서는 R 마크다운에서 코드 에러가 있을 경우 HTML파일 출력이 되지 않는 문제를 해결하는 방법을 설명합니다.현상R 마크다운에서 HTML을 출력하려 하는데, 코드에 에러가 있어 출력되지 않는 상황ex) 코드 오류, 데이터 오류, 패키지 오류 등 해결코드 수정이 불가능한 상황이라 코드 수정이 불가능하다면, 코드 청크(chunk)의 eval 옵션을 이용eval 옵션의 기본값을 TRUE로 코드 청크를 기본 실행하게 되어 있는데, 해당 옵션 값을 FALSE로 입력하면 해당 청크는 실행되지 않고 출력만 됨결과eval = FALSE 옵션 적용결과 정상 HTML 생성 및 출력되는 것을 확인함!
해당 포스트에서는 R에서 벡터(vector)의 모든 값이 동일한지 확인하는 방법에 대해 설명합니다.INTROR에서 벡터(vector)는 단일 값 또는 값의 집합을 저장하는 데 사용되는 데이터 유형 중 하나로, 기본 구조이면서 가장 많이 사용되는 자료 구조입니다. 아래에서는 벡터(vector)의 모든 요소(값)가 동일한지 확인하는 방법에 대해 설명합니다.코드 설명R에는 벡터 내 값들의 동일성 판단을 위한 다양한 방법이 있습니다. 아래에서는 크게 1) 모든 원소의 값이 동일한지, 2) 모든 원소의 값이 특정값과 같은지 를 구분하여 설명합니다.모든 원소의 값이 동일한지 : length()와 unique()모든 원소의 값이 특정값과 동일한지 : all(), all.equal()1. 모든 원소의 값이 동일한지 확..
해당 포스트에서는 리스트(list)에서 원하는 문자 벡터를 선택하여 문자열로 만드는 방법을 소개합니다.INTRO리스트(list)는 R에서 데이터를 저장하는 방법 중 하나로, 데이터 프레임(Data Frame)과 다르게 여러 가지 타입의 데이터를 저장할 수 있습니다. 아래에서는 리스트(list) 안에 문자열 벡터를 저장하고, 해당 벡터에서 원하는 값을 선택하여 문자열로 만드는 방법을 간단한 예시와 함께 설명합니다.R 코드 및 설명먼저 설명에 사용할 str1이라는 빈 리스트(list)를 생성합니다. 그 다음 str1 리스트 안에 4thelement라는 이름으로 문자열 벡터 c('I', 'love', 'R')를 추가하고, 마지막으로 paste() 함수를 사용하여 선택한 벡터를 문자열로 합칩니다.collapse..
해당 포스트에서는 1부터 100까지 출력하면서 3의 배수는 별(star)로 출력하는 방법을 소개합니다. [R] 1부터 100까지 출력하면서 3의 배수는 별(star)로 출력하기 INTRO 반복문은 프로그래밍을 공부하는 사람들에게 가장 요청이 많은 연습문제 중 하나입니다. 특히, 책에서 나오는 다양한 별(*) 출력 예제는 반복문을 이용한 변환 문제를 연습할 수 있어서 가장 많은 문제 중 하나입니다. 아래에서는 별표(*) 출력 예제 중 하나를 다뤄보겠습니다. [Python] 별 출력 예제 (사용자 line수 입력) 질문 1부터 100까지의 숫자를 출력하되, 3의 배수를 별표(`*`)로 출력하세요. 풀이 아래 코드는 주어진 조건에 따라 Python 조건문과 반복문을 이용하여 1부터 100까지의 숫자 중 3의 ..
해당 포스트에서는 R 반복문을 활용해 1부터 100까지 출력하면서 3의 배수는 별(start)로 출력하는 방법을 설명합니다.INTROR 프로그래밍을 공부하시는 분들에게 반복문은 가장 많이 요구되는 연습중 하나입니다. 특히, 반복문을 이용한 다양한 별(*) 출력 예제는 대부분 도서에서 출제되는 문제이며, 이를 통해 다양한 변형 문제들을 해결하는 연습을 하게 됩니다. 아래에서는 별(*) 출력 예제 중 하나를 설명합니다.[R] 반복문을 이용한 별 출력 예제 1탄 (feat. 직각삼각형, 피라미드)[R] 반복문을 이용한 별 출력 예제 2탄 (feat. 다이아몬드, 마름모, 나비, 모래시계)문제1부터 100까지 출력하면서 3의 배수는 별(*)로 출력하시오.풀이아래에서는 주어진 조건에 맞춰 풀이하기 위해, R 조건..
해당 포스트는 네이버지식인을 통해 질문 받은 "데이터 프레임 특정 행/열 추출하는 방법"에 대한 답변을 공유하는 글입니다.질문R 데이터프레임 특정 행/열 추출 질문..1번 사진을 2번 사진처럼 바꾸고 싶은데 어떻게 해야할까요?풀이아래에서는 R에서 제공하는 subset() 함수를 이용해 데이터 프레임(Data Frame)에서 원하는 서브셋 데이터를 추출하는 방법을 설명합니다. subset() 함수는 데이터 프레임에서 조건에 맞는 행을 추출할 수 있도록 도와주는 함수로, 간단하고 유용한 함수 중 하나입니다.1. 데이터 생성먼저 질문에서 언급된 사진의 데이터를 생성하겠습니다. 생성된 데이터는 mydata 변수에 저장합니다.mydata name gender funny age age.month1 철수 ..