当前位置: 首页 > news >正文

输出解析器

常见解析器分类:

解析器 最终结果 适用场景 说明
StrOutputParser 字符串 str 只需要展示文本,不需要拆字段 最简单,通常就是取出模型输出正文内容
JsonOutputParser Python dict / list 希望模型返回 JSON,再交给程序继续处理 适合字段抽取、接口返回、工作流参数传递
PydanticOutputParser Pydantic 对象 需要强类型和运行时校验 适合对字段类型、长度、范围有明确要求的业务场景

schema: 可以看成“数据结构说明书”或“输出格式规范”。有点像ts的约束

结构化输出的本质,就是先定义 schema,再让模型按这个 schema 输出结果

常见结构化输出:

方案 定义方式 最终结果 是否支持运行时校验 适用场景
TypedDict Python 标准库 typing.TypedDict dict 只需要固定字段结构,不需要严格校验
Pydantic BaseModel + Field(...) Pydantic 对象 需要强类型、范围、长度、必填项校验
JSON Schema 标准 JSON Schema 字典 通常为 dict 视具体实现而定 需要跨语言、跨系统共享结构协议

在 LangChain 中,这些结构通常会和下面这种方式配合使用:

model.with_structured_output(...)
  • TypedDict / Pydantic / JSON Schema 是“定义输出结构”的方式;
  • with_structured_output(...) 是“让模型按这个结构输出并自动解析”的入口。

区分结构化输出和输出解析器

  • 输出解析器:更强调“模型已经输出了,我怎么把它转成程序可用的数据”;
  • 结构化输出:更强调“在模型输出之前,我先规定好它应该长什么样”。

 

方式一(只用输出解析器):

from langchain_core.output_parsers import JsonOutputParserparser = JsonOutputParser()
result = model.invoke("你是谁")
data = parser.invoke(result)print(data)
# 让模型生成结果,再由 parser 负责解析

方式二(只用结构化输出):

from typing import TypeDictclass Person(TypeDict):name: strage: intstructured_model = model.with_structured_output(Person)
result = structured_model.invoke("请返回一个任务信息")
print(reuslt)#不需要单独手写 parser,而是由 with_structured_output(...) 统一完成“约束输出 + 自动解析”
#更适合现代模型已经支持原生结构化输出的场景

方式三(结构化输出+额外校验处理):

structured_model = model.with_structed_output(Person)
result = structured_model.invoke("请返回一个人物信息")# 这里可以继续做业务校验、入库前清洗、字段转换等处理
print(reuslt)

 

http://www.jsqmd.com/news/757943/

相关文章:

  • 2.uvm_base_AI
  • 【无人机控制】基于matlab三维环岛内协作垂直起降无人机的实用分布式控制【含Mtlab源码 15403期】
  • Python开发者五分钟接入Taotoken实现OpenAI兼容调用
  • 离职前如何清理电脑个人隐私?【图文讲解】电脑个人隐私清理?深度C盘清理隐私清理?微信隐私清理?
  • 秒回天猫超市购物卡,简单方法解锁! - 团团收购物卡回收
  • C语言_冒泡排序:qsort
  • AgentRules Architect v3:多模型驱动的AI编程助手规则自动生成工具
  • 泉盛UV-K5/K6固件深度解析:从硬件限制到专业无线电平台的架构演进
  • 广东顺业钢材:东莞螺纹钢切割定尺优质厂家 - LYL仔仔
  • 5分钟掌握DoubleML:Python双重机器学习颠覆传统因果推断
  • 智能体反向代理架构:动态路由与多模型编排实战
  • 5分钟完成Windows 11系统优化:Win11Debloat终极轻量化指南
  • 普通人沃尔玛电子卡防骗攻略 日常使用+闲置变现全避坑 - 喵权益卡劵助手
  • 智能制造中人-人工智能交互与协作的关键技术
  • FanControl自动更新终极指南:4步实现智能风扇控制维护
  • 即刻变现!话费充值卡如何回收成现金? - 团团收购物卡回收
  • 如何用wiliwili在5个游戏主机上完美观看B站视频
  • 如何3分钟将B站视频转为文字稿:bili2text智能转换工具完全指南
  • 株洲旺成搬家:株洲日式搬家公司推荐 - LYL仔仔
  • Dify知识库在风电整机厂上线72小时后触发3次关键预警:如何用检索日志反哺知识图谱动态演化?
  • 安徽诚鑫物资回收:合肥电瓶回收厂家 - LYL仔仔
  • 上海乐时宜实业:黄浦花纹板定制有哪些 - LYL仔仔
  • INAV PID调参终极指南:从新手到专家的快速掌握方案
  • Windows风扇终极控制指南:三步打造你的静音高效散热系统
  • 杭州市钱塘区杭来环保科技:杭州水下打捞电话 - LYL仔仔
  • R 4.5时空数据管道重构:从read_sf()到read_stars_time()的5层IO优化,I/O吞吐量提升320%实测报告
  • 软包装水性化加速:从能不能用到谁跑得更快
  • Defender Control:完全掌控Windows Defender的终极免费开源工具
  • STM32CubeMX配置USB_HOST读写U盘,我踩过的这些坑你一定要避开
  • 对比直接调用原厂 API 与通过 Taotoken 聚合调用的配置复杂性与初期耗时