티스토리 뷰

1. RAG란?

- Retrieval-Augmented Generation의 약자로, 텍스트 생성 모델과 정보 검색 시스템을 결합한 AI 기술

- 정보 검색(Retrieval)과 생성( Generation)의 단계로 나뉜다.

- 데이터베이스 사용 외에도 외부 api를 활용해 "검색"한 결과를 LLM에 전달하고 답을 "생성"하면 RAG라고 할 수 있다.

 

2. RAG 구현시 사용한 라이브러리

# 파일 읽어오기
from langchain.document_loaders import TextLoader  # 텍스트 파일
from PyPDF2 import PdfReader  # PDF 파일

# 문서를 청크로 분할
from langchain.text_splitter import RecursiveCharacterTextSplitter  # 구분자(문단, 문장, 단어 등)로 분할, 의미 고려
from langchain.text_splitter import CharacterTextSplitter  # 길이를 기준으로 분할

# 임베딩(텍스트를 숫자 벡터로 변환)
from langchain.embeddings import OpenAIEmbeddings
from langchain.embeddings import SentenceTransformerEmbeddings  # 문장 유사성 및 의미 최적화
from langchain.embeddings import HuggingFaceEmbeddings  # 감정 분석이나 도메인 특화작업 등 특정 목적에 필요한 모델 선택 가능

# 벡터DB에 저장
from langchain.vectorstores import Chroma  # 메타데이터(데이터를 설명하거나 정의하는 데이터) 기반 필터링
from langchain.vectorstores import FAISS  # 단순 유사도 기반

# 체인 생성
from langchain.chains import LLMChain  # 일반적인 체인
from langchain.chains.question_answering import load_qa_chain  # 검색용 체인

# 앞에서의 답변 내용을 기억하고 싶으면
from langchain.chains import ConversationChain

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함