展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 分清两个search的数据来源
- 先运行重名反例审计
- 建立两个FunctionToolset
- 用前缀组合工具集
- 用离线TestModel核对真实定义
- 审查工具结果的业务ID
- 换真实模型时另做选择验收
1. 分清两个search的数据来源
databases.json把设备D-07与客户C-07放在不同集合。两者工具都叫search时,模型工具目录会有冲突,不能用看似相似的ID掩盖归属。
2. 先运行重名反例审计
audit.py检查negative-tool-names.json的两个search确实重复,再列出期望的devices_search与customers_search。它只检查作者输入,不代替SDK验证。
本题独立目录执行
python reference/audit.py3. 建立两个FunctionToolset
run_sdk.py实际注册两个无参数只读search函数。装饰器分别绑定在devices和customers工具集上,返回各自数据,不能在一个函数里暗中猜数据源。
本题SDK或目标环境入口
python reference/run_sdk.py4. 用前缀组合工具集
将devices.prefixed("devices")和customers.prefixed("customers")传入CombinedToolset。前缀从模型可见定义中解决重名,原始函数名不必改。
5. 用离线TestModel核对真实定义
执行run_sdk.py,读取last_model_request_parameters.function_tools。只有出现两个不同完整名称且来源正确才算通过;本题TestModel是SDK合成测试提供方,不是语言模型。
6. 审查工具结果的业务ID
从实际TestModel输出找到设备与客户结果,各自核对D-07/C-07。完整工具名正确但函数返回错集合仍然算失败。
7. 换真实模型时另做选择验收
在自己的授权环境把模型替换为兼容provider,分别问设备与客户问题并保存实际tool_call。工具目录测试通过不证明真实模型一定选对工具。
怎样确认已经完成
- 不存在重名
- 两次查询各命中正确数据源
- 无关工具不出现
- 已运行真实Pydantic AI工具集和TestModel离线调用,验证前缀定义与各自返回数据。TestModel为合成提供方,没有真实LLM或付费调用。
常见问题
Pydantic AI两个工具同名怎么办?
将不同数据源的FunctionToolset分别prefixed,再组合;不要仅改工具描述。包内真实SDK验证devices和customers前缀消除同名search冲突。
Toolsets怎么给不同数据源加工具前缀?
先给工具集绑定来源前缀,再通过CombinedToolset对外展示,核对实际schema名称与返回source ID。此包使用离线TestModel,不是在线模型成功率。
这篇教程哪些步骤已经真正执行?
已运行真实Pydantic AI工具集和TestModel离线调用,验证前缀定义与各自返回数据。TestModel为合成提供方,没有真实LLM或付费调用。



