-
Chunking in RAG applicationDEV 2024. 11. 12. 20:13
사진: Unsplash 의 Tetiana Bykovets 이전글
2024.11.08 - [DEV] - simple RAG pipeline
simple RAG pipeline
RAGRetrieval augmented generation (RAG: 검색 증강 생성)할루시네이션, 학습되지 않은 최신 데이터, 메모리 이슈해결RAG의 간단한 인덱싱 파이프라인 4단계원본 데이터에서 데이터 로딩(load data)큰 문서를
developer-as-job.tistory.com
2024.11.09 - [DEV] - advanced RAG
advanced RAG
RAG overviewNaive RAGhttps://developer-as-job.tistory.com/48 simple RAG pipelineRAGRetrieval augmented generation (RAG: 검색 증강 생성)할루시네이션, 학습되지 않은 최신 데이터, 메모리 이슈해결RAG의 간단한 인덱싱 파이
developer-as-job.tistory.com
RAG pipeline 중에서 Data Indexing 부분에 관한 이야기(아래 그림의 1,2,3,4)
RAG pipeline Chunking
chunking & embedding & loading - 청킹은 대규모 텍스트 데이터 모음을 더 작고 의미상 의미 있는 단위로 나누는 프로세스
- 최적의 청크 크기를 찾는 것이 간단하진 않다.
- 덩어리가 너무 작으면 텍스트의 전체 의미를 포착하는 데 필요한 컨텍스트가 부족
- 청크가 너무 크면 여러 아이디어나 주제가 포함되어 특정 쿼리에 대한 청크의 관련성이 희석
- 동일한 쿼리, 시스템을 사용하는 경우에도 청크 크기가 다르면 검색된 결과가 다를 수 있으므로 실험과 평가가 필요
- 문제는 모든 경우에 적용되는 최적의 청크 크기는 없는 것 같다. 아마도..
- 청크를 임베딩한 결과(고차원 벡터값)를 vectorDB에 저장하여 유사도 검색
embedding Chunking strategy
일반적인 RAG
- 문서 → 청크s → 각 청크를 vectorDB에 저장, 색인 → 검색 시 인베딩된 쿼리로 유사한 청크 추출
standard RAG 하위 청크 인덱스
- 노이즈 제거
- 사용자 쿼리와 더 정확하게 일치하는 명확한 주제를 갖을 수 있다.
- '관련된 정보가 없음'을 더 잘 알 수 있다.
하위 청크 인덱스 LLM이 청크에 대한 질문 생성후 인덱싱
- 청크를 직접 인덱싱 하지 않고, LLM이 청크에 대한 질문을 생성 후 인덱싱
- HyDE와 반대 방식
- HyDE = 유저 질의 → 검색전 LLM이 가상 답변을 만들고 → 가상답변으로 유사도 검색
- 질의와 가장 관련성 높은 LLM 질문과 비교 → 해당 청크를 검색
- 유저가 매우 명확한 질문을 작성하지 않는 경우 효과
- 질의와 관련된 청크를 파악하는 대신, 답변이 이미 존재하는 기존 질문에 매핑하기 때문
LLM이 청크에 대한 질문 생성후 인덱싱 LLM이 청크를 요약후 인덱싱
- 청크를 요약 후 인덱싱
- 청크에 쿼리에 유용하지 않은 중복된 정보나 관련 없는 세부 정보가 있을 때 유용
- 대명사 → 명사
LLM이 청크를 요약후 인덱싱 다음글
2024.11.13 - [DEV] - ETL, ECL and vector DB
ETL, ECL and vector DB
이전글2024.11.12 - [DEV] - Chunking in RAG application Chunking in RAG application이전글2024.11.08 - [DEV] - simple RAG pipeline simple RAG pipelineRAGRetrieval augmented generation (RAG: 검색 증강 생성)할루시네이션, 학습되지 않은
developer-as-job.tistory.com
728x90'DEV' 카테고리의 다른 글
Multimodal RAG (2) 2024.11.14 ETL, ECL and vector DB (0) 2024.11.13 RAG 개선, 평가 방법 (0) 2024.11.11 vectorDB 없이 검색api만으로 RAG app만들기 (2) 2024.11.10 advanced RAG (0) 2024.11.09