RAG2026-5일32차시 · 고도화된 Modular RAG16 / 18← 이전목차다음 →MetaContents

32차시. 고도화된 Modular RAG

퀴즈 2 — 문서 질문만 검색으로 보내기

document가 아니면 검색 함수를 호출하지 마세요.

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

Python
def dispatch(intent, search, other):
    pass
결과 보기 (예시 풀이)
Python
# 질문 유형이 document일 때만 검색 함수를 부릅니다.
def dispatch(intent, search, other):
    # 인사, 계산, 범위 밖 질문은 검색하지 않고 다른 처리로 보냅니다.
    if intent != "document":
        return other(intent)
    # 문서 질문만 검색합니다.
    return search()

# 검색이 몇 번 불렸는지 세기 위한 가짜 검색 함수입니다.
calls = []

def fake_search():
    calls.append("search")
    return "근거 조각 2개로 답을 만듭니다."

def short_answer(intent):
    replies = {"greeting": "안녕하세요.", "calc": "계산 결과를 돌려줍니다.", "scope": "문서 밖 질문입니다."}
    return replies.get(intent, "처리할 수 없습니다.")

# 네 유형을 차례로 넣어 봅니다.
for intent in ["greeting", "calc", "scope", "document"]:
    print(f"{intent:<9} -> {dispatch(intent, fake_search, short_answer)}")

# 검색은 document 한 번만 불렸어야 합니다.
print("검색 호출 횟수:", len(calls))

실행 결과

출력
greeting  -> 안녕하세요.
calc      -> 계산 결과를 돌려줍니다.
scope     -> 문서 밖 질문입니다.
document  -> 근거 조각 2개로 답을 만듭니다.
검색 호출 횟수: 1

채점 기준: intent가 document일 때만 search를 호출한다.

관련 교안: 32차시 「1. 오늘 완성할 시스템」

← 이전 절32차시 · 퀴즈 1 — 검증 결과로 다음 노드 고르기다음 절 →32차시 · 정리