教程:如何从 OpenAI 平滑迁移到 DeepSeek

11 天前
 oktp123

DeepSeek 刚发布了推理模型 DeepSeek-R1 正式版,同步开源模型权重,并允许用户利用模型输出、通过模型蒸馏等方式训练其他模型。这,才是真正的 OpenAI 。能力相当于一个月 200 美元的 ChatGPT o1 版本,却完全免费。

同时 DeepSeek 也开放了对应的 API 调用方式,过去依赖 OpenAI 的业务,可以考虑直接迁移到 DeepSeek ,节省大量成本。

Higress ( https://higress.cn) 作为一款开源的 AI 网关工具,可以提供基于灰度+观测的平滑迁移方案:

快速安装 Higress

仅需一行命令,即可快速在本地搭建好 Higress A I 网关(此步骤需要有 Docker 环境):

curl -sS  https://higress.cn/ai-gateway/install.sh | bash

执行以上命令后,会进入引导界面,可以在此处配置 provider 的 apikey ,也可以输入回车直接跳过:

配置完 provider ,AI 网关就启动完成了:

根据启动脚本提供的地址可以访问 Higress 控制台,Higress AI 网关内置了主流的 LLM Provider ,仅需要在控制台上简单填写 APIKey 即可完成 provider 的配置,例如配置 deepseek provider:

执行以下 python 脚本即可访问 DeepSeek:

import json
from openai import OpenAI

client = OpenAI(
    api_key="none",
    base_url="http://localhost:8080/v1",
    default_headers={"Accept-Encoding": "identity"},
)

completion = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello!"}
    ],
    stream=False
)

print(completion.choices[0].message.content)
Hello! How can I assist you today? 😊

实现从 OpenAI 到 DeepSeek 的平滑迁移

配置灰度路由

网关支持模型按比例灰度能力,便于用户在模型间迁移,如下图所示,请求流量将有 90%被路由到 openai ,10%被路由到 deepseek 。

API Key 二次分租

Higress 基于 API 网关的消费者鉴权能力支持 API Key 的二次分租,使用者在对外提供服务时,可以屏蔽掉模型提供商的 API Key ,在网关上签发自己的 API Key 供用户使用,从而可以兼容历史调用方的 API Key ;除了能够控制消费者的调用权限和调用额度,配合可观测能力,还可以对每个消费者的 token 用量进行观测统计。

观测灰度过程

在灰度的过程中,需要持续观测不同模型的 token 开销以及响应速度的情况,来整体衡量切换效果。

网关具备开箱即用的 AI 可观测能力,提供了全局、provider 维度、模型维度以及消费者维度的 token 消耗/延时等观测能力。

实现 AI API 的安全调用

DeepSeek 的用户协议里明确提到:

7.2 我们致力于提供安全、稳定、持续的服务,保障用户正常使用,但本服务仅以“现状”、“当前功能”的状态提供。尽管我们已经尽了最大努力,但是由于本服务所依赖的技术本身存在的技术瓶颈和科技客观限制,我们不能对以下事项作出任何保证,具体如下:

...

( 4 )本服务的输入和输出虽已经过过滤审查,但仍不排除无法发现您的输入或本服务输出中存在违规问题,不排除其中部分信息具有瑕疵、存在虚假内容或存在不合理、引发用户不适的地方;</font>**

Higress 对接了阿里云内容安全,能够做到对大模型请求/响应的实时处理与内容封禁,阿里云内容安全通过了信通院的认证,能够提供强有力的 AI 内容安全保障。

开启内容安全后,此时如果发送违规内容,将会得到如下响应:

{
    "id": "chatcmpl-E45zRLc5hUCxhsda4ODEhjvkEycC9",
    "object": "chat.completion",
    "model": "from-security-guard",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "我不能处理隐私信息"
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 0,
        "completion_tokens": 0,
        "total_tokens": 0
    }
}

同时,在内容安全控制台可以查看每一个请求的审计日志:

1451 次点击
所在节点    推广
6 条回复
TimePPT
11 天前
@Livid 推广
xabclink
11 天前
阿里这群人,总是喜欢简单问题复杂化 😂
xabclink
11 天前
ModelMapper: gpt-4o*=deepseek-chat

完事
oktp123
11 天前
@xabclink 哈哈,只能说不同场景有不同的需求吧,如果接入 openai 已经在跑核心业务流程了,直接一把梭换到 deepseek 还是有风险的,得小流量灰度看看效果
oktp123
11 天前
@Livid 开源免费工具,不涉及营销内容,也要放到推广主题下吗?需要的话,我后面注意
xabclink
11 天前
生产业务,每个业务场景,都需要新模型测试验证一遍, 然后切换, 阿里把 java 应用那套逻辑套在大模型上, 有点搞笑了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1106988

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX