介绍

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

MaaS 基于 Alauda Build of Envoy GatewayAlauda Build of Envoy AI GatewayAuthorino。Envoy Gateway 提供 Kubernetes Gateway API 基础,Envoy AI Gateway 提供感知模型的路由和 token 计量,Authorino 负责请求身份验证。Alauda AI 通过 default AmlClusterenvoyGatewayenvoyAIGatewayauthorino 组件安装并管理这些组件;请参见 Install Alauda AI

为什么使用 MaaS?

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

  • 模型所有者可以发布一个 inference service,而无需暴露其内部路由细节。
  • 管理员可以将模型组合为订阅,并为用户分配访问权限。
  • 开发人员只需使用一个 OpenAI-compatible 网关,而无需学习每个后端的 URL 和身份验证方式。
  • 平台团队可以对每个模型强制执行 token 配额,并按用户、订阅、模型和 token 类型审查消耗情况。

MaaS 可以通过同一个网关同时暴露平台托管的 inference service 和外部 OpenAI-compatible 模型提供商。

请求流程

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

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

未通过身份验证或未授权的请求会返回 401403。超出订阅配额的请求会返回 429

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

主要概念

概念目的
Model可由订阅选择并通过 MaaS 网关调用的已发布模型。
Model source提供一个或多个模型的平台 inference service 或外部模型服务。
Subscription访问和配额单元。它将用户绑定到模型,并为每个模型定义 token 限制。
API key开发人员用于调用已订阅模型的凭证。明文 key 仅在创建时显示一次。
Usage向管理员以及开发人员显示其自身 API key 的 token 和请求消耗情况。
Guardrails可选的内容检查,可附加到订阅中的模型。

选择指南

  • MaaS 管理员指南 — 发布和导入模型,创建订阅,配置配额和 guardrails,并查看报告。
  • MaaS 用户指南 — 创建 API key,调用已订阅模型,并查看个人配额和用量。
  • MaaS Component Scaling — 扩展 Gateway、Authorino、rate limiter,以及 Guardrail engine 和 shim。

相关主题