37

실습: 제조 문서 청킹 구현

Day 2: 청킹 & 임베딩

학습 목표
  • RecursiveCharacterTextSplitter로 문서를 청킹할 수 있다
  • 제조 문서에 맞는 커스텀 구분자를 설정할 수 있다
  • 청킹 결과를 비교하고 최적 설정을 찾을 수 있다

제조 문서 청킹 실습

4가지 청킹 전략을 직접 구현하고 결과를 비교한다.


환경 설정

pip install langchain langchain-community
pip install langchain-experimental  # 시맨틱 청킹용

실습 목표

  1. 고정 크기 청킹으로 SOP 문서 분할
  2. 재귀적 분할 (기본 vs 커스텀 구분자) 비교
  3. SOP 구조 기반 청킹 구현
  4. 결과 비교: 어떤 전략이 절차를 잘 보존하는가?
에디터 로딩 중...
힌트 보기
  • RecursiveCharacterTextSplitter에 is_separator_regex=True를 설정하면 정규식 구분자를 쓸 수 있다. 구분자는 raw 문자열로 적는다.
  • chunk_size는 토큰 수가 아니라 문자 수다. 한글의 글자당 토큰 수는 토크나이저마다 다르므로 직접 재는 편이 빠르다. `import tiktoken; enc = tiktoken.get_encoding("o200k_base"); len(enc.encode(text))` 로 자기 문서를 재보라.
  • chunk_overlap은 상한이지 약속이 아니다. 구분자 경계에 맞춰 물러나므로 요청한 값보다 적게 겹치는 것이 보통이다. solutionCode의 measured_overlap()이 실제 겹친 글자 수를 세어 준다.
  • SOP 구조 기반 청킹에서 빈 줄을 무시하면 섹션 감지가 더 정확해진다.
정답 보기
에디터 로딩 중...
AI로 학습하기 — 꿀팁
청킹 전략을 AI와 검증하기AI 학습 팁

어떤 청킹 크기가 좋을지 AI에게 근거와 함께 물어보고, 시뮬레이터 결과와 비교해보세요.

제조 정비 매뉴얼을 RAG용으로 청킹하려고 해. 청크 크기와 오버랩을 어떻게 잡아야 검색 정확도가 높을지 트레이드오프와 함께 추천해줘.
이 팁이 도움이 됐나요?
실습 — 직접 해보기
Document Chunker
같은 SOP를 다섯 전략으로 갈라 보고, 오버랩을 0과 100으로 바꿔 경계가 어떻게 달라지는지 본다. 볼 것은 청크 수가 아니라 경계에서 무엇이 잘렸는가다. 의심할 것: 전략을 바꾸면 '내용 보존도'가 함께 움직이는데, 그것이 전략의 성질인지 이 문서의 성질인지 다른 문서로 한 번 더 확인하라. 결과는 JSON으로 내보내 Embedding Explorer에 그대로 넣을 수 있다.
용어