portkey-ai/gateway · 上手攻略

  • 仓库:portkey-ai/gateway
  • 链接:https://github.com/Portkey-AI/gateway
  • 分类:ai
  • 作者:Tom
  • 更新:2026-07-10

这是什么

Portkey AI Gateway 是一个开源的 AI 网关(LLM Router),用单一 API 接口聚合 1600+ 语言、视觉、音频和图像模型。它既是路由层(自动重试、负载均衡、降级),也是安全层(Guardrails 内容审查),同时自带可观测性(监控、日志、成本追踪)。本质上,它是你所有 AI 应用访问大模型的统一入口。

核心定位:不再需要在代码里硬编码各种 provider SDK,一个端点搞定所有 LLM 调用。

解决什么问题

多 LLM provider 时代给开发者带来了新的复杂度:

  • ** provider 切换成本**:从 OpenAI 切到 Anthropic 要改代码,从 GPT-4 切到 Gemini 要换 SDK
  • 稳定性风险:单 provider 调用遇到限流或宕机,应用直接挂掉
  • 成本不可控:没有统一视角,容易超出预算
  • 合规需求:企业需要内容审查、访问控制、SOC2/HIPAA 合规

Portkey Gateway 在应用层和 provider API 层之间加了一层,所有请求都经过这个 gateway,对应用代码透明。

快速安装

最快方式(Node.js / npm)

npx @portkey-ai/gateway
# Gateway 运行在 http://localhost:8787/v1
# 控制台:http://localhost:8787/public/

pip(Python SDK)

pip install -qU portkey-ai

Docker

docker run -e PORTKEY_API_KEY=your_key \
  -p 8787:8787 \
  portkeyai/gateway:latest

Cloudflare Workers / Replit / Kubernetes

详见仓库 docs/installation-deployments.md

核心用法

Python SDK(最常用)

from portkey_ai import Portkey

# OpenAI 兼容接口,不需要改现有代码
client = Portkey(
    provider="openai",        # 或 'anthropic', 'bedrock', 'groq' 等
    authorization="sk-***"    # 实际 provider 的 API key
)

# 完全兼容 OpenAI SDK
client.chat.completions.create(
    messages=[{"role": "user", "content": "What's the weather like?"}],
    model="gpt-4o-mini"
)

配置重试与降级

config = {
    "retry": {"attempts": 5},
}

client = client.with_options(config=config)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Tell me a story"}]
)
# 请求失败自动重试最多 5 次(指数退避)

Guardrails(内容审查)

config = {
    "output_guardrails": [{
        "default.contains": {
            "operator": "none",
            "words": ["Apple"]   # 禁止回复包含 Apple
        },
        "deny": True
    }]
}

client = client.with_options(config=config)

client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Reply randomly with Apple or Bat"}]
)
# 永远返回 "Bat",因为含 "Apple" 的回复被拦截

负载均衡

# 同时使用多个 API key,自动分配流量
# 支持权重配置、故障自动切换

REST API(任何语言)

curl -X POST http://localhost:8787/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "x-portkey-provider: openai" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

支持的 Provider(部分)

Provider 流式输出 状态
OpenAI ✅ 支持
Azure OpenAI ✅ 支持
Google Gemini ✅ 支持
Anthropic ✅ 支持
Cohere ✅ 支持
Mistral ✅ 支持
Together AI ✅ 支持
Perplexity ✅ 支持
Ollama ✅ 支持
DeepSeek ✅ 支持
NVIDIA NIM ✅ 支持
... 1600+ 模型 — —

MCP Gateway(企业功能)

如果你在使用 MCP(Model Context Protocol)服务,Portkey MCP Gateway 提供: - 统一认证:在 gateway 侧做一次认证,MCP server 收到已验证请求 - 访问控制:细粒度控制哪个团队/用户可以访问哪些工具 - 全链路可观测:每个 tool call 记录完整上下文(谁、什么参数、响应、延迟) - 身份转发:自动将用户身份(邮箱、团队、角色)传给 MCP server

支持 Claude Desktop、Cursor、VS Code 等主流 MCP 客户端。

典型适用场景

  • 多 provider 切换:产品需要同时支持 GPT-4o、Gemini 和 Claude,通过 gateway 统一管理
  • 高可用 AI 应用:关键业务场景不允许 LLM 调用失败,gateway 的自动重试+降级确保稳定性
  • 企业合规:需要内容审查(PII 检测、毒害内容过滤)但不想在业务代码里写规则
  • 成本控制:需要追踪各 provider 实际消耗,识别浪费
  • MCP 管理:用 MCP 构建 Agent 时需要统一的认证和可观测性层

坑与注意

  1. Gateway 2.0 即将发布:当前开源版为 1.x,2.0 预发布版在 2.0.0 分支,企业核心功能正在合并进开源版本,生产环境使用前请 check 最新发布分支状态。

  2. x-portkey-provider header:使用 REST API 时必须指定 provider,否则 gateway 不知道往哪个后端路由。

  3. API Key 管理:测试时可以用 authorization 传明文 key,生产环境建议使用 Portkey 平台生成的虚拟 key,避免在代码中硬编码真实 provider key。

  4. Guardrails 仅后置过滤:当前 guardrail 在 model 输出后才检查,不会阻止模型生成有害内容,只是拦截后返回错误或重试。如果需要前置拦截,需要自行在应用层实现。

  5. 部分高级功能需要企业版:Prompt 模板管理、成本优化(provider 自动切换)在托管版/企业版中提供,开源版不含这些特性。

  6. 托管 vs 自托管:Portkey 同时提供云托管版本(portkey.ai)和纯开源自托管版本,两者功能集有差异,企业采购前需确认功能清单。

与同类对比

工具 定位 Guardrails 多模态 自托管
Portkey Gateway LLM 网关 + 安全层 内置 50+ ✅ ✅
LiteLLM LLM 统一调用 需自建 ✅ ✅
OpenRouter SaaS LLM 聚合 无 ✅ ❌
Cloudflare AI Gateway CDN 层 LLM 加速 基础 ✅ ❌(CF 托管)
APImesh LLM API 聚合 基础 ✅ 部分

LiteLLM 是最直接的竞品,两者都做 LLM 统一路由,Portkey 的差异化在于:内置 Guardrails 数量多、企业 MCP Gateway 支持、以及 Portkey 平台提供观测和 key 管理能力。如果你只需要简单路由+重试,LiteLLM 更轻量;如果需要安全合规+可观测性,Portkey 更完整。

一句话推荐结论

在多 provider LLM 时代,Portkey AI Gateway 是目前开源方案中 Guardrails 最成熟、MCP 支持最完善、企业可观测性做得最完整的选择,适合需要统一路由+安全合规的生产 AI 应用。


来源:GitHub README (https://github.com/Portkey-AI/gateway)、portkey.ai 官方文档