rag

2025.01.29 - [AI, 머신러닝] - RAG 시스템 강화하기 (1) Multi-Query, Self-Query, Reranker - 이론편이전 포스팅에서 이론적으로 설명한 내용을 RangChain을 통해 구현해보겠다. from bs4 import SoupStrainerimport getpassimport osfrom dataclasses import dataclassimport loggingfrom typing import Listimport faissfrom langchain.schema import Documentfrom langchain_community.vectorstores import FAISSfrom langchain_community.docstore.in_memory import ..
Qualtative Analysis가 필요한 이유주식이나 금융 시장에서 투자를 결정하는데 있어 흔히 사용하는 방식 중 하나가 재무제표, 차트, 지표 등 정량적 분석(Quantative Analysis)이다. 하지만 이런 수치적인 데이터만으로는 시장 심리, 특정 이슈 및 트렌드를 놓칠 수 있다.예를 들어 최근 중국의 deepseek로 인해 미국 반도체, 테크 주식들이 대폭락을 했는데 이는 재무제표에는 반영되지는 않지만 투자심리와 주가 변동에 큰 영향을 미친것이다. 이러한 이유로 정성적 분석(Qualitative Analysis)가 중요해졌다. 뉴스 기사, 업계 평가, 산업의 미래투자가치, 애널리스트 코멘트 등은 미래의 트렌드를 파악하면서 투자 판단에 활용할 수 있는 유용한 텍스트 정보들이 필요하다.이를 R..
1. Multi Query1.1 배경전통적인 RAG 파이프라인에서는 사용자의 쿼리(Query)가 임베딩되어, 가장 유사한 문서를 검색(Retrieval)한 뒤 LLM이 답변을 생성한다.하지만 사용자의 쿼리가 애매하거나 범위가 넓은 경우, 단일 문장만으로는 문서 검색에서 정보 유실(Information Loss)이 생길 수 있다.Google의 Multi-Vector Retrieval, OpenAI 등이 제안한 쿼리 재작성 기법을 통해 질문을 여러 형태로 재생성하여 더 풍부한 검색을 유도하는 시도를 해왔다.1.2 사용하는 이유쿼리 다양성 확보사용자 입력 한 줄이 모호하거나, 특정 키워드를 놓쳤을 때, 다양한 표현의 쿼리를 생성하면 그만큼 다른 각도에서 문서를 검색할 수 있다.정확도(Recall) 향상단일 쿼..
이전 포스팅 [2025.01.27 - [AI, 머신러닝] - RAG 코드 간단하게 구현하기] 에서 RAG 코드를 간단하게 구현해 봤습니다.하지만 Generator 모델의 성능이 낮아 원하는 답변을 제대로 얻을 수 없었습니다.이번 포스팅에서는 OpenAI API로 ChatGPT 모델을 불러와 고성능 generator 모델 역할을 맡기고,전체 RAG 시스템의 동작을 trace하기 위해 langchain으로 RAG 코드를 구현해보겠습니다.전체 코드 흐름은 이전 포스팅과 동일합니다.0. Prerequisite먼저 LangSmith와 OpenAI API에 대한 API Key를 생성해줍니다.OpenAI: https://platform.openai.com/settings/organization/api-keysLang..
본 포스팅은 RAG를 처음 입문하는 스타터들을 위해 간단하게 RAG를 코드로 구현하는 방법을 설명합니다.먼저 RAG 코드 구현에 있어 RAG가 뭔지 모르겠다면 아래 글을 참고해주길 바랍니다.2025.01.24 - [AI, 머신러닝] - Prompt Engineering으로 ChatGPT 제대로 활용하기 - (5) 프롬프트 엔지니어링 심화편 III (Tree of Thought, RAG) Prompt Engineering으로 ChatGPT 제대로 활용하기 - (5) 프롬프트 엔지니어링 심화편 III (Tree of Thought, RAG)Tree of Thought기존 Chain of Thought(CoT) 방식은 LLM이 문제 해결 시 연속된 단일 추론 경로(chain)에 의존하게 된다.그러나 탐색(ex..
EBEL
'rag' 태그의 글 목록