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