介绍
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 会执行以下检查:
- 调用方提供 API key 并通过身份验证。
- 调用方通过有效订阅拥有对所请求模型的访问权限。
- 该订阅对该用户和模型仍有剩余的 token 配额。
- 网关将请求路由到所选模型,并记录模型服务返回的实际 token 使用量。
未经身份验证或未授权的请求会返回 401 或 403。超出订阅配额的请求会返回 429。
配额按用户强制执行,而不是按 API key 强制执行。属于同一用户的多个 API key 会共享该用户在某个订阅和模型上的额度。
主要概念
选择指南
- MaaS 管理员指南 — 发布和导入模型,创建订阅,配置配额和 Guardrails,并查看报告。
- MaaS 用户指南 — 创建 API key,调用已订阅模型,并查看个人配额和使用情况。
- MaaS 组件扩缩容 — 扩缩容 Gateway、Authorino、限流器以及 Guardrail engine 和 shim。
- MaaS 常见问题 — 排查转发到非默认端口上的外部模型服务的问题。
相关主题
- Inference Service — 创建可发布到 MaaS 的
LLMInferenceService模型。 - Authenticating Consumers — 对调用方进行身份验证,并将身份信息传递给网关策略。
- Configuring Token Quotas — 在推理网关处配置基于 token 的配额强制执行。
- Metering Token Usage — 了解 token 消耗如何被报告。
- Routing to LLM Providers — 通过受控网关路由外部提供方。