AI 代理
功能说明
AI 代理
插件实现了基于 OpenAI API 契约的 AI 代理功能。目前支持 OpenAI、Azure OpenAI、月之暗面(Moonshot)和通义千问等 AI 服务提供商。
配置字段
基本配置
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
provider | object | 必填 | - | 配置目标 AI 服务提供商的信息 |
provider
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
type | string | 必填 | - | AI 服务提供商名称 |
apiTokens | array of string | 必填 | - | 用于在访问 AI 服务时进行认证的令牌。如果配置了多个 token,插件会在请求时随机进行选择。部分服务提供商只支持配置一个 token。 |
timeout | number | 非必填 | - | 访问 AI 服务的超时时间。单位为毫秒。默认值为 120000,即 2 分钟 |
modelMapping | map of string | 非必填 | - | AI 模型映射表,用于将请求中的模型名称映射为服务提供商支持模型名称。 可以使用 ”*” 为键来配置通用兜底映射关系 |
protocol | string | 非必填 | - | 插件对外提供的 API 接口契约。目前支持以下取值:openai(默认值,使用 OpenAI 的接口契约)、original(使用目标服务提供商的原始接口契约) |
context | object | 非必填 | - | 配置 AI 对话上下文信息 |
context
的配置字段说明如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
fileUrl | string | 必填 | - | 保存 AI 对话上下文的文件 URL。仅支持纯文本类型的文件内容 |
serviceName | string | 必填 | - | URL 所对应的 Higress 后端服务完整名称 |
servicePort | number | 必填 | - | URL 所对应的 Higress 后端服务访问端口 |
提供商特有配置
OpenAI
OpenAI 所对应的 type
为 openai
。它并无特有的配置字段。
Azure OpenAI
Azure OpenAI 所对应的 type
为 azure
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
azureServiceUrl | string | 必填 | - | Azure OpenAI 服务的 URL,须包含 api-version 查询参数。 |
注意: Azure OpenAI 只支持配置一个 API Token。
月之暗面(Moonshot)
月之暗面所对应的 type
为 moonshot
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
moonshotFileId | string | 非必填 | - | 通过文件接口上传至月之暗面的文件 ID,其内容将被用做 AI 对话的上下文。不可与 context 字段同时配置。 |
通义千问(Qwen)
通义千问所对应的 type
为 qwen
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
qwenEnableSearch | boolean | 非必填 | - | 是否启用通义千问内置的互联网搜索功能。 |
qwenFileIds | array of string | 非必填 | - | 通过文件接口上传至Dashscope的文件 ID,其内容将被用做 AI 对话的上下文。不可与 context 字段同时配置。 |
百川智能 (Baichuan AI)
百川智能所对应的 type
为 baichuan
。它并无特有的配置字段。
零一万物(Yi)
零一万物所对应的 type
为 yi
。它并无特有的配置字段。
智谱AI(Zhipu AI)
智谱AI所对应的 type
为 zhipuai
。它并无特有的配置字段。
DeepSeek(DeepSeek)
DeepSeek所对应的 type
为 deepseek
。它并无特有的配置字段。
Groq
Groq 所对应的 type
为 groq
。它并无特有的配置字段。
文心一言(Baidu)
文心一言所对应的 type
为 baidu
。它并无特有的配置字段。
MiniMax
MiniMax所对应的 type
为 minimax
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
minimaxGroupId | string | 当使用abab6.5-chat , abab6.5s-chat , abab5.5s-chat , abab5.5-chat 四种模型时必填 | - | 当使用abab6.5-chat , abab6.5s-chat , abab5.5s-chat , abab5.5-chat 四种模型时会使用ChatCompletion Pro,需要设置groupID |
Anthropic Claude
Anthropic Claude 所对应的 type
为 claude
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
claudeVersion | string | 可选 | - | Claude 服务的 API 版本,默认为 2023-06-01 |
Ollama
Ollama 所对应的 type
为 ollama
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
ollamaServerHost | string | 必填 | - | Ollama 服务器的主机地址 |
ollamaServerPort | number | 必填 | - | Ollama 服务器的端口号,默认为11434 |
混元
混元所对应的 type
为 hunyuan
。它特有的配置字段如下:
名称 | 数据类型 | 填写要求 | 默认值 | 描述 |
---|
hunyuanAuthId | string | 必填 | - | 混元用于v3版本认证的id |
hunyuanAuthKey | string | 必填 | - | 混元用于v3版本认证的key |
阶跃星辰 (Stepfun)
阶跃星辰所对应的 type
为 stepfun
。它并无特有的配置字段。
用法示例
使用 OpenAI 协议代理 Azure OpenAI 服务
使用最基本的 Azure OpenAI 服务,不配置任何上下文。
配置信息
请求示例
响应示例
使用 OpenAI 协议代理通义千问服务
使用通义千问服务,并配置从 OpenAI 大模型到通义千问的模型映射关系。
配置信息
请求示例
响应示例
使用通义千问配合纯文本上下文信息
使用通义千问服务,同时配置纯文本上下文信息。
配置信息
请求示例
响应示例
使用通义千问配合其原生的文件上下文
提前上传文件至通义千问,以文件内容作为上下文使用其 AI 服务。
配置信息
请求示例
响应示例
使用月之暗面配合其原生的文件上下文
提前上传文件至月之暗面,以文件内容作为上下文使用其 AI 服务。
配置信息
请求示例
响应示例
使用 OpenAI 协议代理 Groq 服务
配置信息
请求示例
响应示例
使用 OpenAI 协议代理 Claude 服务
配置信息
请求示例
响应示例
使用 OpenAI 协议代理混元服务
配置信息
请求示例 请求脚本:
响应示例
使用 OpenAI 协议代理百度文心一言服务
配置信息
请求示例
响应示例
使用 OpenAI 协议代理MiniMax服务
配置信息
请求示例
响应示例
完整配置示例
Kubernetes 示例
以下以使用 OpenAI 协议代理 Groq 服务为例,展示完整的插件配置示例。
访问示例:
Docker-Compose 示例
docker-compose.yml
配置文件:
envoy.yaml
配置文件:
访问示例: