RAG2026-5일21차시 · 첫 번째 LangGraph 실습16 / 19← 이전목차다음 →MetaContents

21차시. 첫 번째 LangGraph 실습

퀴즈 1 — '없는' 질문에 검색 실패를 내는 더미 노드

질문에 '없는'이 있으면 검색 실패로 표시하는 더미 노드를 작성하세요.

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

Python
def dummy_retrieve(state):
    pass
결과 보기 (예시 풀이)
Python
# 진짜 검색 대신 쓰는 가짜(더미) 검색 노드입니다.
# 임베딩도, 벡터 저장소도 부르지 않습니다. 구조만 검증하려는 것이기 때문입니다.
def dummy_retrieve(state):
    # 질문이 없을 때도 멈추지 않도록 .get() 으로 읽습니다.
    question = state.get("question", "")

    # 질문에 '없는'이 들어 있으면 검색 실패를 흉내 냅니다.
    if "없는" in question:
        return {"documents": [], "retrieval_ok": False}

    # 그 밖의 질문은 문서 한 건을 찾은 것으로 칩니다.
    return {"documents": ["더미 문서"], "retrieval_ok": True}

# 확인 1: 평범한 질문 → 문서 1건, retrieval_ok=True
print(dummy_retrieve({"question": "환불 규정은?"}))

# 확인 2: '없는'이 들어간 질문 → 빈 리스트, retrieval_ok=False
print(dummy_retrieve({"question": "없는 내용 질문"}))

# 확인 3: question 키가 아예 없어도 오류 없이 돌아가는지
print(dummy_retrieve({}))

실행 결과

출력
{'documents': ['더미 문서'], 'retrieval_ok': True}
{'documents': [], 'retrieval_ok': False}
{'documents': ['더미 문서'], 'retrieval_ok': True}

채점 기준: 진짜 임베딩을 호출하면 오답이다.

관련 교안: 21차시 「3. 실습 ① — State와 더미 노드」

← 이전 절21차시 · 실습 1 — 첫 번째 LangGraph 실습 실습 따라 하기다음 절 →21차시 · 퀴즈 2 — 통과·상한·재시도 순으로 가르는 판단 함수