8차시. 첫 번째 RAG 실습
퀴즈 1 — 자료가 없을 때 거절 문장 돌려주기
자료가 없으면 정해 둔 거절 문장을 반환하세요.
빈칸 코드에서 시작합니다.
NO = "자료에서 확인할 수 없습니다"
def reply(context, drafted):
pass결과 보기 (예시 풀이)
# 퀴즈 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) 프롬프트에 꼭 넣어야 할 두 줄