16차시. 1부 종합정리
7. 1부에서 남긴 자산 확인
출처: 원본 PDF 16차시_1부종합정리.pdf 15쪽 · 쪽 그림 15쪽
2부·3부에서 계속 쓸 것들입니다. 잘 보관되어 있는지 확인하세요.
| 자산 | 만든 차시 | 어디에 쓰이나 |
|---|---|---|
| 동작하는 RAG 코드 4종 | 15차시 | 22차시에서 그래프로 이식 |
| config.py (근거 포함) | 14차시 | 3부 전체에서 계속 사용 |
| 평가용 질문 20개 | 12차시 | 27 · 32 · 34차시 성능 비교 |
| 실패 사례 목록 10건 | 12차시 | 30 · 35차시 개선 대상 |
| 기준선 성능 기록 | 14차시 | 모든 개선의 비교 기준 |
| MIN_SCORE 실측값 | 9차시 | 24차시 Retriever Node |
| 프롬프트 v3 | 13차시 | 25차시 Generator Node |
| 인용 검증 코드 | 13차시 | 26차시 Verifier Node |
⚠️ 특히 이 두 가지는 꼭 챙기세요
① 평가용 질문 20개
앞으로 개선할 때마다 이걸로 측정합니다.
없으면 34차시 평가 파트가 통째로 막힙니다.
② 기준선 성능 기록
"1부 종료 시점 90%"라는 숫자가 있어야
3부에서 "구조 개선으로 몇 %p 올랐다"를 말할 수 있습니다.
파일로 저장하고 Git에 커밋해두세요.
실습 코드 · rag_app/config.py
실습 코드: 실습/src/rag_app/config.py · 위의 원본 PDF 16차시 15쪽 「7️⃣ 1부에서 남긴 자산 확인」과 이어집니다.
이 파일은 15차시 「3. 실습 ① — config.py」에 주석과 함께 전체가 실려 있습니다. 여기서는 이 차시에서 보는 부분의 해설과 실행 결과만 옮깁니다.
코드 해설
문서 앱의 경로·청크·모델·검색 기준 상수. LangGraph State는 쓰지 않습니다.
코드 앞에서 고정해 두는 말입니다.
- 읽는 키: 없음
- 쓰는 키: 없음
- 그래프:
- 앱 흐름에서 이 파일의 위치
- indexer가 DOC_PATH, CHUNK_*, EMBED_MODEL, INDEX_PATH를 읽음
- rag.py가 TOP_K, MIN_SCORE, LLM_MODEL, TEMPERATURE, PROMPT_VER, 안내 문장을 읽음
- BASE는 이 파일이 있는 rag_app 폴더입니다.
- DOC_PATH는 그 상위 두 단계의 data/manual.pdf 입니다.
함수로 나누지 않고 위에서 아래로 실행됩니다.
DOC_PATH = BASE.parent.parent / "data/manual.pdf"— ── 문서 처리 ──EMBED_MODEL = "text-embedding-3-small" # ⚠ 변경 시 인덱스 재생성— ── 임베딩 · 저장소 ──TOP_K = 5 # 3→5: +10%p (k=8은 노이즈로 하락)— ── 검색 ──LLM_MODEL = "gpt-4o-mini"— ── 생성 ──MSG_NO_DOC = "관련 자료를 찾지 못했습니다."— ── 메시지 ──
파일 맨 아래 실행 결과 샘플 주석은 실행되지 않습니다. 화면 출력은 다음 절에 다시 적어 두었습니다.