提升 AI 服务的稳定性:Higress AI 网关的降级功能介绍

在使用 LLM 服务时,服务的稳定性和可用性至关重要。然而,由于网络问题、服务器故障或其他不可控因素,LLM 服务可能会暂时不可用。为了保障用户体验和业务连续性,Higress AI 网关提供了强大的模型降级和令牌降级功能。本文将介绍这两个关键功能,并展示它们如何为 AI 应用提供可靠的服务保障。

一键启动 Higress AI 网关

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

bash 复制代码
curl -sS https://higress.cn/ai-gateway/install.sh | bash

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

看到以下界面就表示 Higress AI 网关已经成功启动了。

浏览器输入 http://localhost:8001 就可以访问 Higress 的控制台界面了。

配置 ApiToken

Higress AI 网关内置了主流的 LLM Provider,仅需要在控制台上简单填写 ApiToken 即可完成 Provider 的配置。这里我们分别配置 DeepSeek 和通义千问两个 Provider。

请求 DeepSeek 和通义千问

配置完 ApiToken 以后,就可以直接通过 Higress AI 网关来访问 DeepSeek 和通义千问了。

bash 复制代码
# 请求 DeepSeek
curl 'http://localhost:8080/v1/chat/completions' \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "deepseek-chat",
        "messages": [
          {
            "role": "user",
            "content": "你是谁?"
          }
        ]
      }'

# 请求通义千问
curl 'http://localhost:8080/v1/chat/completions' \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "qwen-turbo",
        "messages": [
          {
            "role": "user",
            "content": "你是谁?"
          }
        ]
      }'

Higress AI 网关已经帮用户预先配置了 AI 路由,可以根据模型名称的前缀来路由到不同的 LLM。

模型降级

Higress AI 网关提供的模型降级(fallback)功能,能够在主 LLM 服务不可用时,自动切换到备选的 LLM 服务,确保业务连续性和用户体验不受影响。

接下来,我们将以通义千问作为主 LLM 服务,DeepSeek 作为备 LLM 服务进行演示。在 AI 路由管理界面中,选择通义千问预设的 AI 路由(aliyun),并启用降级配置。在降级服务选项中选择 deepseek,同时将目标模型设置为 deepseek-chat

AI 服务提供者管理 界面中,编辑通义千问的凭证(ApiToken),这里我们故意设置一个错误的凭证,以确保能够触发降级功能。

接下来,客户端向 Higress AI 网关发送请求,其中 model 设置为 qwen-turbo。以 qwen- 开头的模型将首先通过 AI 路由转发至通义千问。

bash 复制代码
# 请求通义千问
curl 'http://localhost:8080/v1/chat/completions' \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "qwen-turbo",
        "messages": [
          {
            "role": "user",
            "content": "你是谁?"
          }
        ]
      }'

从响应内容可以看出,这个请求最终是由 DeepSeek 处理的,说明我们设置的模型降级功能已经生效。

bash 复制代码
# 响应内容来自 DeepSeek
{
  "id": "99ad1eed-2445-4722-a1e7-d9a9fb2a3b74",
  "object": "chat.completion",
  "created": 1739801515,
  "model": "deepseek-chat",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-V3。如您有任何任何问题,我会尽我所能为您提供帮助。"
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 37,
    "total_tokens": 42,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "prompt_cache_hit_tokens": 0,
    "prompt_cache_miss_tokens": 5
  },
  "system_fingerprint": "fp_3a5770e1b4"
}

令牌降级

除了模型降级功能,Higress AI 网关还提供了令牌降级功能。用户可以设置多个 ApiToken,Higress 默认会随机选择一个进行请求。如果某个 ApiToken 不可用,Higress 会将其从列表中移除,并在后台进行健康检查。一旦该令牌通过检查并恢复正常,它将被重新加入可用列表。这一机制进一步保障了服务的连续性,并确保了用户的良好体验。

AI 服务提供者管理 界面中,为通义千问模型启用令牌降级功能,将健康检测请求的模型设置为 qwen-turbo,其他参数保持默认不变。另外在凭证中分别设置一个可用的 ApiToken 和一个不可用的 ApiToken。

接下来,客户端通过 Higress AI 网关向通义千问发送请求,可以多次尝试,你会发现始终能够收到来自通义千问的成功响应。

bash 复制代码
# 请求通义千问
curl 'http://localhost:8080/v1/chat/completions' \
      -H 'Content-Type: application/json' \
      -d '{
        "model": "qwen-turbo",
        "messages": [
          {
            "role": "user",
            "content": "你是谁?"
          }
        ]
      }'

# 响应内容来自通义千问
{
  "id": "09257759-00f2-9130-bfbb-799d2b430390",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "我是阿里云开发的一款超大规模语言模型,我叫通义千问。"
      },
      "finish_reason": "stop"
    }
  ],
  "created": 1739801612,
  "model": "qwen-turbo",
  "object": "chat.completion",
  "usage": {
    "prompt_tokens": 11,
    "completion_tokens": 17,
    "total_tokens": 28
  }
}

由于令牌不可用时需要满足的最小连续请求失败次数参数默认设置为 1,如果首次请求时正好使用了不可用的 ApiToken,Higress 会立即将其从可用列表中移除。同时,默认情况下,Higress 会主动发起一次新的尝试。由于不可用的 ApiToken 已被移除,新的尝试将使用另一个可用的 ApiToken,因此无论尝试多少次,你始终可以收到成功的响应。

此外,令牌降级功能还可以与模型降级功能配合使用。例如,配置多个 ApiToken,当请求失败时,首先尝试使用另一个 ApiToken,如果仍然失败,再降级到备用 LLM,从而进一步提高系统的稳定性和可靠性。

总结

本文重点介绍了 Higress AI 网关的模型降级和令牌降级功能。在 LLM 服务不可用时,模型降级功能能自动切换到备用 LLM,确保业务连续性。而令牌降级功能则通过健康检查机制,自动移除不可用的 ApiToken,并在恢复后重新加入,从而提升服务的稳定性和用户体验。

相关推荐
刘 怼怼3 分钟前
使用 Vue 重构 RAGFlow 实现聊天功能
前端·vue.js·人工智能·重构
程序员安仔4 分钟前
每天学新 AI 工具好累?我终于发现了“一键全能且免费不限量”的国产终极解决方案
人工智能
闭月之泪舞4 分钟前
OpenCv(五)——边缘检测
人工智能·计算机视觉
星霜旅人6 分钟前
K-均值聚类
人工智能·机器学习
lilye6618 分钟前
程序化广告行业(39/89):广告投放的数据分析与优化秘籍
大数据·人工智能·数据分析
欧雷殿19 分钟前
再谈愚蠢的「八股文」面试
前端·人工智能·面试
修复bug1 小时前
trae.ai 编辑器:前端开发者的智能效率革命
人工智能·编辑器·aigc
掘金安东尼1 小时前
为什么GPT-4o可以生成吉卜力风格照片,原理是什么?
人工智能
励志成为大佬的小杨1 小时前
pytorch模型的进阶训练和性能优化
人工智能·pytorch·python
知舟不叙1 小时前
OpenCV的基础操作
人工智能·opencv·计算机视觉