(几乎)任一LLM在bind_tools时,都是习惯先定义一个Function或BaseTool,然后再bind(bind_tools)具体方式可参考我的这篇文章
AI菜鸟向前飞 — LangChain系列之十三 - 关于Tool的必知必会
但这里的tool未必需要Function或BaseTool,例如,BaseModel也可以
通过convert_to_openai_function把转换成dict(也有人称json),再bind也行,我的公众号也有描述这种方式
BaseModel(Pydantic)
-
bind_tools
先定义
# 我们首先定义一个BaseModel
class Info(BaseModel):
""" 个人信息 """
nickname: str = Field(description="昵称")
name: str = Field(descrip