为什么需要输出解析
问题:LLM 输出是不可控的文本
当你调用大语言模型时,模型的返回值是一个 AIMessage 对象,其中的 content 字段是一段纯文本字符串。这段文本可能包含多余的解释、格式不规范的标记、甚至一些「废话」。在简单对话场景中这没什么问题,但当你要构建一个自动化工作流时,就会遇到严重的问题:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
response = llm.invoke("列出三种编程语言的名称")
print(response.content)
# 你可能期望得到:Python, Java, Go
# 但实际输出可能是:
# "当然!以下是三种常见的编程语言:\n\n1. Python\n2. Java\n3. Go\n\n这三种语言各有特色..."
2026/5/14大约 27 分钟