使用@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 标准的字典与工具函数关

联。

相关推荐
BD_Marathon14 小时前
工具的定义方式2:使用@tool装饰器(推荐)
langchain
爱泡脚的鸡腿15 小时前
langchain学习-D1-了解langchain家族与rag
langchain
读书读傻了哟15 小时前
langfuse部署相关
langchain·language model·langfuse
小易老师AI实战17 小时前
LangChain + MCP 协议:Agent 接入联网搜索(Tavily MCP)完整实践
langchain·agent·ai智能体·大模型应用·mcp·联网搜索
hackchen20 小时前
LangChain 学习第 2 课 - 提示词模板(Prompt Template)
学习·langchain·prompt
for_ever_love__21 小时前
LangChain 1.0 迁移指南:哪些 API 变了,怎么改
chatgpt·langchain·升级·新版本·迁移·变化·1.0
for_ever_love__1 天前
LangChain 结构化输出:让模型稳定吐出符合 schema 的 JSON
langchain·json
flash俊杰2 天前
给 7B 小模型当 Agent 框架:真机三轮排障,十条失败链逐个补
langchain
打工仔折腾 AI2 天前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战