Level 1: Naive RAG (PoC)
목표: “될 것 같다”를 증명 + 나중에 고치기 쉬운 흔적(Trace/Prompt 버전/평가 기록) 남기기
아키텍처
구현 체크리스트
1. 샘플 데이터 준비
1. 샘플 데이터 준비
- 대표 문서 20~50개 선정 (실제 사용할 데이터의 축소판)
- 텍스트 추출 및 기본 정제 (불필요한 헤더/푸터 제거)
- 테스트 질문 20~30개 작성 (예상 답변 포함)
2. 인덱싱 파이프라인
2. 인덱싱 파이프라인
- Chunking: Fixed-size + overlap (예: 500자, overlap 100자)
- Embedding 모델 1개 선택 (예:
text-embedding-3-small) - Vector DB 선택 및 적재 (예: Chroma, Qdrant)
3. 검색 + 생성
3. 검색 + 생성
- Dense Retrieval: top-k 설정 (예: k=5)
- 프롬프트 템플릿 작성 (컨텍스트 + 질문 → 답변)
- LLM 모델 1개로 답변 생성 (예:
gpt-4o-mini)
4. LLMOps 최소 세팅
4. LLMOps 최소 세팅
- Tracing 활성화 (요청 1건 = Trace 1개)
- Prompt v0를 허브/레지스트리에 등록 (버전 식별 가능)
- 스팟체크 결과를 Score/코멘트로 기록
5. 수동 스팟체크
5. 수동 스팟체크
- 20~30개 질문으로 답변 품질 수동 평가
- “쓸만함/아쉬움/틀림” 3단계로 라벨링
- 결과 기록 및 개선 포인트 정리
코드 예제
기본 RAG 파이프라인
LLMOps 최소 세팅 (LangSmith)
LLMOps 최소 세팅 (Langfuse)
Gate 1 통과 기준
기능/품질
| 기준 | 목표 |
|---|---|
| 정답 “쓸만함” 휴먼 평가 | ≥ 60% (20~30문항) |
| 치명적 환각 (근거 없는 확답) | ≤ 20% |
LLMOps
| 기준 | 목표 |
|---|---|
| Trace 커버리지 | ≥ 80% (대부분의 요청이 트레이스로 기록) |
| Prompt v0 | 허브/레지스트리에 등록 완료 (버전 식별 가능) |
| 스팟체크 결과 | Score/코멘트로 기록 (회귀 비교 가능) |

