RAG2026-5일22차시 · RAG를 Graph로 바꾸기18 / 20← 이전목차다음 →MetaContents

22차시. RAG를 Graph로 바꾸기

퀴즈 2 — 문서 유무로 다음 노드 이름 고르기

문서가 있으면 generate, 없으면 fallback 노드 이름을 반환하세요.

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

Python
def route_after_retrieve(state):
    pass
결과 보기 (예시 풀이)
Python
# 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 추가

← 이전 절22차시 · 퀴즈 1 — 예전과 같은 키를 돌려주는 그래프 ask다음 절 →22차시 · 정리