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

18차시. State 이해

퀴즈 2 — question은 두고 query만 바꾸기

question은 그대로 두고 query만 새 검색어로 바꾸는 반환값을 작성하세요.

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

Python
def rewrite(state, new_query):
    pass
결과 보기 (예시 풀이)
Python
def rewrite(state, new_query):
    # 사용자가 실제로 물은 question은 건드리지 않습니다.
    # 검색에 쓸 query 칸만 새 검색어로 바꿔 돌려줍니다.
    return {"query": new_query}

def merge(state, update):
    # LangGraph처럼 돌려받은 칸만 기존 State에 덮어씁니다.
    return {**state, **update}

state = {"question": "반품하고 싶은데 언제까지?", "query": "반품하고 싶은데 언제까지?"}
update = rewrite(state, "환불 신청 기한 규정")

# 확인 1: 반환값에는 query 하나만 들어 있어야 합니다.
print("반환값:", update)
new_state = merge(state, update)
# 확인 2: 합친 뒤 question은 원문 그대로, query만 바뀌어야 합니다.
print("question:", new_state["question"])
print("query   :", new_state["query"])

실행 결과

출력
반환값: {'query': '환불 신청 기한 규정'}
question: 반품하고 싶은데 언제까지?
query   : 환불 신청 기한 규정

채점 기준: question 키를 return하면 오답이다.

관련 교안: 18차시 「7. RAG용 State 설계하기」 › 7-2) question과 query를 나누는 이유 (중요)

← 이전 절18차시 · 퀴즈 1 — 덮어쓰기와 이어 붙이기 견주기다음 절 →18차시 · 정리