3차시. RAG 기본 구조 깊이 있게 이해하기
퀴즈 1 — 문서가 바뀌었을 때 다시 할 단계 고르기
문서가 바뀌었는지에 따라 다시 할 단계 이름을 반환하세요. 바뀌었으면 준비, 아니면 실행.
빈칸 코드에서 시작합니다.
def which_phase(document_changed):
pass결과 보기 (예시 풀이)
def which_phase(document_changed):
# 문서가 바뀌면 조각과 벡터를 새로 만들어야 하므로 준비 단계부터 다시 합니다.
if document_changed:
return "준비"
# 문서가 그대로면 만들어 둔 저장소를 쓰고, 질문마다 실행 단계만 돌립니다.
return "실행"
# 상황 세 가지로 호출해 봅니다.
situations = [
("반환 정책 문서를 새 판으로 바꿨다", True),
("고객이 색상을 물었다", False),
("같은 고객이 배송 기간을 또 물었다", False),
]
for desc, changed in situations:
# 문서가 바뀐 첫 줄만 '준비'이고 나머지는 '실행'이어야 합니다.
print(f"{desc} → {which_phase(changed)} 단계")
실행 결과
반환 정책 문서를 새 판으로 바꿨다 → 준비 단계
고객이 색상을 물었다 → 실행 단계
같은 고객이 배송 기간을 또 물었다 → 실행 단계채점 기준: 질문마다 인덱스를 다시 만들면 안 된다.
관련 교안: 3차시 「1. RAG 전체 파이프라인 이해하기」