21차시. 첫 번째 LangGraph 실습
퀴즈 1 — '없는' 질문에 검색 실패를 내는 더미 노드
질문에 '없는'이 있으면 검색 실패로 표시하는 더미 노드를 작성하세요.
빈칸 코드에서 시작합니다.
def dummy_retrieve(state):
pass결과 보기 (예시 풀이)
# 진짜 검색 대신 쓰는 가짜(더미) 검색 노드입니다.
# 임베딩도, 벡터 저장소도 부르지 않습니다. 구조만 검증하려는 것이기 때문입니다.
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}채점 기준: 진짜 임베딩을 호출하면 오답이다.