4.2 工具中访问

在上文介绍工具的自定义args_schema时我们介绍了两种方式:
基于pydantic模型
基于json_schema
实际上,Langchain底层在生成工具的schema时,如果参数类型注解是pydantic模型,也会被一并解
析。

图片[1]-4.2 工具中访问-大赛人网
图片[2]-4.2 工具中访问-大赛人网

下面的案例中,我们通过工具读写长期记忆中保存的用户信息

图片[3]-4.2 工具中访问-大赛人网
图片[4]-4.2 工具中访问-大赛人网
图片[5]-4.2 工具中访问-大赛人网
图片[6]-4.2 工具中访问-大赛人网
图片[7]-4.2 工具中访问-大赛人网
图片[8]-4.2 工具中访问-大赛人网

分析

  1. 前两次invoke通过相同的thread_id串联为一个会话,共享短期记忆
  2. context是运行时静态配置,每次invoke互相独立
  3. 长期记忆可以在任意位置访问,全局共享同一份信息
  4. tool参数列表中的ToolRuntime是Langchain / Langgraph运行时注入的,在工具schema中没有体
    现
  5. ToolRuntime的默认泛型是[None, Any],第一个是Context的泛型,第二个是State对象的泛型。
    如果不显式指定上下文对象的类型,则Langchain/Langgraph底层会认为上下文对象为None,
    invoke调用时传递了context就会抛出警告,所以这里将UserContext作为ToolRuntime的第一个
    泛型传递。
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容