LangChain 结构化输出

langchain_structured_output2026-10-29 11:03:47

LangChain 结构化输出

结构化输出要求 Agent 返回符合指定 Schema 的数据,而不是任意自然语言。Schema 可以使用 Pydantic、dataclass、TypedDict 或 JSON Schema 表达,结果通常出现在最终状态的 structured_response 中。

LangChain 主要有两种策略:提供商原生策略让模型服务直接约束输出;工具策略把目标结构表示成一次工具调用。直接传入类型时,框架可根据模型能力选择策略,但应用仍应核实所用模型是否同时支持工具与结构化输出。

结构化输出提高机器可读性,不代表内容事实正确。应用还需处理字段校验失败、多次结构化响应、模型拒答、缺失值、枚举外值以及业务约束。对关键操作,应把结构校验、权限校验与真实状态校验分开。

from pydantic import BaseModel

class Answer(BaseModel):
    summary: str
    confidence: float

# create_agent(..., response_format=Answer)

官方入口:结构化输出。

本页目录