使用 OpenAI 协议代理 Cloudflare Workers AI 服务

使用 OpenAI 协议代理 Cloudflare Workers AI 服务

插件实现了基于 OpenAI API 契约的 AI 代理功能。目前支持 OpenAI、Azure OpenAI、月之暗面(Moonshot)和通义千问等 AI 服务提供商。

注意:

请求路径后缀匹配 时,对应文生文场景,会用 OpenAI 的文生文协议解析请求 Body,再转换为对应 LLM 厂商的文生文协议

请求路径后缀匹配 时,对应文本向量场景,会用 OpenAI 的文本向量协议解析请求 Body,再转换为对应 LLM 厂商的文本向量协议

插件执行阶段: 插件执行优先级:

名称 数据类型 填写要求 默认值 描述 object 必填 – 配置目标 AI 服务提供商的信息

的配置字段说明如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – AI 服务提供商名称 array of string 非必填 – 用于在访问 AI 服务时进行认证的令牌。如果配置了多个 token,插件会在请求时随机进行选择。部分服务提供商只支持配置一个 token。 number 非必填 – 访问 AI 服务的超时时间。单位为毫秒。默认值为 ,即 2 分钟。此项配置目前仅用于获取上下文信息,并不影响实际转发大模型请求。 map of string 非必填 – AI 模型映射表,用于将请求中的模型名称映射为服务提供商支持模型名称。
1. 支持前缀匹配。例如用 “gpt-3-” 匹配所有名称以“gpt-3-”开头的模型;
2. 支持使用 ”
” 为键来配置通用兜底映射关系;
3. 如果映射的目标名称为空字符串 “”,则表示保留原模型名称。 string 非必填 – 插件对外提供的 API 接口契约。目前支持以下取值:openai(默认值,使用 OpenAI 的接口契约)、original(使用目标服务提供商的原始接口契约) object 非必填 – 配置 AI 对话上下文信息 array of customSetting 非必填 – 为AI请求指定覆盖或者填充参数 object 非必填 – 配置 apiToken 的 failover 策略,当 apiToken 不可用时,将其移出 apiToken 列表,待健康检测通过后重新添加回 apiToken 列表 object 非必填 – 当请求失败时立即进行重试

的配置字段说明如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – 保存 AI 对话上下文的文件 URL。仅支持纯文本类型的文件内容 string 必填 – URL 所对应的 Higress 后端服务完整名称 number 必填 – URL 所对应的 Higress 后端服务访问端口

的配置字段说明如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – 想要设置的参数的名称,例如 string/int/float/bool 必填 – 想要设置的参数的值,例如0 string 非必填 ”auto” 参数设置的模式,可以设置为”auto”或者”raw”,如果为”auto”则会自动根据协议对参数名做改写,如果为”raw”则不会有任何改写和限制检查 bool 非必填 true 如果为false则只在用户没有设置这个参数时填充参数,否则会直接覆盖用户原有的参数设置

custom-setting会遵循如下表格,根据和协议来替换对应的字段,用户需要填写表格中列中存在的值。例如用户将设置为,在openai协议中会替换,在gemini中会替换。 表示该协议不支持此参数。如果不在此表格中或者对应协议不支持此参数,同时没有设置raw模式,则配置不会生效。

settingName openai baidu spark qwen gemini hunyuan claude minimax max_tokens max_tokens max_output_tokens max_tokens max_tokens maxOutputTokens none max_tokens tokens_to_generate temperature temperature temperature temperature temperature temperature Temperature temperature temperature top_p top_p top_p none top_p topP TopP top_p top_p top_k none none top_k none topK none top_k none seed seed none none seed none none none none

如果启用了raw模式,custom-setting会直接用输入的和去更改请求中的json内容,而不对参数名称做任何限制和修改。 对于大多数协议,custom-setting都会在json内容的根路径修改或者填充参数。对于协议,ai-proxy会在json的子路径下做配置。对于协议,则会在子路径下做配置。

的配置字段说明如下:

名称 数据类型 填写要求 默认值 描述 enabled bool 非必填 false 是否启用 apiToken 的 failover 机制 failureThreshold int 非必填 3 触发 failover 连续请求失败的阈值(次数) successThreshold int 非必填 1 健康检测的成功阈值(次数) healthCheckInterval int 非必填 5000 健康检测的间隔时间,单位毫秒 healthCheckTimeout int 非必填 5000 健康检测的超时时间,单位毫秒 healthCheckModel string 启用 failover 时必填 健康检测使用的模型 failoverOnStatus array of string 非必填 需要进行 failover 的原始请求的状态码,支持正则表达式匹配

的配置字段说明如下:

