11차시. Retriever 기초 실습
체크리스트와 과제
원본 PDF 끝부분의 체크리스트, 과제, 다음 차시 미리보기를 한 페이지에 모았습니다.
이번 차시 체크리스트
출처: 원본 PDF 20쪽 · 쪽 그림 20쪽
개념 이해
□ Retriever가 왜 필요한지 설명할 수 있다
□ similarity와 MMR의 차이를 예로 들 수 있다
□ k를 무작정 늘리면 왜 나쁜지 안다
□ metadata 필터의 활용 상황을 안다
□ 문맥에 번호와 출처를 붙이는 이유를 안다
실습
□ as_retriever로 retriever를 만들었다
□ similarity와 MMR 결과를 직접 비교했다
□ k별 점수 분포를 확인해 적정 k를 정했다
□ score_threshold 방식을 써봤다
□ metadata filter로 범위를 좁혀봤다
□ build_context로 번호가 붙은 문맥을 만들었다
□ retriever.py 모듈을 완성했다
과제
출처: 원본 PDF 20쪽 · 쪽 그림 20쪽
🎯 이번 차시 과제
1. k 결정 근거 만들기
질문 5개로 k=1,3,5,10 실험을 돌리고 표를 채우세요.
| 질문 | k=1 | k=3 | k=5 | k=10 | 적정 k |
(각 칸에는 기준 통과 조각 수를 적습니다)
결론: 내 문서의 적정 k는 __ 이고, 이유는 ____ 입니다.
2. MMR이 유리한 질문 찾기
similarity로는 한쪽만 나오고
MMR로는 양쪽이 나오는 질문을 2개 찾으세요.
(힌트: "A와 B의 차이는?" 같은 비교 질문)
3. 필터 실습
문서 2종 이상을 인덱싱하고 category를 붙인 뒤,
필터 유무에 따라 결과가 어떻게 달라지는지 비교하세요.
다음 차시 미리보기
출처: 원본 PDF 21쪽 · 쪽 그림 21쪽
12차시: RAG 품질 문제
여기까지 오면 RAG가 꽤 잘 동작합니다.
그런데 여전히 가끔 이상한 답을 합니다. 왜일까요?
다음 차시에는 실패를 정면으로 다룹니다.
· 검색 실패 · 문맥 부족 · 환각 · 노이즈 혼입
· 증상만 보고 원인 단계를 좁히는 진단법
· 내 RAG를 일부러 무너뜨려 약점 찾기
· 실패 사례 목록 만들기 (35차시까지 씁니다)
잘 되는 것만 보면 실력이 늘지 않습니다.
💬 마무리
오늘 배운 Retriever는 기능적으로 대단한 것이 아닙니다. 어제 하던 검색을 한 겹 감쌌을 뿐입니다.
하지만 이 한 겹이 중요합니다. 17차시부터 LangGraph를 배우면 검색을 하나의 독립된 노 드로 다루게 되는데, 오늘 만든 retriever.py가 그대로 그 노드가 됩니다.
그리고 MMR과 k 실험에서 보셨듯이, 검색 설정 하나가 답변 품질을 바꿉니다. 비싼 모델로 바꾸기 전에 검색부터 손보세요. 훨씬 싸고 효과가 큽니다.
다음 차시에서 만나요! 🔍