使用@tool装饰器定义工具:args_schema

使用Pydantic模型定义

pydantic类型的定义

BaseModel基类

通过继承核心基类BaseModel定义数据模型,从而声明字段结构,类型约束,默认值以0及校验规则。

注意:BaseModel子类初始化时,不接收位置参数,字段值必须以关键字参数的形式传入,否则报错

添加描述、默认值

可以使用Literal类型限定参数为固定选项

Literal:表示字段不能是任意某种类型的值,而只能是几个固定字面量之一。

举例1:

使用Json Schema定义

在LangChain中,还可以直接使用JSON Schema字典来定义工具的参数模式。

因为工具参数模式可以基于数据库配置或用户输入在运行时动态生成,所以这种方式特别适合参数结构需要动态生成的场景

应该传递给args_schema的只有 parameters 对应的JSON字符串,即

举例:

通过 @tool(args_schema=json_schema_dict) 将一个符合 JSON Schema 标准的字典与工具函数关

联。

相关推荐
烬羽2 小时前
LangChain v1 中间件实战:不碰主流程,也能给 Agent 装上"外挂"
后端·langchain·agent
7哥♡ۣۖᝰꫛꫀꪝۣℋ18 小时前
LangChain(tool)定义使用
langchain
終不似少年遊*1 天前
【安全业务Agent】从场景到编排
python·react.js·ai·langchain·agent·安全架构·工作流
我真会写代码2 天前
LangChain 从0入门:模型、消息、Prompt、Tools、记忆、Agent与LangSmith实战
langchain·prompt
GISer_Jing2 天前
SuperAgent
ai·langchain
前端精髓2 天前
langchain 短期记忆(状态)动态运行时上下文
python·langchain
在努力的前端小白3 天前
基于FastAPI+LangChain+LangGraph+Agent+多模态的AI Agent 有渔渔具网站
人工智能·langchain·vue·fastapi
用户9421812761343 天前
两条线:LangGraph 如何把状态流和控制流拆开(AI 生成)
langchain
gugugu.3 天前
同一个 ReAct,两种手写方式:LangChain 文本协议 vs LangGraph 状态图
ai·langchain
掘黄金的打工人3 天前
LangChain PromptTemplate 提示词模板
langchain·ai编程