介绍

Model as a Service (MaaS) 提供了一个托管网关,用于通过与 OpenAI 兼容的 API 提供大型语言模型服务。它为平台团队提供了一种一致的方式来发布模型、授予访问权限、强制执行 token 配额并了解使用情况;同时,应用开发人员可以使用 API key 调用其已订阅的模型。

MaaS 基于 Alauda Build of Envoy Gateway、Alauda Build of Envoy AI Gateway 和 Authorino。Envoy Gateway 提供 Kubernetes Gateway API 基础,Envoy AI Gateway 提供感知模型的路由和 token 计数,Authorino 负责对请求进行身份验证。Alauda AI 通过 default AmlCluster 的 envoyGateway、envoyAIGateway 和 authorino 组件安装并管理这些组件;请参见 安装 Alauda AI。

为什么使用 MaaS?

MaaS 将模型服务与模型消费分离:

  • 模型所有者可以发布一个推理服务,而无需暴露其内部路由细节。
  • 管理员可以将模型组合成订阅并分配给用户。
  • 开发人员使用一个与 OpenAI 兼容的网关,而不必学习每个后端的 URL 和身份验证方式。
  • 平台团队可以按模型强制执行 token 配额,并按用户、订阅、模型和 token 类型查看消耗情况。

MaaS 可以通过同一个网关同时暴露平台托管的推理服务和外部与 OpenAI 兼容的模型提供方。

请求流程

对于每个请求,MaaS 会执行以下检查:

  1. 调用方提供 API key 并通过身份验证。
  2. 调用方通过有效订阅拥有对所请求模型的访问权限。
  3. 该订阅对该用户和模型仍有剩余的 token 配额。
  4. 网关将请求路由到所选模型,并记录模型服务返回的实际 token 使用量。

未经身份验证或未授权的请求会返回 401 或 403。超出订阅配额的请求会返回 429。

配额按用户强制执行,而不是按 API key 强制执行。属于同一用户的多个 API key 会共享该用户在某个订阅和模型上的额度。

主要概念

概念作用
模型已发布的模型,可由订阅选择并通过 MaaS 网关调用。
模型来源提供一个或多个模型的平台推理服务或外部模型服务。
订阅访问和配额单位。它将用户绑定到模型,并为每个模型定义 token 限额。
API key用于调用已订阅模型的开发人员凭证。明文 key 仅在创建时显示一次。
使用情况管理员和开发人员可见的 token 和请求消耗情况,其中开发人员仅能查看自己的 API key。
Guardrails可选的内容检查,可附加到订阅中的模型。

选择指南

  • MaaS 管理员指南 — 发布和导入模型,创建订阅,配置配额和 Guardrails,并查看报告。
  • MaaS 用户指南 — 创建 API key,调用已订阅模型,并查看个人配额和使用情况。
  • MaaS 组件扩缩容 — 扩缩容 Gateway、Authorino、限流器以及 Guardrail engine 和 shim。
  • MaaS 常见问题 — 排查转发到非默认端口上的外部模型服务的问题。

相关主题