22차시. RAG를 Graph로 바꾸기
퀴즈 2 — 문서 유무로 다음 노드 이름 고르기
문서가 있으면 generate, 없으면 fallback 노드 이름을 반환하세요.
빈칸 코드에서 시작합니다.
def route_after_retrieve(state):
pass결과 보기 (예시 풀이)
# retrieve 노드 다음에 갈 노드의 '이름'만 돌려주는 판단 함수입니다.
# 여기서 generate 나 fallback 함수를 직접 부르지 않습니다. 이동은 그래프가 합니다.
def route_after_retrieve(state):
# 문서가 한 건이라도 있으면 답변을 만들러 갑니다.
if state.get("documents"):
return "generate"
# 문서가 없거나 키가 없으면 안내 노드로 갑니다.
return "fallback"
# 확인 1: 문서가 있는 State → generate
print(route_after_retrieve({"documents": ["조각A", "조각B"]}))
# 확인 2: 빈 리스트 → fallback
print(route_after_retrieve({"documents": []}))
# 확인 3: documents 키가 아예 없어도 오류 없이 fallback
print(route_after_retrieve({"question": "대표이사가 누구인가요?"}))
실행 결과
generate
fallback
fallback채점 기준: 노드를 호출하지 않고 이름만 반환한다.
관련 교안: 22차시 「5. 실습 ③ — 단계별로 붙이기」 › 5-3) 3단계 — 분기와 fallback 추가