名称 数据类型 填写要求 默认值 描述 enabled bool 非必填 false 是否启用失败请求重试 maxRetries int 非必填 1 最大重试次数 retryTimeout int 非必填 30000 重试超时时间,单位毫秒 retryOnStatus array of string 非必填 需要进行重试的原始请求的状态码,支持正则表达式匹配

OpenAI

OpenAI 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 非必填 – 基于OpenAI协议的自定义后端URL,例如: www.example.com/myai/v1/chat/completions object 非必填 – 预先定义OpenAI响应需满足的Json Schema, 注意目前仅特定的几种模型支持该用法

Azure OpenAI

Azure OpenAI 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – Azure OpenAI 服务的 URL,须包含 查询参数。

注意: Azure OpenAI 只支持配置一个 API Token。

月之暗面(Moonshot)

月之暗面所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 非必填 – 通过文件接口上传至月之暗面的文件 ID,其内容将被用做 AI 对话的上下文。不可与 字段同时配置。

通义千问(Qwen)

通义千问所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 boolean 非必填 – 是否启用通义千问内置的互联网搜索功能。 array of string 非必填 – 通过文件接口上传至Dashscope的文件 ID,其内容将被用做 AI 对话的上下文。不可与 字段同时配置。 boolean 非必填 false 开启通义千问兼容模式。启用通义千问兼容模式后,将调用千问的兼容模式接口,同时对请求/响应不做修改。

百川智能 (Baichuan AI)

百川智能所对应的 为 。它并无特有的配置字段。

零一万物(Yi)

零一万物所对应的 为 。它并无特有的配置字段。

智谱AI(Zhipu AI)

智谱AI所对应的 为 。它并无特有的配置字段。

DeepSeek(DeepSeek)

DeepSeek所对应的 为 。它并无特有的配置字段。

Groq

Groq 所对应的 为 。它并无特有的配置字段。

文心一言(Baidu)

文心一言所对应的 为 。它并无特有的配置字段。

360智脑

360智脑所对应的 为 。它并无特有的配置字段。

GitHub模型

GitHub模型所对应的 为 。它并无特有的配置字段。

Mistral

Mistral 所对应的 为 。它并无特有的配置字段。

MiniMax

MiniMax所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string v2 和 pro 中选填一项 v2 v2 代表 ChatCompletion v2 API,pro 代表 ChatCompletion Pro API string 为 pro 时必填 – 为 pro 时使用 ChatCompletion Pro API,需要设置 groupID

Anthropic Claude

Anthropic Claude 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 可选 – Claude 服务的 API 版本,默认为 2023-06-01

文心一言 ERNIE Bot 教程

Ollama

Ollama 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – Ollama 服务器的主机地址 number 必填 – Ollama 服务器的端口号,默认为11434

混元

混元所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – 混元用于v3版本认证的id string 必填 – 混元用于v3版本认证的key

阶跃星辰 (Stepfun)

阶跃星辰所对应的 为 。它并无特有的配置字段。

Cloudflare Workers AI

Cloudflare Workers AI 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – Cloudflare Account ID

星火 (Spark)

星火所对应的 为 。它并无特有的配置字段。

讯飞星火认知大模型的字段值为。即填入自己的APIKey与APISecret,并以分隔。

Gemini

Gemini 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 map of string 非必填 – Gemini AI内容过滤和安全级别设定。参考Safety settings

DeepL

DeepL 所对应的 为 。它特有的配置字段如下:

名称 数据类型 填写要求 默认值 描述 string 必填 – DeepL 翻译服务需要的目标语种

Cohere

Cohere 所对应的 为 。它并无特有的配置字段。

Together-AI

Together-AI 所对应的 为 。它并无特有的配置字段。

使用最基本的 Azure OpenAI 服务,不配置任何上下文。

配置信息

请求示例

响应示例

使用通义千问服务,并配置从 OpenAI 大模型到通义千问的模型映射关系。

配置信息

AI 对话请求示例

URL: http://your-domain/v1/chat/completions

请求示例:

响应示例:

多模态模型 API 请求示例(适用于 和 模型)

URL: http://your-domain/v1/chat/completions

请求示例:

响应示例:

文本向量请求示例

URL: http://your-domain/v1/embeddings

请求示例:

响应示例:

使用通义千问服务,同时配置纯文本上下文信息。

配置信息

请求示例

响应示例

提前上传文件至通义千问,以文件内容作为上下文使用其 AI 服务。

配置信息

请求示例

响应示例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:Ai探索者,转载请注明出处:https://javaforall.net/263629.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 下午9:35
下一篇 2026年3月12日 下午9:35


相关推荐

关注全栈程序员社区公众号