当前位置: 首页 > wzjs >正文

怎么做物流网站代理b站官方推广

怎么做物流网站代理,b站官方推广,找设计工作哪个网站好,自动优化网站建设咨询LangChain组件Tools/Toolkits详解(6)——特殊类型注解Annotations 本篇摘要14. LangChain组件Tools/Toolkits详解14.6 特殊类型注解Annotations14.6.1 特殊类型注解分类14.6.1 InjectedToolArg构建运行时绑定值工具14.6.3 查看并传入参数14.6.4 在运行时注入参数14.6.5 其它特…

LangChain组件Tools/Toolkits详解(6)——特殊类型注解Annotations

  • 本篇摘要
  • 14. LangChain组件Tools/Toolkits详解
    • 14.6 特殊类型注解Annotations
      • 14.6.1 特殊类型注解分类
      • 14.6.1 InjectedToolArg构建运行时绑定值工具
      • 14.6.3 查看并传入参数
      • 14.6.4 在运行时注入参数
      • 14.6.5 其它特殊类型注解
    • 参考文献

本章目录如下:

  1. 《LangChain组件Tools/Toolkits详解(1)——Tools接口与创建工具概述》
  2. 《LangChain组件Tools/Toolkits详解(2)——装饰器@tool》
  3. 《LangChain组件Tools/Toolkits详解(3)——结构化工具StructuredTool》
  4. 《LangChain组件Tools/Toolkits详解(4)——处理Error》
  5. 《LangChain组件Tools/Toolkits详解(5)——返回产物artifact》
  6. 《LangChain组件Tools/Toolkits详解(6)——特殊类型注解》
  7. 《LangChain组件Tools/Toolkits详解(7)——工具调用与Toolkits》

本篇摘要

本章介绍LangChain组件Tools/Toolkits。

14. LangChain组件Tools/Toolkits详解

工具(Tools)是一种封装函数及其模式schema的方法,可以传递给聊天模型,使模型能够请求执行带有特定输入的工具函数,例如从数据库获取数据、发出API请求或运行自定义代码。LangChain中的tool抽象类将Python函数与定义函数名称、描述和预期参数的模式schema关联起来,以明确创建工具的作用及调用方式。本节将从Tools接口与创建工具概述、装饰器@tool、结构化工具StructuredTool、处理Error、返回产物artifact、特殊类型注解、工具调用和Toolkits等方面详细介绍工具。

14.6 特殊类型注解Annotations

在工具的函数签名中,可以使用一些特殊的类型注解(Special Type Annotations)来配置工具的运行时行为。本节将讲述其分类及使用方法。

14.6.1 特殊类型注解分类

常用的特殊类型注解有以下几种,下面注解将从工具的模式schema中移除相应的参数,这对于不应暴露给模型且模型不应控制的参数非常有用:

  • InjectedToolArg:值应在运行时使用.invoke或.ainvoke手动注入;
  • RunnableConfig:将RunnableConfig对象传递给工具;
  • InjectedState:将LangGraph图的整体状态传递给工具;
  • InjectedStore:将LangGraph存储对象传递给工具。

我们还可以使用Annotated类型与上面参数的字符串字面量(string literal)结合,为工具模式中暴露的相关参数提供描述,其调用格式为:

  • Annotated[type, “string literal”]:为参数添加描述,该描述将暴露在工具的模式中。

14.6.1 InjectedToolArg构建运行时绑定值工具

运行时绑定值:我们有时可能需要将仅在运行时已知的值绑定到工具,例如工具逻辑可能需要使用发起请求的用户ID。在大多数情况下,这些值不应由LLM(大语言模型)控制,因为允许LLM控制用户ID可能会导致安全风险,它们应由应用程序逻辑固定。为此我们使用InjectedToolArg注解来标记工具的某些参数,它允许从工具的模式中隐藏某些参数。下面将展示如何防止模型生成某些工具参数,并在运行时直接注入这些参数。

关于兼容性,本部分代码需要langchain-core >= 0.2.21,请确保已安装正确版本的包。另外对于LangGraph,请参考How to pass runtime values to tools,它讲述如何创建一个代理来跟踪给定用户最喜欢的宠物。

例如当工具需要在运行时动态注入user_id,首先以Anthropic为例创建LLM:

# !pip install -qU "langchain[anthropic]"
import getpass
import osif not os.environ.get("ANTHROPIC_API_KEY"):os.environ["ANTHROPIC_API_KEY"] = getpass.getpass("Enter API key for Anthropic: ")from langchain.chat_models import init_chat_modelllm = init_chat_model("claude-3-5-sonnet-latest", model_provider="anthropic")

然后通过使用InjectedToolArg注解user_id参数,告诉LangChain该参数不应作为工具模式的一部分暴露:

from typing import List
from langchain_core.tools import InjectedToolArg, tool
from typing_extensions import Annotateduser_to_pets = {}
@tool(parse_docstring=True)
def update_favorite_pets(pets: List[str], user_id: Annotated[
http://www.dtcms.com/wzjs/88882.html

相关文章:

  • 网站优化 工具国外搜索引擎网站
  • 做国际网站怎么做网址大全是ie浏览器吗
  • 东莞网站建设seo精准营销及推广
  • 怎样做吓人网站宁波seo关键词培训
  • 专业的美容网站建设淘宝店铺怎么免费推广
  • 南京企业网站设计公司谷歌推广真有效果吗
  • 超链接 网站网络营销策略分析案例
  • 义乌批发市场进货网搜索引擎排名优化是什么意思
  • 网站跳出创建网站的基本步骤
  • 做网络推广的多少钱一个月网站优化外包
  • 专门做简历的网站有哪些直通车关键词怎么选 选几个
  • wordpress制作数据排行榜seo网站页面优化包含
  • 博山区住房和城乡建设局网站杭州网站优化公司
  • 做外贸女装有哪些网站有哪些今日头条官网首页
  • 铜川网站建设网络营销推广方式包括哪几种
  • 南城网站建设公司阿里云域名
  • 企业网站建设流程图百度问问我要提问
  • 建立品牌网站的成人教育培训机构
  • 个人帮企业做网站西安百度推广竞价托管
  • 网站去哪做如何做好网络营销
  • 徐州微网站开发公司怎样宣传自己的产品
  • 公司网站如何备案域名检测查询
  • 电商平面设计师百度seo关键词排名技术
  • 做茶叶网站公司友情链接软件
  • 网站开发技术 java实时新闻
  • 网站 优化 分析在线网页制作系统搭建
  • 个人做网站时不要做什么样的网站网络营销顾问
  • seo网站推广如何做优化课程设置
  • 快速优化网站排名搜索西安百度网站快速优化
  • dw软件做二级连接网站免费做网站怎么做网站吗