【大模型应用开发 LangChain模型输出属性速查表】
因为抱着与你重逢的期待,在我眼里,最险峻的小道也总是最好的。
—— 25.10.26
LangChain模型输出属性速查表
按 “完整回答对象”(如 AIMessage,invoke() 返回)和 “流式片段对象”(如 ChatGenerationChunk,stream() 返回)分类,涵盖核心属性的作用、示例值及使用场景,适配主流模型(DeepSeek、OpenAI、通义千问等)。
| 输出类型 | 属性名 | 类型 | 核心作用 | 示例值 | 使用场景 |
|---|---|---|---|---|---|
| 完整回答 / 流式片段 | .content | str | 存储模型生成的纯文本内容,是用户最终需要的回答文字 | "我是基于 DeepSeek 训练的 AI 模型,可提供对话交互服务" | 直接获取 / 打印模型回答、提取核心文本内容 |
| 完整回答 / 流式片段 | .type | str | 标记消息角色类型,区分 AI 回答与用户输入 | "ai"(AI 回答)、"human"(用户输入) | 对话历史管理(如区分 “用户问” 和 “AI 答”)、日志记录角色 |
| 完整回答 | .additional_kwargs | dict | 存储模型输出的官方元数据,含用量、模型版本、工具调用等关键信息 | {"model": "deepseek-chat", "usage": {"prompt_tokens": 5, "completion_tokens": 20}, "finish_reason": "stop"} | 统计 token 用量(控制成本)、判断回答是否完整(finish_reason)、获取工具调用结果 |
| 流式片段 | .additional_kwargs | dict | 存储流式片段的传输元数据,含片段标识、结束标记等 | {"chunk_id": 3, "finish_reason": None}(中间片段)、{"chunk_id": 5, "finish_reason": "stop"}(最后片段) | 判断流式输出是否结束(finish_reason="stop")、追踪片段顺序(chunk_id) |
| 完整回答 / 流式片段 | .metadata | dict | 存储自定义元数据,可手动添加回答来源、生成时间、业务标签等 | {"source": "local_deepseek_model", "generate_time": "2024-05-20 14:30:00", "business_tag": "chatbot"} | 追溯回答来源(如 “来自本地模型” 或 “参考文档 ID”)、添加业务属性(如对话场景标签) |
| 完整回答 | .example | bool | 标记该消息是否为示例消息,用于构建 few-shot 提示(少样本学习) | False(默认,普通回答)、True(示例消息) | 构建示例对话(如给模型提供 “用户问 - AI 答” 示例)、区分示例与真实回答 |
