AI 网关
Nantian Gateway 可以在数据面中处理 AI 流量,让应用通过一个 Kubernetes Gateway 完成路由,同时由平台统一管理 provider、凭证、token 配额和可观测性。
AI 网关能做什么
Section titled “AI 网关能做什么”AI Gateway 功能围绕两个 Kubernetes 资源构建:
| 资源 | 用途 |
|---|---|
AIService | 定义一个 AI provider/模型目标,包括 provider 格式、模型名称、认证、超时、重试和可观测性设置。 |
TokenPolicy | 将 token 和请求限制附加到本地 Gateway API 目标上,例如 HTTPRoute。 |
运行时包含 OpenAI、Anthropic 和 Ollama 格式处理、token 统计、速率限制、prompt 和 PII 处理、语义缓存、回退、A/B 测试、成本追踪和多租户上下文等模块。在稳定的 CRD 字段显式暴露你希望配置的行为之前,请将这些视为运行时模块。
AI Gateway 提供以下能力,每项均可通过 CRD 配置:
根据复杂度分类、请求属性或 header 选择,将请求路由到不同的 LLM 模型。了解更多
利用嵌入向量相似度,对语义相近的 prompt 缓存 LLM 响应,减少重复的 API 调用和成本。了解更多
在请求到达模型之前,检测并拦截 prompt 注入攻击和可疑的关键词模式。了解更多
过滤 prompt 和模型响应中的暴力、仇恨、自残、剥削和非法内容。了解更多
PII 脱敏
Section titled “PII 脱敏”检测并遮蔽 prompt 和响应中的个人身份信息,如电子邮件地址、电话号码和凭证。了解更多
A/B 测试
Section titled “A/B 测试”通过加权选择在模型变体之间分流,对比各 provider 的性能、成本和质量。了解更多
按顺序配置备用模型,当主模型失败或超时时,请求自动级联到回退 provider。了解更多
按模型、租户和路由监控 token 用量和预估成本,用于计费和预算分析。了解更多
将多个 API key 映射到租户,每个租户拥有独立的模型白名单、速率限制和用量配额。了解更多
Token 策略
Section titled “Token 策略”对 AI 路由实施每分钟和每小时的 token 速率限制,支持可配置的突发倍数和拒绝策略。了解更多
Langfuse 集成
Section titled “Langfuse 集成”将 trace、generation 和 score 发送到 Langfuse,用于 LLM 可观测性和模型性能调试。了解更多
从实验性功能开始,确保所需 CRD 已安装:
kubectl get crd aiservices.gateway.nantian.devkubectl get crd tokenpolicies.gateway.nantian.dev使用 Helm 时,启用 AI Gateway 的最小配置如下:
featureMode: experimentalcontrolplane: config: features: enableAiGateway: true配置 AI Provider
Section titled “配置 AI Provider”AIService 描述 provider 和模型目标。Provider 可以使用 OpenAI、Anthropic 或 Ollama 等格式,取决于你路由到的后端。
apiVersion: gateway.nantian.dev/v1alpha1kind: AIServicemetadata: name: openai-gpt4o namespace: nantian-demospec: provider: openai format: openai model: gpt-4o auth: type: bearer secret: openai-api-key key: token header: Authorization timeout: 60s retry: maxRetries: 2 backoff: 500ms控制面将资源转换为运行时配置,并分发到各数据面实例。请将 provider 凭证保存在 Kubernetes Secret 中,避免在路由清单中嵌入 token。
实施 Token 配额
Section titled “实施 Token 配额”AI 流量通常需要基于 token 的限制,而不仅仅是基于请求的限制。TokenPolicy 可以将限制附加到路由上:
apiVersion: gateway.nantian.dev/v1alpha1kind: TokenPolicymetadata: name: ai-route-quota namespace: nantian-demospec: targetRefs: - group: gateway.networking.k8s.io kind: HTTPRoute name: ai-route tokensPerMinute: 100000 tokensPerHour: 5000000 requestsPerMinute: 1000 scope: route burst: 1.5 onLimit: reject请求限制用于流量整形,token 限制用于成本控制。设置清晰的 onLimit 行为,让调用方获得可预测的失败模式。
观测 AI 流量
Section titled “观测 AI 流量”AIService 可以携带 Langfuse 和 OpenTelemetry 设置。Nantian Gateway 不内置这些后端,需要将字段指向你自己部署的系统。
apiVersion: gateway.nantian.dev/v1alpha1kind: AIServicemetadata: name: observed-openai namespace: nantian-demospec: provider: openai format: openai model: gpt-4o observability: langfuse: host: https://langfuse.example.com publicKey: langfuse-public secretKey: langfuse-secret otel: endpoint: http://otel-collector.observability.svc:4317 serviceName: nantian-ai-gateway将 AI 特定的遥测数据与标准的指标和故障排查工作流结合使用。
生产环境检查清单
Section titled “生产环境检查清单”- 仅在能够容忍 API 变更的集群中启用实验性模式。
- 在应用清单之前安装并验证
AIService和TokenPolicyCRD。 - 将 provider 凭证存储在 Kubernetes Secret 中。
- 初始的请求和 token 限制应设置为 fail-closed 模式。
- 上线后监控控制面和数据面的日志。
- 在路由生产 AI 流量之前,确认指标和 trace 正常工作。