长亭百川云 - 文章详情

OpenAI 国内停服,除了停机迁移,这个方案更平滑

阿里巴巴中间件

75

2024-07-13

OpenAI 国内停服,除了各个大模型厂商提供的迁移方案外,是否有其他更平滑的迁移方案呢?本文以 OpenAI 切换到通义千问为例,介绍开源网关 Higress 的应对方案。优势是:

  • 默认按照模型价格和能力进行了合理映射,且支持用户自定义调整配置。

  • 可以通过 OpenAI 的统一协议对接多种大模型,屏蔽实现细节,降低接入新大模型的 API 适配成本。

  • Higress 可以提供 token 限流插件、内容审核插件,通过网关的工程化能力实现业务收益。

实操视频

Aliware

步骤介绍

Aliware

**🔔 准备工作:需要登录阿里云申请通义千问 API Key[**1]


**第一步:启动 Higress AI 网关
**

Higress 有多种部署方式,例如 K8s Helm 部署,或者对接 Nacos 部署等。最简单的方式是通过一个 Docker 命令直接在本地启动:

`# 创建一个工作目录``mkdir higress; cd higress``# 启动 higress,配置文件会写到工作目录下``docker run -d --rm --name higress-ai -v ${PWD}:/data \`        `-p 8001:8001 -p 8080:8080 \`        `-e CONFIG_TEMPLATE=ai-proxy -e DEFAULT_AI_SERVICE=qwen \`        `-e DASHSCOPE_API_KEY=这里填你自己的通义千问APIKey \`        `higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:1.4.1`

**第二步:调整 API 地址
**

不用改任何代码逻辑,只需通过 base_url 调整 API 地址为 Higress AI 网关的 API 地址,这里是里本地启动的,所以填:http://127.0.0.1:8080/v1

例如下面是 openai 流式响应的例子:

`from openai import OpenAI``   ``client = OpenAI(`    `api_key="your-api-key",`    `base_url="http://127.0.0.1:8080/v1"``)``   ``# 不需要修改模型,higress 做了等价映射``stream = client.chat.completions.create(`    `model="gpt-4o",`    `messages=[{"role": "user", "content": "你是谁"}],`    `stream=True,``)``   ``# 换行打印收到的每个流式响应``for chunk in stream:`    `if chunk.choices[0].delta.content:`        `print(chunk.choices[0].delta.content)``   `

测试生效:

Higress AI 代理能力介绍

Aliware

AI 代理插件目前支持的大模型 API 有:通义千问,OpenAI/Azure OpenAI,月之暗面,百川智能,零一万物,智谱 AI,阶跃星辰,文心一言,腾讯混元,DeepSeek,Anthropic Claude,Groq,MiniMax,Ollama

可以用类似方式,通过 Higress 将业务对 OpenAI 的依赖快速迁移到其他厂商的大模型。

下图以 OpenAI SDK 流式处理为例, Higress 的 AI 代理原理如下,可以纯流式处理多种不同厂商的模型协议:

探索更多 Higress AI 网关能力

Aliware

**自定义模型映射
**

Higress 默认将所有 OpenAI 模型按能力和价格做了到通义千问的等价映射:

用户也可以进入 Higress 控制台,自定义模型映射。

**开启通义千问联网搜索能力
**

AI 代理插件配置为:

`provider:`  `type: qwen`  `apiTokens:`  `- "你自己的通义千问 API Key"`  `modelMapping:`  `# 映射配置省略`  `...`  `# 开启联网搜索能力`  `qwenEnableSearch: true`

然后使用 LobeChat 进行测试(这里查看:LobeChat 对接方式**[****2]**):

**实现最简单的 RAG
**

上传一份文件用于 RAG(详细可以查看这里的文档**[****3]**):

`curl --location --request POST 'https://dashscope.aliyuncs.com/compatible-mode/v1/files' \`  `--header 'Authorization: Bearer 这里填APIKey' \`  `--form 'file=@" ./doc.md"' \`  `--form 'purpose="file-extract"'``   ``# 返回内容中包含文件id:``{"id":"file-fe-xxxxxxx","object":"file","bytes":596687,"created_at":1716635947,"filename":"doc.md","purpose":"file-extract","status":"processed"}`

AI 代理插件配置为:

`provider:`  `type: qwen`  `apiTokens:`  `- "你自己的通义千问 API Key"`  `modelMapping:`  `# 映射配置省略`  `...`  `# 在这里配置上面返回的文件id`  `qwenFileIds:`  `- "file-fe-xxxxxxx"`

导入 Higress 官网文档的文件 id,测试效果:

**Higress 的更多 AI 能力
**

从 2020 年开始,我们通过服务阿里内部,以及云上客户的需求,沉淀了云原生网关 Higress,在开源社区分享代码和知识的同时,通过大量开源用户的使用反馈,得以进一步完善自身能力。

今天,**Higress 企业版既是通义千问等阿里云核心 AI 业务的 API 网关,又是云上多家 AGI 厂商的的 API 网关,**我们也很乐于分享在接入这些场景过程中积累的心得体会,并将相关 AI 能力全面开源:

Higress AI 网关相关能力的详细说明,可以查看这篇文档:《Higress 重磅更新:AI 能力全面开源,云原生能力再升级》

关于 AI 代理插件,以及 Higress 其他 AI 插件的能力介绍和使用方式在 Higress 官网文档均有详细说明,可以访问 https://higress.cn 查看。

如果你有企业级 AI 网关需求,可以点击阅读原文,了解 Higress 企业版,立即拥有通义千问的同款流量网关。


加入 Higress 社区

欢迎更多小伙伴一起参与到 Higress 社区的建设中,近期的社区活动有:

了解更多社区动态,可以加入 Higress 微信/钉钉群(群号:30735012403 )。

相关链接:

[1] 申请通义千问 API Key

https://help.aliyun.com/zh/dashscope/opening-service?spm=a2c4g.11186623.0.0.72c2369dLprd45

[2] LobeChat 对接方式

https://github.com/alibaba/higress/issues/1023

[3] 文档

https://help.aliyun.com/zh/dashscope/developer-reference/openai-file-interface?spm=a2c4g.11186623.0.0.4f5e4ad0clKblp

[4] GLCC 开源夏令营的 Higress 三大课题

https://www.gitlink.org.cn/glcc/2024/projects

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2