챗봇을 중지하는 함수를 정의하세요
이제 챗봇의 상태가 준비되었으니, 챗봇 그래프 전반의 워크플로를 관리하는 함수를 만들어야 해요. 먼저, state에 로드된 챗봇의 마지막 메시지에서 도구 호출이 있는지 확인하는 should_continue() 함수를 만들어 보겠습니다. 도구 호출이 없으면 챗봇은 멈춥니다. 도구가 호출되면 챗봇은 다음 작업으로 이동해요. 메시지 관리를 위해 다음 모듈이 미리 임포트되어 있어요.
from langgraph.graph import MessagesState, START, END
이 연습은 강의의 일부입니다
LangChain으로 에이전트형 시스템 설계하기
연습 안내
MessagesState를 사용해state매개변수의 입력 타입을 지정하세요.- 도구 호출을 확인하기 위해
state의"messages"에서 마지막 메시지에 접근하세요. - 마지막 메시지에
tool_calls가 포함되어 있다면 반환값을"tools"로 지정하세요. tool_calls가 없다면 대화를 종료하기 위해 반환값을END로 지정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Use MessagesState to define the state of the function
def should_continue(state: ____):
# Get the last message from the state
last_message = ____["____"][____]
# Check if the last message includes tool calls
if ____.____:
return "____"
# End the conversation if no tool calls are present
return ____