文章目录
- 1 自定义状态
- 2 自定义工具
-
- 2.1 完善工具human_assistance
- 2.2 浏览器工具baidu_search
- 3 聊天机器人
-
- 3.1 绑定工具的聊天模型
- 3.2 聊天机器人(带记忆)
- 4 调用图
-
- 4.1 调用工具时中断
- 4.2 人工提供信息恢复
- 4.3 查询存储的状态
- 4.4 手动更新状态
- 5 参考附录
使用LangGraph,在状态中填充状态键,在不依赖消息列表的情况下定义复杂的行为,添加额外的字段。
1 自定义状态
到目前为止,我们依赖于一个带有一个条目的简单状态(消息列表)。你可以用这个简单的状态走得更远,但是如果你想在不依赖消息列表的情况下定义复杂的行为,你可以在状态中添加额外的字段。
在这里,我们将演示一个新场景,其中聊天机器人使用它的搜索工具来查找特定信息,并将它们转发给人类进行审查。让聊天机器人研究一个实体的生日。
我们将为状态添加name和birthday键:
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph.message import add_messages
class MyState(TypedDict):
messages: Annotated