1차시. 과정 이해와 RAG 개요
퀴즈 1 — 조각에 정답이 있는지로 실패 단계 가리기
조각 안에 정답이 있는지로 실패 종류를 나누는 함수를 작성하세요.
빈칸 코드에서 시작합니다.
def failure_kind(answer_in_chunk):
# True면 생성, False면 검색
pass결과 보기 (예시 풀이)
def failure_kind(answer_in_chunk):
# 검색해 온 조각 안에 정답이 있었다면 검색은 제 몫을 한 것입니다.
# 그런데도 답이 틀렸다면 문장을 쓰는 생성 쪽 잘못입니다.
if answer_in_chunk:
return "생성"
# 조각에 정답이 아예 없었다면 처음부터 엉뚱한 근거를 가져온 것입니다.
return "검색"
# 답이 틀린 사례 두 개를 놓고 어느 단계 탓인지 가려 봅니다.
cases = [
("조각에 '반환은 7일 이내'가 있는데 답은 '30일'", True),
("가져온 조각이 배송 안내뿐이라 반환 기한이 없음", False),
]
for desc, in_chunk in cases:
# 첫 줄은 '생성', 둘째 줄은 '검색'이 나와야 합니다.
print(f"{desc} → {failure_kind(in_chunk)} 단계 문제")
실행 결과
조각에 '반환은 7일 이내'가 있는데 답은 '30일' → 생성 단계 문제
가져온 조각이 배송 안내뿐이라 반환 기한이 없음 → 검색 단계 문제채점 기준: True는 생성, False는 검색만 반환하면 된다.