输出解析
大模型默认输出自然语言,但业务系统通常需要结构化结果。输出解析器用于把模型输出转换成 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)生产建议
- 对 JSON 解析失败做重试。
- 对关键字段做二次校验。
- 不要让模型直接决定高风险操作,比如退款、转账、删除数据。
- 模型输出只作为建议,最终动作由业务规则兜底。
非官方声明
本站为个人维护的非官方中文学习文档,不代表 LangChain 官方。页面内容是基于公开文档、源码实践和中文开发者视角重新整理的学习资料。涉及 API 细节时,请以官方文档和实际安装版本为准。
参考来源
- LangChain / LangGraph 官方文档:
https://docs.langchain.com/ - LangChain API Reference:
https://reference.langchain.com/ - 本站内容为中文学习整理,不做官方身份声明。