노드와 엣지 추가하기
이제 StateGraph()가 준비되었으니, 챗봇의 노드를 그래프에 추가해 보세요! 미리 만들어진 START와 END 노드는 LangGraph에서 직접 가져오므로, 생성할 노드는 챗봇 노드 하나뿐이에요. 또한 대화의 흐름을 시작부터 끝까지 결정하는 엣지도 정의할 거예요. 노드와 엣지를 모두 추가했다면, 그래프를 컴파일해 쿼리로 실행할 준비를 하세요.
이 연습은 강의의 일부입니다
LangChain으로 에이전트형 시스템 설계하기
연습 안내
state의 현재"messages"에 대해llm.invoke()메서드를 사용해chatbot함수를 정의하고, 그 응답을 반환하세요..add_node()를 사용해chatbot함수를 참조하는"chatbot"라는 이름의 노드를 그래프에 추가하세요.- 대화 흐름을 정의하기 위해
.add_edge()를 사용해START노드를"chatbot"노드에, 그리고"chatbot"을END노드에 연결하세요. - 실행을 준비하기 위해
.compile()로 그래프를 컴파일하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define chatbot function to respond with the model
def chatbot(state: State):
return {"messages": [llm.____(____["____"])]}
# Add chatbot node to the graph
graph_builder.____("____", ____)
# Define the start and end of the conversation flow
graph_builder.____(____, "____")
graph_builder.____("____", ____)
# Compile the graph to prepare for execution
graph = graph_builder.____()