Skip to content

输出解析

大模型默认输出自然语言,但业务系统通常需要结构化结果。输出解析器用于把模型输出转换成 Python 对象、JSON 或业务字段。

为什么需要结构化输出

比如你让模型从用户话术里抽取意图:

json
{
  "intent": "query_order",
  "order_id": "123456",
  "confidence": 0.92
}

如果模型随意输出一段话,后端就很难稳定处理。

Pydantic 示例

python
from pydantic import BaseModel, Field
from langchain_openai import ChatOpenAI

class IntentResult(BaseModel):
    intent: str = Field(description="用户意图")
    confidence: float = Field(description="置信度,0到1")

llm = ChatOpenAI(model="gpt-4.1-mini", temperature=0)
structured_llm = llm.with_structured_output(IntentResult)

result = structured_llm.invoke("帮我查一下订单 20260425001")
print(result.intent)

生产建议

  1. 对 JSON 解析失败做重试。
  2. 对关键字段做二次校验。
  3. 不要让模型直接决定高风险操作,比如退款、转账、删除数据。
  4. 模型输出只作为建议,最终动作由业务规则兜底。

非官方声明

本站为个人维护的非官方中文学习文档,不代表 LangChain 官方。页面内容是基于公开文档、源码实践和中文开发者视角重新整理的学习资料。涉及 API 细节时,请以官方文档和实际安装版本为准。

参考来源

  • LangChain / LangGraph 官方文档:https://docs.langchain.com/
  • LangChain API Reference:https://reference.langchain.com/
  • 本站内容为中文学习整理,不做官方身份声明。

本站为非官方中文学习站点,不代表 LangChain 官方。部分内容参考官方文档并重新整理为中文学习笔记。