type
Post
status
Published
date
Oct 6, 2025
slug
summary
tags
prompt
人工智能
category
技术分享
icon
password

输出解析器分类

LangChain有许多不同类型的输出解析器:
  • StrOutputParser:字符串解析器
  • JsonoutputParser:JSON解析器,确保输出符合特定JSON对象格式
  • XMLOutputParser:XML解析器,允许以流行的XML格式从LLM获取结果
  • CommaSeparatedListoutputParser:CSV解析器,模型的输出以逗号分隔,以列表形式返回输出
  • DatetimeoutputParser:日期时间解析器,可用于将LLM 输出解析为日期时间格式除了上述常用的输出解析器之外,还有:
  • EnumoutputParser:枚举解析器,将LLM的输出,解析为预定义的枚举值
  • structuredoutputParser:将非结构化文本转换为预定义格式的结构化数据(如字典)
  • outputFixingParser:输出修复解析器,用于自动修复格式错误的解析器,比如将返回的不符合预期格式的输出,尝试修正为正确的结构化数据(如 JSON)
  • RetryoutputParser:重试解析器,当主解析器(如JSONOutputParser)因格式错误无法解析LLM 的输出时,通过调用另一个LLM自动修正错误,并重新尝试解析

1.字符串解析器-StrOutputarser

2.JSON解析器-JsonoutputParser

JsonOutputParser,即JSON输出解析器,是一种用于将大模型的自由文本输出转换为结构化JSON数据的工具。
适合场景:特别适用于需要严格结构化输出的场景,比如 API调用、数据存储或下游任务处理。
实现方式:
  • 方式1:用户自己通过提示词指明返回Json格式
  • 方式2:借助JsonOutputParser的 get_format_instructions(),生成格式说明,指导模型输出 JSON 结构

方式一:提示词 + JsonOutPutParser()

方式二:get_format_instructions()

3.XML解析器-XMLOutputParser

XMLOutputParser,将模型的自由文本输出转换为可编程处理的XML数据。
如何实现:在 PromptTemplate中指定XML格式要求,让模型返回content形式的数据。
注意:XMLOutputParser 不会直接将模型的输出保持为原始xML字符串,而是会解析xML并转换成Python字典(或类似结构化的数据)。目的是为了方便程序后续处理数据,而不是单纯保留XML格式。

方式一:通过prompt指定返回xml格式

<movie>《唐伯虎点秋香》(1993)- 无厘头古装喜剧经典,众多台词和桥段成为文化符号。</movie>
<movie>《大话西游》系列(1995)- 初期票房不佳,后成为华语文化现象级经典,影响深远。</movie>
<movie>《食神》(1996)- 周星驰开始参与导演工作,笑中带泪的励志喜剧。</movie>
<movie>《喜剧之王》(1999)- 带有自传色彩的悲喜剧,被视为其表演生涯的重要转折。</movie>
<movie>《少林足球》(2001)- 荣获香港电影金像奖最佳影片、最佳导演等多项大奖。</movie>
<movie>《功夫》(2004)- 周星驰导演代表作,融合动作、特效与怀旧情怀,享誉国际。</movie>
<movie>《长江7号》(2008)- 科幻温情题材,周星驰主演的最后一部电影。</movie>
<movie>《西游·降魔篇》(2013)- 周星驰导演作品,延续《大话西游》主题,创当时华语片票房纪录。</movie>
<movie>《美人鱼》(2016)- 环保主题喜剧,创下中国影史票房纪录(当时)。</movie>

方式二:使用XMLOutputParser

不使用parser解析,打印原始响应是xml结构

使用parser解析,将原始xml响应处理为了类json结构
注意:XMLOutputParser 不会直接将模型的输出保持为原始xML字符串,而是会解析xML并转换成Python字典(或类似结构化的数据)。目的是为了方便程序后续处理数据,而不是单纯保留XML格式。

4.CSV解析器-CommaSeparatedListOutputParser

<class 'list'> ['《赌圣》', '《逃学威龙》', '《唐伯虎点秋香》', '《大话西游之大圣娶亲》', '《喜剧之王》', '《少林足球》', '《功夫》', '《长江7号》']
memory设计理念几种不同Paser输出解析器用法
Loading...