피드로 돌아가기
Dev.toAI/ML
원문 읽기
Chroma와 LangChain 기반 RAG 구축을 통한 지식 베이스 최적화
Building RAG with LangChain & Chroma: Two Hidden Pitfalls That Cost Me 6 Hours
AI 요약
Context
200여 개의 PDF 문서(약 80만 자)를 처리하는 내부 지식 베이스 구축 상황. 단순 Prompt 주입 시 GPT-4의 Context Window 초과 및 비용 상승 문제로 인해 Retrieval-Augmented Generation 구조 채택.
Technical Solution
- 대규모 문서의 효율적 처리를 위한 RecursiveCharacterTextSplitter 기반의 Chunking 전략 적용
- 로컬 실행 가능성 및 Metadata Filtering 지원 여부에 따른 Chroma Vector Store 선정
- OpenAIEmbeddings를 통한 텍스트의 벡터화 및 로컬 디렉토리 기반의 Persistence 계층 구현
- RetrievalQA 체인의 'stuff' 방식을 통한 관련 Chunk의 Prompt 직접 주입 구조 설계
- PromptTemplate을 활용해 LLM의 Hallucination을 억제하고 제공된 Context 내에서만 답변하도록 강제
실천 포인트
- Vector Store 선정 시 비용, Metadata Filtering 지원 여부, 배포 편의성을 우선순위로 검토 - LLM 답변의 결정성을 확보하기 위해 Temperature를 0으로 설정 - Context Window 제한을 고려하여 적절한 Chunk Size와 Overlap 수치 설정 및 검증