Naive RAG
검색(Retrieve) - 읽기(Read) 프레임워크
사전 단계
절차 | 설명 |
---|---|
Indexing | PDF, Word, Markdown 등에서 텍스트 데이터 추출 |
Chunking | 작은 단위로 분할 |
Embedding | Vector로 인코딩 |
Database | 임베딩된 Vector 저장 |
실행 단계
Retrieve
- Database에서 질문(Query)에 답변하기 위한 정보 검색
Generation
- 검색된 정보를 문맥(Context)에 추가하여 답변 생성
Naive RAG의 한계
쿼리에 대한 얕은 이해
- 쿼리와 문서 Chunk 사이의 의미론적 유사성이 항상 일치하는 것은 아님
- 검색을 위해 유사도 계산에만 의존하는 것은 쿼리와 문서 간의 관계에 대한 심층적인 탐색이 부족
검색 중복 및 노이즈
- 검색된 모든 Chunk를 LLM에 직접 공급하는 것이 항상 유익한 것은 아님
- 연구에 따르면 중복되고 노이즈가 많은 정보는 LLM이 핵심 정보를 식별하는 데 방해가 되어 잘못된 응답을 생성(Hallucination) 할 위험이 높아질 수 있음