以上定义输出结构的四种模式中,我们都是通过调用“with_structured_output”来获取结构化输出结果,除了这种方式外,还可以通过使用输出解释器来获取结构化输出结果。下面介绍这两种获取结构化结果的方式。
4.1 使用with_structured_output
这种方式是最新、最简洁的API,直接让模型“理解”你需要的数据结构,并返回解析好的对象。
此外,我们可以在with_structured_output方法中传入include_raw=True 参数,表示返回解析前的原始AIMessage ,从而访问令牌用量等元数据。
举例:
![图片[1]-4、获取结构化结果方式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-774.png)
![图片[2]-4、获取结构化结果方式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-775.png)
输出包含了完整的输出响应,包含三个字段
- raw:返回的原始AIMessage。
- parsed:解析后的输出
- parsing_error:解析错误,当前用的是Pydantic,校验,格式不符合schema会导致报错。其它三种方式不符合schema不会导致报错。
4.2 使用输出解析器(不推荐)
这种方法更传统,依赖于在提示词中明确指示模型输出特定格式的文本,然后使用解析器进行转换。
其流程是: 提示词指导 (引导生成指定类型) → 模型生成文本 → 解析器转换。
举例:
![图片[3]-4、获取结构化结果方式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-776.png)
![图片[4]-4、获取结构化结果方式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-777.png)
![图片[5]-4、获取结构化结果方式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-778.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















请登录后查看评论内容