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

8차시. 첫 번째 RAG 실습

퀴즈 1 — 자료가 없을 때 거절 문장 돌려주기

자료가 없으면 정해 둔 거절 문장을 반환하세요.

빈칸 코드에서 시작합니다.

Python
NO = "자료에서 확인할 수 없습니다"

def reply(context, drafted):
    pass
결과 보기 (예시 풀이)
Python
# 퀴즈 1. 자료가 없을 때 거절 문장 돌려주기
# 프롬프트의 "자료에 없으면 없다고 답하세요"를, 모델을 부르기 전에 코드로 한 번 더 지킵니다.

NO = "자료에서 확인할 수 없습니다"

def reply(context, drafted):
    # 검색된 자료(context)가 비어 있으면, 모델이 써 둔 답(drafted)은 근거가 없습니다.
    # 빈 문자열 ""과 빈 리스트 []는 둘 다 not을 붙이면 True가 됩니다.
    if not context:
        return NO
    # 자료가 있을 때만 모델의 답을 그대로 돌려줍니다.
    return drafted

# 확인 1: 자료가 있으면 답을 그대로
print(reply("[1] (manual.pdf p.2) 상품 수령 후 7일 이내에 환불을 신청하실 수 있습니다.",
            "7일 이내에 신청하시면 됩니다."))

# 확인 2: 자료가 빈 문자열이면, 모델이 그럴듯한 답을 써 왔어도 거절 문장
print(reply("", "대표이사는 홍길동입니다."))

# 확인 3: 검색 결과 리스트가 비어 있어도 거절 문장
print(reply([], "보통 온라인 쇼핑몰은 7~14일 이내에..."))

실행 결과

출력
7일 이내에 신청하시면 됩니다.
자료에서 확인할 수 없습니다
자료에서 확인할 수 없습니다

채점 기준: context가 비어 있으면 NO만 반환한다.

관련 교안: 8차시 「4. 새로 배우는 것 ② — 근거 기반 프롬프트」 › 4-2) 프롬프트에 꼭 넣어야 할 두 줄

← 이전 절8차시 · 실습 1 — 첫 번째 RAG 실습 실습 따라 하기다음 절 →8차시 · 퀴즈 2 — 인덱스는 한 번만 만들고 질문만 반복하기