You need to enable JavaScript to run this app.
导航
AI 多模型代理
最近更新时间:2024.12.17 10:49:29首次发布时间:2024.12.17 10:49:29

AI 网关支持对接常见的大语言模型(OpenAI、豆包、月之暗面、通义千问等),为大语言模型提供统一、高可用的 AI 网关功能。本文介绍如何通过 AI 网关接入大语言模型。

背景信息

API 网关(API Gateway,APIG)支持作为 AI 网关,为常见大语言模型提供托管的云原生网关功能,实现统一的多模型访问代理功能。同时,API 网关支持对接 托管 Prometheus 产品,实现实例级别、服务级别的观测和告警。

多模型代理访问

在 AI 应用开发和构建的过程中,尤其需要对接多个不同模型厂商时。由于不同厂商或模型拥有各自独特的接口和调用方式。为适应不同的大模型,开发者必须在应用代码中适配多个厂商或模型的调用信息。这使得集成过程变得尤为复杂且耗时。

通过使用 AI 网关实现多模型代理,统一不同厂商、不同模型之间的协议和调用方式。开发者无需再针对每个模型厂商的 API 进行单独适配。

  • 对于已开发完成的 AI 应用,由于 AI 网关实现了对模型类型、API-Key 的托管,系统会自动改写访问请求中的相关信息。因此,存量应用可以不经修改,直接通过 AI 网关访问多个模型厂商,能够帮助用户更快速、更平滑地迁移到新的模型(如豆包、月之暗面等)。
  • 对于新开发的 AI 应用,只需遵循 AI 网关统一的接口规范进行开发,即可访问所有的模型,大大简化了集成的难度和工作量。同时,后续增加新的厂商或模型时,开发者只需在网关上进行一次修改,即可实现对所有使用该协议的模型的适配,无需修改应用本身,降低了维护成本。

alt

自定义接入点和语义

使用 AI 网关对大模型进行访问代理时,允许用户使用自定义的域名,并能够使用更具备实际意义的接入点语义,提升 AI 大模型使用时的用户体验。例如,对于众多大模型来说,/chat/completions接入点主要用于生成对话。使用 AI 网关代理大模型后,您可以使用更有实际意义的接入点名称,使用/chatbot替代/chat/completions,方便用户快速识别该接入点的含义,屏蔽不同厂商接入点的差异性。

alt

前提条件

说明

使用火山方舟平台和豆包大模型时,还需要创建接入点,详情请参见 创建推理接入点(Endpoint)

  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
  • 已在域名注册商处获取待绑定的域名,并在工信部完成 ICP 备案或接入备案。详情请参见 备案流程
  • API 网关

操作步骤

步骤一:创建 Upstream

  1. 在左侧导航栏选择 后端管理 > Upstream 列表
  2. 在 Upstream 列表页面,单击 创建 Upstream
  3. 在创建 Upstream 页面,按要求填写参数信息。
    • 基本信息:配置 Upstream 的名称和所属实例。
      alt
    • 后端配置:后端服务选择 AI 模型代理
      alt
      配置项说明
      模型类型在下拉菜单中选择需要代理的大语言模型类型,目前支持 OpenAPI、豆包、月之暗面、通义千问。
      模型地址选择大语言模型后,系统会自动填充对应大语言模型的地址,请确认该地址正确。如有需要,支持修改模型地址。
      模型 API Key配置大语言模型的 API Key,用于完成授权认证。
      高级设置单击 添加,支持在 HTTP 访问报文的 Header 或 Body 中,添加该模型服务商的特殊字段。
  4. 单击 确定,完成创建 Upstream。

步骤二:创建路由

说明

  • 系统支持为指定服务配置单条路由,也支持为多个服务批量创建路由。本文以指定服务配置单条路由为例。
  • 为多个服务批量创建路由的操作方法,请参见 创建路由
  1. 在左侧导航栏选择 路由管理 > 服务列表(域名)
  2. 在服务列表页面,单击目标服务名称,进入当前服务概览页面。
  3. 单击 创建路由,配置路由信息。
    • 基本信息:配置路由的名称、请求方法 Method 和 路径 Path。
      alt
    • Upstream 流量分发:配置路由后端对接的 Upstream 和流量权重。
      alt
      配置项说明
      后端类型选择接入的 Upstream 类型,本例中选择 AI 模型代理
      选择 Upstream在下拉菜单中选择配置 AI 模型类型的 Upstream。

      权重

      配置当前 Upstream 的流量权重。整数形式,取值范围为 1~1000。

      说明

      系统会根据 Upstream 配置的权重总值和各 Upstrem 全栈占比,按比例显示流量划分,百分比数字精确到两位小数。

      目标模型配置目标模型。当使用火山方舟平台和豆包大模型时,此处为接入点 ID,详情请参见 创建推理接入点(Endpoint)
      目标路径配置模型的路径。
  4. 单击 确定,创建完成路由。

结果验证

在本地环境中,使用自定义接入点调用大模型并获取应答。

curl http://apig-example.com \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ep-20***-***",
    "messages": [
      {"role": "system","content": "你是豆包,是由字节跳动开发的 AI 人工智能助手."},
      {"role": "user","content": "常见的十字花科植物有哪些?"}
    ]
  }'

注意

通过 AI 网关调用大模型时,model为必填字段,但可以任意取值,AI 网关会将其值替换为路由中 目标模型 的配置。

预期访问结果如下。表示可以通过 AI 网关正确访问到目标大模型。

alt