데이터가 많을 때를 대비해, 정보를 조각내어 저장하고 필요한 부분만 검색하는 방식(RAG)을 학습합니다.
| 개념 | 설명 | 비유 |
|---|---|---|
| 청킹 (Chunking) | 긴 문서를 AI가 처리하기 좋은 작은 단위로 쪼개는 것 | 책을 찢어서 포스트잇으로 만들기 |
| 임베딩 (Embedding) | 텍스트를 AI가 이해하는 숫자(좌표)로 변환하는 것 | 단어를 지도상의 위치로 바꾸기 (휴가와 리프레시는 가깝다) |
| Top-K 검색 (k-값) | 검색 시 가져올 문서 조각의 개수 | 질문과 관련된 상위 N개의 포스트잇 고르기 |
코드에서 search_kwargs={"k": 3}은 질문과 가장 비슷한 조각을 3개 가져오라는 뜻입니다.
k=3으로 설정하면 사실상 모든 데이터를 AI에게 주는 것과 같으므로, 검색기가 엉뚱한 것을 찾을 확률이 0%가 되어 답변 성공률이 극대화됩니다.데이터를 어떻게 자르느냐(청킹)에 따라 AI의 성능이 얼마나 달라지는지 코드로 직접 비교해 봅니다.
| 구분 | 청킹 정교화 (작게 쪼갬) | 청킹 미사용 (통째로 넣음) |
|---|---|---|
| 검색 품질 | 질문과 딱 맞는 부분만 정확히 찾아냄 | 관련 없는 내용까지 섞여서 검색됨 |
| AI 집중력 | 관련 정보가 농축되어 답변이 정확함 | 정보가 너무 많아 엉뚱한 소리를 함 (비용 상승) |
| 비유 | 포스트잇에서 답 찾기 | 두꺼운 백과사전 통째로 읽고 답 찾기 |