RAG2026-5일8차시 · 첫 번째 RAG 실습13 / 19← 이전목차다음 →MetaContents

8차시. 첫 번째 RAG 실습

10. 자주 막히는 지점

출처: 원본 PDF 08차시_첫번째RAG실습.pdf 18~19쪽 · 쪽 그림 18쪽 19쪽

증상원인과 해결
질문 하나에 30초 이상 걸림인덱싱이 ask 함수 안에 들어가 있습니다. 밖으로 빼세요
문서에 없는데 그럴듯하게 지어냄프롬프트에 "없으면 없다고 답하라"를 명시적으로 넣으세요
답은 나오는데 출처를 모름found의 metadata를 함께 출력하세요
같은 페이지가 3번 중복으로 나옴정상입니다. 한 페이지가 여러 조각으로 나뉘었기 때문입니다
답변이 자꾸 잘림max_tokens 기본값 문제입니다. ChatOpenAI에 값을 지정하세요
매번 실행할 때마다 비용이 발생10차시에서 인덱스 저장/불러오기를 배우면 해결됩니다

10-1) 디버깅 습관 — 프롬프트를 눈으로 보기

답이 이상할 때 가장 먼저 해볼 것은, LLM에게 실제로 무엇이 전달됐는지 확인하는 것입니다.

Python
def ask(question, k=3, debug=False):
    found = store.similarity_search(question, k=k)
    prompt = (...)

    if debug:
        print("=" * 55)
        print("LLM에게 실제로 전달되는 내용:")
        print(prompt)
        print("=" * 55)

    answer = llm.invoke(prompt).content
    ...

# 이상할 때는 debug=True로 실행
ask("환불 규정은?", debug=True)

실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)

출력
=======================================================
LLM에게 실제로 전달되는 내용:
아래 자료만 근거로 답하세요.
자료에 없는 내용은 '자료에서 확인할 수 없습니다'라고 답하세요.
추측하지 마세요.

[자료]
[1] (manual.pdf p.2)
4. 환불 및 교환 규정
환불
상품 수령 후 7 일 이내에 환불을 신청하실 수 있습니다.
단순 변심의 경우 왕복 배송비는 고객 부담입니다.
교환

[2] (manual.pdf p.2)
자동 모드에서는 내장된 먼지 센서가 실내 공기질을 감지하여 풍량을 자동으로 조절합니다.
필터 교체 알림 램프가 켜지면 필터를 확인해 주세요.
4. 환불 및 교환 규정
환불

[3] (manual.pdf p.2)
교환
상품 불량의 경우 30 일 이내에 교환이 가능합니다.
이 경우 배송비는 당사가 부담합니다.
5. 보증 및 무상 A/S

[질문] 환불 규정은?
=======================================================

💡 이 한 줄이 시간을 아껴줍니다
"왜 이상한 답을 하지?" 하고 몇 시간 고민하다가
프롬프트를 출력해보면
· 자료가 아예 안 들어가 있거나
· 엉뚱한 조각이 들어가 있거나
· 규칙 문장에 오타가 있는 경우
대부분 여기서 바로 발견됩니다.

← 이전 절8차시 · 9. 필수 검증 — 4가지 테스트다음 절 →8차시 · 체크리스트와 과제