6장. RAG 의 원리와 로컬 모델로 옮기기
정리
- LLM 은 학습 뒤의 일, 우리만 아는 문서, 자주 바뀌는 숫자를 모르고, 모를 때도 그럴듯하게 지어냅니다(환각).
- RAG 는 문서 조각을 검색하고(검색), 프롬프트에 붙여(증강), LLM 이 보고 답하게(생성) 합니다. 문서가 바뀌면 조각만 바꾸면 됩니다.
- 문서는 조항처럼 뜻이 한 덩어리인 곳에서 나누고, 번호와 제목을 남깁니다. 글자 수로 자르면 문장이 잘립니다.
- 한국어 키워드 검색은 2~3 글자 조각의 TF-IDF 로 하면 조사가 붙어도 겹칩니다. 그래도 뜻이 같고 낱말이 다른 질문은 놓칩니다.
- 프롬프트에는 역할, 문서만 보라는 규칙, 모를 때의 말, 문서 조각, 질문을 넣습니다. 모를 때의 말이 세면 지나친 거절이, 약하면 지어냄이 늡니다.
- Ollama 는 OpenAI 호환 API 를 주므로,
base_url과 모델 이름만 바꿔 외부 API 의 코드를 로컬 모델로 옮깁니다. 바꾼 뒤에는 같은 질문 묶음으로 다시 잽니다.