图与代理状态
您受委托为一款高中教育应用创建一个基础聊天机器人,用于回答问题。学校希望您使用 OpenAI 提供的 ChatGPT 版本作为其 LLM。您决定使用 LangGraph 通过节点构建一个聊天代理,这样可以更高效地管理这项任务。首先,您将定义一个代理的 State() 用于存储代理数据,并设置一个 StateGraph() 对象来管理代理的工作流。
本练习及后续练习所需的模块已为您导入:
from langchain_openai import ChatOpenAI
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
本练习是课程的一部分
使用 LangChain 设计 Agentic 系统
练习说明
- 使用
ChatOpenAI()和模型"gpt-4o-mini"来设置llm。 - 使用
TypedDict定义State类,以管理聊天机器人的数据。 - 使用
add_messages将messages指定为Annotated的list。 - 使用
State初始化一个StateGraph实例,用于构建聊天机器人的工作流。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Define the llm
llm = ____(model="____", api_key="OPENAI_API_KEY")
# Define the State
class State(____):
# Define messages with metadata
messages: ____[____, ____]
# Initialize StateGraph
graph_builder = ____(____)