展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 把完整与缺项询价分开
- 定义两种互斥结果
- 用Decimal先算作者真值
- 验证联合类型与坏输出
- 把联合类型交给真实Agent
- 分别运行两种询价路径
- 交付分支和金额验收
1. 把完整与缺项询价分开
requests.json中Q1有quantity=4和单价12.50,Q2没有数量。不能把缺数量默认成1,更不能只因为模型能输出JSON就当成可报价。
2. 定义两种互斥结果
Quote保留kind、quantity和total;NeedsInfo只保留kind与missing。两类都禁止extra字段,防止报价对象同时夹带缺项提示。
本题独立目录执行
python reference/audit.py3. 用Decimal先算作者真值
运行audit.py复算4×12.50=50.00。author-outputs.json明确是作者参考输出,不冒称来自模型;业务算术检查独立于模型。
本题SDK或目标环境入口
python reference/run_sdk.py4. 验证联合类型与坏输出
运行run_sdk.py,TypeAdapter应分别接受Quote/NeedsInfo,拒绝negative-mixed-output.json的空数量与混杂字段。保留完整ValidationError原因。
5. 把联合类型交给真实Agent
脚本实际构造Agent(output_type=[Quote,NeedsInfo]),但没有运行该Agent。授权使用真实provider时,先确认它的工具或原生结构化输出支持情况。
6. 分别运行两种询价路径
在自己的环境给Q1/Q2逐条推理,缺数量必须得到NeedsInfo,完整请求必须满足数量和总价。任何半成品报价都不能因通过语法校验而放行。
7. 交付分支和金额验收
保存原始模型输出、最终类型与独立Decimal复算结果。JSON结构合格、分支选对和金额正确是三项验收,本文只实测作者数据与类型契约。
怎样确认已经完成
- 缺数量只能追问
- 成功报价必须字段完整
- 不能混合两类字段
- 已用真实Pydantic验证两种互斥类型并拒绝混杂反例,已构造Pydantic AI联合输出Agent;未运行模型分支选择。
常见问题
Pydantic AI怎么同时返回报价或补充信息请求?
定义Quote与NeedsInfo两种明确schema作为output_type联合,并禁止无关额外字段。包内真实校验联合输出,没执行Agent模型。
询价资料没填完整,怎么阻止Agent生成半成品报价?
缺数量等必需字段应返回NeedsInfo,不能填猜测的价格形成Quote。混合两种结构的负例由严格schema拒绝。
这篇教程哪些步骤已经真正执行?
已用真实Pydantic验证两种互斥类型并拒绝混杂反例,已构造Pydantic AI联合输出Agent;未运行模型分支选择。



