介绍
Model as a Service (MaaS) 提供了一个受管理的网关,用于通过 OpenAI-compatible 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 组件安装并管理这些组件;请参见 Install Alauda AI。
为什么使用 MaaS?
MaaS 将模型服务与模型消费分离:
- 模型所有者可以发布一个 inference service,而无需暴露其内部路由细节。
- 管理员可以将模型组合为订阅,并为用户分配访问权限。
- 开发人员只需使用一个 OpenAI-compatible 网关,而无需学习每个后端的 URL 和身份验证方式。
- 平台团队可以对每个模型强制执行 token 配额,并按用户、订阅、模型和 token 类型审查消耗情况。
MaaS 可以通过同一个网关同时暴露平台托管的 inference service 和外部 OpenAI-compatible 模型提供商。
请求流程
对于每个请求,MaaS 执行以下检查:
- 调用方提供 API key 并完成身份验证。
- 调用方通过有效订阅拥有所请求模型的访问权限。
- 该订阅对于该用户和模型仍有剩余 token 配额。
- 网关将请求路由到所选模型,并记录模型服务返回的实际 token 用量。
未通过身份验证或未授权的请求会返回 401 或 403。超出订阅配额的请求会返回 429。
配额按用户而不是按 API key 强制执行。属于同一用户的多个 API key 共享该用户在某个订阅和模型上的额度。
主要概念
选择指南
- MaaS 管理员指南 — 发布和导入模型,创建订阅,配置配额和 guardrails,并查看报告。
- MaaS 用户指南 — 创建 API key,调用已订阅模型,并查看个人配额和用量。
- MaaS Component Scaling — 扩展 Gateway、Authorino、rate limiter,以及 Guardrail engine 和 shim。
相关主题
- Inference Service — 创建可发布到 MaaS 的
LLMInferenceService模型。 - Authenticating Consumers — 对调用方进行身份验证,并将身份传递给网关策略。
- Configuring Token Quotas — 在 inference gateway 处配置基于 token 的配额强制执行。
- Metering Token Usage — 了解 token 消耗如何被报告。
- Routing to LLM Providers — 通过受控网关路由外部提供商。