当前位置: 首页 > article >正文

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

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

一键启动 Higress AI 网关

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

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 和通义千问了。

# 请求 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 路由转发至通义千问。

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

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

# 响应内容来自 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 网关向通义千问发送请求,可以多次尝试,你会发现始终能够收到来自通义千问的成功响应。

# 请求通义千问
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,并在恢复后重新加入,从而提升服务的稳定性和用户体验。


http://www.kler.cn/a/557787.html

相关文章:

  • JavaScript异步编程方式多,区别是什么?
  • 《MB-TaylorFormer:通过泰勒公式扩展的多分支高效Transformer用于图像去雾》学习笔记
  • 线程池的介绍
  • 芯谷TDA2003:汽车收音机及收录机的音频功率放大器之选
  • GStreamer源码安装1.24版本
  • 项目POC的作用是什么
  • 机器学习模型训练超参数优化使用sklearn库里网格搜索(Grid Search)方法所有参数含义解释
  • 1.9 重叠因子:中点价格(MidPoint over period, MIDPOINT)概念与Python实战
  • halcon 条形码、二维码识别、opencv识别
  • 亚马逊爬虫还有哪些注意事项?
  • 【Kafka系列】Kafka 消息传递保障机制
  • 尝试在exo集群下使用deepseek模型:第一步,调通llama
  • 合并区间(56)
  • 在群晖上使用Docker安装思源笔记
  • 力扣每日一题【算法学习day.132】
  • React进阶之前端业务Hooks库(二)
  • 【Java基础-49.1】Java线程池之FixedThreadPool:使用、原理与应用场景详解
  • 【个人开源】——从零开始在高通手机上部署sd(一)
  • ath9k(Atheros芯片)开源驱动之wifi连接
  • 探寻 AI 发展新航道:下一个 “S 曲线” 的突破点在哪?