260921

u·2026년 9월 21일

TIL

목록 보기
23/30

Naive RAG (기본 RAG) → 개선 ⇒ Advanced RAG

청킹 전략

  • Fixed : 문자 수
  • Recursive : 길이 제한 + 구분자 (길이 제한 안에서 경계 우선)
  • Semantic : 의미 변화
    • 백분위를 높이면 더 의미가 관련이 없어야 짤리니까 청크가 줄어든다
    • 백분위가 크다는 건 더 의미 차이가 있어야 한다고 기준을 높이는 것
    • Semantic의 백분위가 높을수록 경계 기준이 엄격해져 보통 청크 수가 줄어듦

문맥 확장 전략

  • Parent - Child : 작은 자식으로 검색 → 부모 원문 반환
  • Sentence Window : 문장으로 검색 → 앞뒤 문장 반환
  • Auto-merging : 검색된 자식 비율 높 → 부모 병합, 낮 → 자식 유지

바닐라 RAG의 기본적인 방법론
-> 최적화는 내 도메인에 맞게 진행

청킹 전략
(1) Fixed, (2) Recursive, (3) Semantic
==> 일반적으로 2번 진행
==> 어떤 청킹 전략 쓸지는 골드셋 --> 평가해서 비교

문맥 확장 전략
(1) 자식 -> 부모 문서 반환 (부모 문서의 중복 X)
- 자식만 임베딩하고, 질문과 자식 청크의 유사도로 청크를 찾은 후 그 청크의 부모 문서만 반환
(2) Window 방식
- Sentence : 문장 앞뒤까지 같이 가져오는 방법
- Chunk : 현재 찾은 청크의 앞뒤 청크도 가져오는 방법
(3) AutoMerging
- 부모 청크 -> 자식 청크
- 자식 청크의 비율이 높으면 --> 부모를 반환
- 자식 청크의 비율이 낮으면 --> 자식 반환

4개의 청크가 반환이 된 경우 A문서 (청크 4), B문서 (청크 5)
A-1, A-2, A-3 --> A문서 전체
B-1 -> B-1 반환

RAG 시스템 설계시
- 어떤 전략대로 설계
- 왜 이런 전략을 선택했는지 이유도 명시

  1. RAPTOR : 원문을 묶고 요약 계층으로 검색하기
    1. 재귀요약
      • 원문 leaf → 임베딩 → 군집 → 군집별 요약 → L1
      • L1 요약 → 다시 임베딩 → 군집 → 요약 → L2
    2. 즉, 원문과 요약 계층을 함께 검색 후보로 사용 ⇒ 넓거나 종합적인 질문에서 개별 청크 검색만으로 놓칠 수 있는 주제를 보완 (RAPTOR 쓰는 이유)
      요약이 검색돼도 최종 근거는 연결된 원문 leaf로 되돌아가 확인 가능
    3. child_ids: 바로 아래 계층 연결
      leaf_ids: 최종 원문 근거 연결
  2. GPT → 군집 하나당 요약 노드 만들기
  3. Collapsed tree 검색
    1. 여러 계층의 노드를 하나의 검색 공간에서 함께 검색하는 방식으로, 질문에 따라 원문 leaf나 상위 요약 노드가 검색될 수 있다.

0개의 댓글