Skip to main content
Normalize 스테이지 — 흔히 파이프라인의 가장 큰 부분 — 는 원시 항목을 리트리벌 인덱스가 검색할 수 있는 구조화 청크로 파싱합니다.

왜 청킹?

리트리벌은 쿼리에 가장 관련 있는 가장 작은 콘텐츠 조각을 찾는 방식으로 동작합니다. 200페이지 PDF 통째로는 너무 굵음 (관련 없는 섹션이 시그널을 익사). 문장 하나는 너무 잘게 (컨텍스트 손실). 청크는 골디락스 단위입니다. 적절한 청크 크기는 콘텐츠에 따라 다름. 문서 페이지: 200-500 토큰. 채팅 트랜스크립트: 대화 통째. 코드: 파일 또는 함수. Nora 는 합리적 기본값을 갖지만 모든 블록이 튜닝 가능.

청커 종류

마크다운 청커

마크다운, HTML, 구조 좋은 PDF, Notion 페이지에.
  • 헤딩 계층에서 먼저 분할 (섹션 중간에서 자르지 않음).
  • 각 청크는 헤딩 경로 (Guides > Auth > OAuth) 를 메타데이터로 보유.
  • 폴백: 섹션이 너무 길면 ~1200자에서 캐릭터 분할, 100자 오버랩.

시맨틱 청커

작은 모델로 자연스러운 주제 경계 탐지. 느리고 비싸지만 명확한 헤딩 없는 산문에 대해 더 나은 청크 생성.

PDF 청커

레이아웃 있는 PDF 처리 — 컬럼, 각주, 표. 읽기 순서 보존. 선호에 따라 표를 HTML 또는 CSV 로 추출.

스프레드시트 청커

CSV, XLSX, Google Sheets 용. 두 모드:
  • Row-wise — 각 로우가 청크. 레코드 유사 데이터에 좋음.
  • Table-summary — 시트당 하나의 청크 (요약 + 원본 데이터 링크). 리트리벌이 레코드 조회가 아니라 주제형인 큰 표에 좋음.

코드 청커

언어 인식. 함수/클래스 경계에서 분할. 임포트와 파일 스코프 컨텍스트를 모든 함수 청크에 첨부 유지. 지원: JS/TS, Python, Rust, Go, Java, C++, C#, Ruby, PHP, SQL. 나머지는 캐릭터 분할로 폴백.

커스텀 청커 (인라인)

항목을 받아 청크 객체 리스트를 반환하는 JS/Python 함수 작성. 완전한 통제.

청크 메타데이터

모든 청크는 얻음:
  • Content — 텍스트.
  • Source ID — 유래된 소스 항목.
  • Path — 계층 위치 (예: 헤딩 경로, 시트 이름, 함수 이름).
  • Position — 소스 안의 청크 인덱스.
  • 커스텀 필드 — 상류에서 추가한 임의 메타데이터.
리트리벌은 이 중 어떤 것으로도 필터 가능. 부서로 태그하면 Agent 를 부서 청크로 제한 가능.

오버랩

일부 청커는 오버랩 지원 — 한 청크의 마지막 N 토큰을 다음 청크 시작에 재사용. 작은 오버랩 (50-100 토큰) 은 쿼리가 청크 경계를 넘을 때 리트리벌 리콜을 개선합니다.

테스트

모든 청크 블록은 Preview 버튼을 가짐. 샘플 소스 항목을 골라 정확히 어떻게 분할되는지 확인. 청커 설정 튜닝에 유용.

변경 감지

소스 항목이 바뀌면 영향받은 청크만 재계산·재인덱싱. Nora 가 청크-소스 계보를 추적합니다.