18차시. State 이해
퀴즈 2 — question은 두고 query만 바꾸기
question은 그대로 두고 query만 새 검색어로 바꾸는 반환값을 작성하세요.
빈칸 코드에서 시작합니다.
def rewrite(state, new_query):
pass결과 보기 (예시 풀이)
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를 나누는 이유 (중요)