大模型-聊天模型(Chat Model) 作者:马育民 • 2026-02-24 08:11 • 阅读:10005 # 介绍 专门为 **对话交互** 设计的大模型。 # 特点 1. 输入是 **「带角色的消息列表」** 2. **天生支持多轮对话** 3. **天生支持工具调用(函数调用)** 4. **经过指令微调 + RLHF 对齐** → 听话、安全、符合人类对话习惯 5. **接口规范、稳定、易开发** # 角色 在 LangChain 的聊天模型(Chat Model)中,消息是按 ** 角色(Role)** 来组织的,最核心的角色有三个: - system:系统提示(设定AI身份) - **user**:用户问题 - **assistant**:AI回答 ### SystemMessage(系统角色) **作用**:给 AI 设定身份、规则、行为准则,是“AI 的人设”。 **特点**: - 放在消息列表最前面 - 只在对话开始时生效一次(部分模型支持中途更新) - 优先级高,AI 会优先遵循系统提示 **例子:** ``` "你是一个专业的Python编程助手,回答要简洁、准确,避免废话。" ``` ### HumanMessage(用户角色) **作用**:代表用户的提问、指令或输入。 **特点**: - 每次用户交互都用这个角色 - 可以是问题、指令、上下文补充等 **例子:** ``` "帮我解释一下什么是RAG?" ``` ### AIMessage(AI 助手角色) **作用**:代表 AI 上一轮的回答,用于多轮对话的 **上下文记忆**。 **特点**: - 由模型返回,开发者需要把它追加到消息列表中 - 是多轮对话的关键,让 AI 知道自己之前说了什么 **例子:** ``` "RAG是检索增强生成,通过检索外部知识库来提升大模型回答的准确性..." ``` ### 其他辅助角色(可选) - **FunctionMessage / ToolMessage**:用于工具调用场景,记录工具调用的结果,让 AI 基于工具返回的信息继续回答。 - **ChatMessage**:通用角色,可自定义角色名,用于特殊场景。 ### 必须携带AI 助手角色的场景 只要对话存在 **上下文依赖**,就必须携带关键历史,比如: - 用户追问:先问 “什么是 RAG”,再问 “它的核心步骤是什么”(后一个问题依赖前一个的定义); - 多轮纠错:用户指出 “你刚才的代码有问题”,模型需要知道 “刚才的代码是什么”; - 场景化交互:电商客服中,用户先提 “我的订单没发货”,再问 “能退款吗”(依赖 “订单” 这个上下文)。 ### 无需带的场景 用户先问 “写一首唐诗”,再问 “计算 1+2+3 的和”(两个问题无关联,无需带前一轮历史)。 ### 总结 - **SystemMessage**:定规则、立人设 - **HumanMessage**:用户输入 - **AIMessage**:AI 输出,用于上下文 多轮对话 = 不断追加 `HumanMessage` 和 `AIMessage` 到列表中 # 和普通 LLM(大语言模型)的区别 | 对比 | LLM(文本续写) | Chat Model(聊天模型) | |------|------------------|--------------------------| | 输入 | 一段文本 | 多角色消息结构 | | 能力 | 续写、补全 | 对话、理解意图、多轮 | | 工具调用 | 弱/不支持 | 原生支持 | | 训练 | 预训练 | 预训练 + SFT + RLHF | | 开发体验 | 难控制 | 易控制、稳定 | | 现在主流 | 旧接口 | 新项目全部用这个 | **一句话:LLM 是续写器,Chat Model 是对话机器人。** # 为什么现在开发都用 Chat Model? 1. **做产品必须多轮对话** 2. **必须工具调用(查天气、查数据库、RAG)** 3. **行为可控,不会乱输出** 4. **所有新模型只更新 Chat 接口** # 市面典型 Chat Model 有哪些? - OpenAI:gpt-3.5-turbo、gpt-4o - 百度文心:ERNIE Bot - 阿里通义:Qwen - 智谱:GLM-4 - 字节:豆包 Doubao - 腾讯:混元 Hunyuan - 讯飞:星火 Spark # 应用场景 - 智能客服 - AI 助手 - 聊天机器人 - RAG 知识库问答 - 带工具的 AI(联网、查数据) - 多轮交互类产品 # 总结 **Chat Model = 对话专用大模型** - 输入:角色消息 - 能力:多轮对话 + 工具调用 - 训练:对齐人类偏好 - 开发:99% 新项目首选 --- 你要我给你一段**最精简的 Python + LangChain Chat Model 示例代码**吗? 原文出处:http://malaoshi.top/show_1GW2poSGZZqf.html