配置大语言模型
为适应不同场景,您可能需要选择不同的大语言模型(LLM)提供商,包括火山豆包、MiniMax、阿里通义千问、阶跃星辰、DeepSeek 等,也可能更进一步使用完全自研的LLM。本文说明常见大语言模型厂商如何配置及相关注意事项。
LLM 参数说明
使用第三方 LLM 服务或者使用自定义的 LLM 服务时,需要配置 LLM 参数。
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
Url | String | 是 | LLM 回调地址,必须与 OpenAI 协议兼容。 |
ApiKey | String | 否 | 访问 LLM 提供的各类模型及相关服务的身份验证凭证。 |
Model | String | 是 | 调用的模型。不同的 LLM 服务提供商支持的配置不同,请参考对应文档填入。 |
SystemPrompt | String | 否 | 系统提示词。可以是角色设定、提示词和回答样例等。 |
Temperature | Float | 否 | 较高的值将使输出更加随机,而较低的值将使输出更加集中和确定。 |
TopP | Float | 否 | 采样方法,数值越小结果确定性越强;数值越大,结果越随机。 |
Params | Object | 否 | 其他 LLM 参数,例如使用的最大 Token 数限制等。不同的 LLM 供应商支持的配置不同,请参考对应文档按需填入。 说明 参数名与各厂商 LLM 的参数名保持一致。 |
AddAgentInfo | Bool | 否 | 如果该值为 true ,在 AI Agent 后台向自定义 LLM 服务发起请求时,请求参数中会包含智能体信息 agent_info 。该值默认为 false。在使用自定义 LLM 时可根据此参数内容做额外的业务逻辑。 |
使用第三方 LLM
说明
请先联系 ZEGO 技术支持开通第三方 LLM 服务,获取接入 Url 和 API Key。
第三方 LLM 需要兼容 OpenAI 协议。
您可以在注册智能体(RegisterAgent)或创建智能体实例(CreateAgentInstance)时设置 LLM 参数。
以下是常见 LLM 厂商的配置示例:
使用自定义 LLM
AI Agent 后台使用 OpenAI API 协议调用 LLM 服务。因此,您也可以使用任何兼容 OpenAI 协议的自定义 LLM。这里的自定义 LLM 甚至可以在底层实现的时候调用多个子 LLM 模型或者进行 RAG 搜索、联网搜索后再进行整合输出。
1
实现自定义LLM
创建符合 OpenAI API 协议的接口。
2
使用自定义LLM
在注册智能体(RegisterAgent)时,设置使用自定义 LLM URL,并在 SystemPrompt
中要求 LLM 根据知识库内容回答用户问题。
注册智能体调用示例
// 请将以下示例中的 LLM 和 TTS 的 ApiKey、appid、token 等鉴权参数换成你实际的鉴权参数。
async registerAgent(agentId: string, agentName: string) {
// 请求接口:https://aigc-aiagent-api.zegotech.cn?Action=RegisterAgent
const action = 'RegisterAgent';
// !mark(4:9)
const body = {
AgentId: agentId,
Name: agentName,
LLM: {
Url: "https://your-custom-llm-service/chat/completions",
ApiKey: "your_api_key",
Model: "your_model",
SystemPrompt: "请根据用户提供的知识库内容用友好的语气回答用户问题,如果用户的问题不在知识库中,请礼貌的告诉用户我们没有相关的知识库内容。"
},
TTS: {
Vendor: "ByteDance",
Params: {
"app": {
"appid": "zego_test",
"token": "zego_test",
"cluster": "volcano_tts"
},
"audio": {
"voice_type": "zh_female_wanwanxiaohe_moon_bigtts"
}
}
}
};
// sendRequest 方法封装了请求的 URL 和公共参数。详情参考:https://doc-zh.zego.im/aiagent-server/api-reference/accessing-server-apis
return this.sendRequest<any>(action, body);
}
至此您就可以与自定义 LLM 进行对话了。
最佳实践
详细使用案例请参考 结合 RAG 使用 AI Agent。