RAG2026-5일19차시 · Node 이해17 / 19← 이전목차다음 →MetaContents

19차시. Node 이해

퀴즈 2 — 문서 리스트만 돌려주는 검색 노드

검색 노드는 문서 리스트만 반환합니다. 답 문장은 넣지 마세요.

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

Python
def retrieve(state, found):
    pass
결과 보기 (예시 풀이)
Python
def retrieve(state, found):
    # 검색 노드는 근거를 모으는 일만 합니다.
    # 답 문장을 만드는 것은 generate 노드의 몫이라 answer는 넣지 않습니다.
    return {"documents": found}

def fake_search(query):
    # 진짜 벡터 검색 대신, 질문에 '환불'이 있으면 조각 두 개를 돌려줍니다.
    if "환불" in query:
        return ["환불은 수령 후 7일 이내", "환불은 영수증 지참"]
    return []

# 확인 1: 자료가 있는 질문이면 documents에 조각 두 개가 담깁니다.
s1 = {"question": "환불은 며칠 이내인가요?"}
print(retrieve(s1, fake_search(s1["question"])))
# 확인 2: 자료가 없어도 키는 documents 하나뿐이고 값만 빈 리스트입니다.
s2 = {"question": "대표이사 이름은?"}
r2 = retrieve(s2, fake_search(s2["question"]))
print(r2, "/ 키 목록:", list(r2.keys()))

실행 결과

출력
{'documents': ['환불은 수령 후 7일 이내', '환불은 영수증 지참']}
{'documents': []} / 키 목록: ['documents']

채점 기준: documents 키만 있어야 한다.

관련 교안: 19차시 「3. 좋은 노드의 4가지 조건」 › 3-3) 조건 ③ — 출력은 변경분만

← 이전 절19차시 · 퀴즈 1 — 지어내지 않고 안내만 하는 fallback 노드다음 절 →19차시 · 정리