一、功能概述
LLM 段按 OpenAI 兼容协议统一对接,不限制厂商:
·支持 运行时热更新,可在对话进行中切换模型、调整提示词。
·支持 MCP 工具调用(Function Calling),可接入 RAG、业务查询等复杂场景。
支持的 LLMType:
| LLMType | 说明 |
| openai(推荐) | OpenAI 兼容协议,可对接 GPT 系列、DeepSeek、阿里千问等。 |
| hunyuan | 腾讯混元。 |
| deepseek | DeepSeek。 |
| custom | 自建 LLM 网关(需符合 OpenAI 兼容协议)。 |
注意:说明:
注意:S2S(端到端)模式下语音理解与生成由端到端模型完成,不存在独立的 LLM 段,无需配置 LLMConfig。
二、配置结构
创建 AI 对话任务时,通过 LLMConfig 指定 LLM 配置。LLMConfig 采用平铺字段结构,厂商扩展参数通过 CustomFields / CustomHeaders 透传:
| 字段名 | 必选 | 类型 | 描述 |
| LLMType | 是 | String | LLM 接入类型:openai(推荐)/ hunyuan / deepseek / custom。 |
| Model | 是 | String | 模型名(例如 gpt-4o-mini / hunyuan-lite)。 |
| APIKey | 否 | String | 厂商 API Key。说明:条件必填,配置测试账号时可省略,生产环境必须传入。 |
| APIUrl | 否 | String | OpenAI 兼容 endpoint。说明:条件必填,配置测试账号时可省略,生产环境必须传入。 |
| SystemPrompt | 否 | String | 系统提示词,长度 ≤ 5000。 |
| FailureMessage | 否 | String | LLM 失败后的兜底 TTS 文本,避免对话断档。 |
| MaxTokens | 否 | Integer | 单次回复最大 Token,默认 1024,0=不限制。 |
| ThinkingMode | 否 | Boolean | 是否开启思考模式,默认 false。 |
| MaxHistory | 否 | Integer | 缓存对话轮次,范围 0-1024,默认 50,建议 10-30。 |
| MaxToolRound | 否 | Integer | MCP 工具调用最大轮次,范围 0-50,默认 10。 |
| Timeout | 否 | Integer | 请求超时(毫秒),范围 1000-60000,默认 10000。 |
| Temperature | 否 | Float | 采样温度 0.0-2.0,默认 1.0。值越大输出越随机,越小越确定。 |
| TopP | 否 | Float | 采样概率 0.0-1.0,默认 1.0。值越小结果确定性越强。 |
| McpServer | 否 | Object | MCP 工具定义,见 McpServer 定义。 |
| CustomHeaders | 否 | String | JSON 字符串,自定义 HTTP 请求头。 |
| CustomFields | 否 | String | JSON 字符串,厂商扩展参数黑盒透传。 |
| HistoryMessages | 否 | Array of Object | 初始历史消息,每项含 Role(user/assistant/system)/ Content。 |
三、OpenAI 兼容协议(推荐)
适用于 GPT 系列,以及 DeepSeek、阿里千问等任何提供 OpenAI 兼容接口的模型:
"LLMConfig": { "LLMType": "openai", "Model": "gpt-4o-mini", "APIKey": "<your-api-key>", "APIUrl": "https://api.openai.com/v1/chat/completions", "SystemPrompt": "你是一个简洁的对话助手。", "Timeout": 20000, "Temperature": 0.7}
四、腾讯混元
"LLMConfig": { "LLMType": "hunyuan", "Model": "hunyuan-lite", "APIKey": "<your-api-key>", "APIUrl": "<混元 OpenAI 兼容 endpoint,以产品文档为准>", "SystemPrompt": "你是一个简洁的对话助手。", "Temperature": 0.7}
五、DeepSeek
"LLMConfig": { "LLMType": "deepseek", "Model": "deepseek-chat", "APIKey": "<your-api-key>", "APIUrl": "<DeepSeek OpenAI 兼容 endpoint,以产品文档为准>", "SystemPrompt": "你是一个简洁的对话助手。", "Temperature": 0.7}
注意:说明:
注意:DeepSeek、阿里千问等厂商同样兼容 OpenAI 协议,也可直接使用 LLMType=openai 接入。
六、自定义 LLM 网关(custom)
适用于自建 LLM 服务、私有化部署模型,或需要在网关层实现 RAG 检索、联网搜索、多模型编排后再整合输出的场景:
1. 实现一个符合 OpenAI Chat Completions 协议的 HTTP 接口,作为 APIUrl 接入。
2. 网关内部可自由实现业务逻辑(查询知识库、调用子模型等),只需最终按协议返回流式响应。
3. 通过 CustomHeaders 传入网关鉴权所需的自定义请求头。
"LLMConfig": { "LLMType": "custom", "Model": "your-model", "APIKey": "<your-gateway-key>", "APIUrl": "https://your-custom-llm-gateway/v1/chat/completions", "SystemPrompt": "请根据知识库内容用友好的语气回答用户问题。", "Temperature": 0.7}
七、初始历史消息(HistoryMessages)
任务创建时可通过 HistoryMessages 注入初始上下文(例如用户画像、此前的对话摘要),AI 机器人首轮对话即可“带着记忆”开始:
"HistoryMessages": [ { "Role": "user", "Content": "我叫小王,我是一名程序员。" }, { "Role": "assistant", "Content": "好的,很高兴认识你,小王!" }]
八、对话轮次缓存(MaxHistory)
后台自动缓存最近 MaxHistory 轮对话作为上下文:
·范围 0-1024,默认 50,建议 0-30。
·取值过大:Token 消耗增加、推理延迟上升;取值过小:多轮对话中丢失前文记忆。
九、主动注入文本
除语音输入外,还可以通过控制接口的文本注入指令,在运行时向对话上下文插入文本并触发一轮 LLM 回复,详细参见 主动送文本给 LLM 或者 TTS。
十、输出控制
| 手段 | 说明 |
| MaxTokens | 限制单次回复长度,控制时延与成本;0=不限制。 |
| FailureMessage | LLM 调用失败时播报的兜底文本,避免对话断档。 |
| FilterBracketsContent | 过滤 LLM 返回中的括号内容,避免动作、表情等标记被 TTS 念出。 |
FilterBracketsContent 在 AgentConfig 中配置:
| 值 | 过滤内容 |
| 1 | 中文括号() |
| 2 | 英文括号() |
| 3 | 中文方括号【】 |
| 4 | 英文方括号[] |
| 5 | 英文花括号{} |
注意:说明:
注意:最多可选 5 个。典型用法:LLM 人设类模型常以 (微笑)、[开心] 标注动作情绪,配置后可避免 TTS 将其朗读出来。
十一、Function Calling / MCP 工具
McpServer 支持配置 MCP(Model Context Protocol)工具服务,适合需要业务侧 Function Calling、RAG 检索的复杂对话场景:
"McpServer": { "Name": "weather-tools", "Url": "https://your-mcp-server/sse", "Timeout": 5000, "Headers": "{\\"Authorization\\":\\"Bearer xxx\\"}", "ToolList": ["get_weather", "get_forecast"]}
| 字段名 | 类型 | 描述 |
| Name | String | MCP 唯一标识符。 |
| Url | String | 接入地址。 |
| Timeout | Integer | 请求超时(毫秒),默认 5000。 |
| Headers | String | JSON 字符串,自定义请求头(鉴权等)。 |
| ToolList | Array of String | 工具使用白名单。 |
工具调用最大轮次由 MaxToolRound 控制(范围 0-50,默认 10)。
十二、运行时热更新
LLMConfig 全部字段支持热更新——任务运行中可通过修改任务接口更新,包括:
·运行时切换模型(Model / LLMType)
·调整系统提示词(SystemPrompt)、采样参数(Temperature / TopP)
·更新上下文缓存轮次(MaxHistory)
注意:更新请求需携带 SequenceNumber(单调递增序号),后台保证按序处理;序号非递增的更新将被拒绝。这与 ASR / TTS / Vision 配置不同(三者均不支持热更新,需重建任务)。
十三、注意事项
1. 生产环境必须传入 APIKey / APIUrl,否则 LLM 调用将失败。
2. VLM 视觉理解的模型要求:启用视觉理解时,Model 必须是多模态模型(例如 hunyuan-vision / gpt-4o / gpt-4o-mini / qwen-vl-plus),详细参见 视觉理解能力(截图问答)。
3. 回复获取方式:
·服务端:LLM 单轮回复完成时,通过 LLM 回复回调收到该轮终态完整文本(含轮次 ID),详细参见 AI 对话回调事件。
·客户端:通过 SDK 的字幕事件实时获取 LLM 回复文本,详细参见 (客户端)实时字幕。
4. 超时设置:Timeout 默认 10000ms;开启思考模式或模型推理较慢时,可适当调大,避免超时导致回复中断。
5. 成本控制:MaxTokens 与 MaxHistory 直接影响 Token 消耗,建议按业务实际需求设置。