
Portkey AI Gateway是Portkey-AI团队开源的轻量级AI网关,开源自托管版本MIT许可(2026年3月Gateway 2.0起部分发行版采用Apache-2.0,以具体版本LICENSE文件为准)。以OpenAI兼容API统一路由250+语言/视觉/音频/图像模型,支持缓存、回退、重试、超时、负载均衡、边沿部署,构建产物约100kb、比基准快9.9倍。已为Postman、Haptik、Turing、MultiOn、SiteGPT等公司在生产中验证,日均处理数十亿Token。
项目概述
Portkey Gateway由Portkey-AI团队维护,是AI网关领域中TypeScript技术栈的代表作。截至2026年,项目在GitHub收获14,000+ Stars ,是全球发展最快的开源AI网关之一。
核心定位哲学:
Portkey官方自我定位是”a blazing fast AI Gateway with integrated Guardrails… Route to 200+ LLMs, 50+ AI Guardrails with 1 fast & friendly API” ——它的设计目标是在应用程序与LLM提供商之间提供一个轻量、高速、生产就绪的反向代理:
- 归一化API面:将OpenAI、Anthropic、Google、Azure、Cohere、Mistral、Ollama等20+提供商的250+模型统一到一个OpenAI兼容端点
- 生产可靠性:缓存、回退、重试、超时、负载均衡、边沿部署,开箱即用
- 极轻量:构建产物约100kb,比基准实现快9.9倍,可部署到Cloudflare Workers等边缘节点
- Guardrails集成:50+ AI护栏(PII检测、Prompt注入检查、毒性过滤、JSON Schema校验等)原生集成
2026年3月”Gateway Grew Up”重大升级:
Portkey宣布将原本仅企业版享有的生产网关能力合并回开源版本 :
- 电路断路器(Circuit Breakers):基于P99延迟或错误率可配置,探针请求测试恢复后再恢复流量
- 语义缓存(Semantic Cache):之前需SaaS订阅,现开源可用
- 预算限制(Budget Limits):在请求进入模型前于入口层强制执行
- MCP Registry:跟踪、版本化管理MCP服务器,OAuth 2.1 PKCE流认证
- 模型目录(Model Catalog):每个模型、每个提供商、含定价信息
- 指标(Metrics):实时成本、延迟、用量
💡 这次升级使Portkey Gateway从”轻量路由网关”跃升为”生产级AI基础设施”,与LiteLLM的企业治理能力对齐,同时保留TypeScript轻量优势。
许可演变(重要):
- 开源自托管版本:MIT License
- 2026年3月Gateway 2.0:部分发行版/分支采用Apache-2.0(第三方review指出)
- 企业版:闭源,提供gRPC、SSO、SCIM、AWS KMS、RBAC、JWT、审计日志、多工作区、SOC2/GDPR/HIPAA合规
⚠️ 部署时需以所使用版本的LICENSE文件为准——MIT与Apache-2.0均为宽松许可,商用无碍,但Apache-2.0包含专利授权条款,二者细微差异在极端合规场景下需留意。
它做什么 / 不做什么(关键归类):
- ✅ 做:接收OpenAI格式的请求 → 翻译成目标提供商native请求 → 调用提供商API → 翻译回OpenAI格式返回 → 在此之上提供路由、回退、重试、缓存、护栏、预算、限流、熔断、MCP管理
- ❌ 不做:自己不加载模型权重、不管理KV Cache、不执行推理计算。它严格属于”API封装/LLM网关”子类,不是推理引擎;后端接的是各家云端API或本地推理引擎(Ollama/vLLM/LocalAI)
架构与技术栈:
- 语言:TypeScript(Node.js)
- 部署形态:
npx @portkey-ai/gateway一键本地启动、Docker、Cloudflare Workers、Node.js、Kubernetes、Replit - 默认端口:8787(本地控制台 )
- SDK:Python SDK(包装OpenAI Python SDK)、JS/TS SDK(包装OpenAI JS SDK)
- 兼容性:OpenAI API & SDKs兼容,扩展参数支持所有其他提供商
支持的提供商与模型 :
- 50+提供商、1,600+模型:OpenAI、Azure OpenAI、Anthropic、Google Gemini、AWS Bedrock、Cohere、Mistral、Groq、Ollama、HuggingFace、DeepSeek、NVIDIA NIM等
- 多模态:视觉、音频、图像生成、STT、TTS等模型统一路由
- 自定义主机:通过custom host URLs路由到私有部署或本地模型
生产验证 :
- 24,000+组织在生产中运行
- 管理AI支出$180M+
- 日均处理1T+ Token
- Postman、Haptik、Turing、MultiOn、SiteGPT等公司生产使用
- 2026年4月被Palo Alto Networks收购(全球最大企业安全公司之一)
💡 Portkey Gateway的独特定位:它是”API封装/LLM网关”子类中TypeScript轻量阵营的王者。与LiteLLM(Python生态、100+提供商、企业治理全家桶)、One API(Go语言、中文社区经典、中转分发)形成差异化:Portkey Gateway的核心竞争力在”TypeScript/Node.js轻量实现 + 约100kb构建产物 + 比基准快9.9倍 + 边缘部署能力 + Guardrails原生集成 + 2026年3月生产级能力全开源” 。它是API封装层的”轻量高性能标杆”,MIT许可(2026年3月起部分发行版Apache-2.0)与LiteLLM/One API并列最干净许可阵营。Portkey Gateway自己不执行推理计算(非vLLM/SGLang那种推理引擎),而是把各家云端API或本地推理引擎统一封装成OpenAI兼容接口,在此之上提供single/fallback/loadbalance/conditional四种路由策略 、虚拟密钥、简单/语义双模缓存、请求/响应护栏、预算与速率限制、电路断路器、MCP Registry等生产级能力 。2026年4月被Palo Alto Networks收购 ,强化了企业安全合规背书;被收购后的开源承诺与路线图演进需关注官方公告。对于TypeScript/Node.js技术栈团队、需要边缘部署(Cloudflare Workers)、追求轻量与高性能、需要Guardrails原生集成的Agentic应用,Portkey Gateway是最佳选择;而对于Python技术栈、需要最广泛企业治理集成的场景,LiteLLM仍是更合适的选择。
核心能力
- 统一OpenAI兼容API:将250+模型从20+提供商归一化到单一OpenAI兼容端点
- 极轻量高性能:构建产物约100kb,比基准实现快9.9倍,可部署到Cloudflare Workers等边缘节点
- 四种路由策略:single(单目标)、fallback(故障转移链)、loadbalance(加权轮询)、conditional(基于输入元数据的条件路由)
- 自动回退:跨提供商/跨模型的故障转移链,主提供商不可用时自动切换
- 自动重试:指数退避重试,可针对429/500/502/503/504等状态码配置
- 负载均衡:跨多个API Key或提供商按权重分配流量,对抗速率限制
- 请求超时:可配置请求超时,轻松处理无响应LLM请求
- 双模缓存:简单缓存(exact-match)+ 语义缓存(embedding相似度),可降低30-50%重复性工作负载成本
- 虚拟密钥:上游提供商凭证以虚拟密钥形式抽象,消费者使用vk-xxx,上游Key轮换无需重新部署应用
- Guardrails集成:50+ AI护栏——PII检测、Prompt注入检查、毒性过滤、JSON Schema校验、自定义正则表达式、自定义LLM评判;动作支持deny/retry/alert/fallback
- 预算限制:基于成本或Token用量的使用限制,在请求进入模型前于入口层强制执行
- 速率限制:按小时/天/分钟的请求数或Token数限制
- 电路断路器:基于P99延迟或错误率可配置,探针请求测试恢复后再恢复流量,防止级联故障
- 条件路由:基于模型请求、用户元数据、请求内容或自定义请求头路由到不同目标
- 金丝雀测试:在生产中对新模型进行金丝雀测试
- 多模态路由:视觉、音频、图像生成、STT、TTS等模型统一路由
- MCP Gateway:通过MCP Gateway功能管理Model Context Protocol服务器,与标准LLM路由并列
- gRPC支持:Beta版gRPC传输,更低延迟与高效二进制序列化
- 自定义主机:通过custom host URLs路由到私有部署或本地模型
- 可观测性:请求/响应日志、性能指标(延迟/Tokens/吞吐)、成本跟踪、错误监控
- 框架集成:与LangChain、LangGraph、CrewAI、Autogen、OpenAI Agents SDK、LlamaIndex、Agno、Mastra等25+框架原生集成
- 边沿部署:可部署到Cloudflare Workers,最小延迟
- 生产验证:日均处理1T+ Token,24,000+组织生产使用,Postman/Haptik/Turing/MultiOn/SiteGPT等公司验证
优势亮点
- MIT最干净许可(2026年3月起部分发行版Apache-2.0):开源自托管版本商用、修改、再分发无任何限制
- TypeScript轻量标杆:约100kb构建产物、比基准快9.9倍,是API封装层轻量高性能的代名词
- 边缘部署能力:可部署到Cloudflare Workers,是少数支持边沿节点的AI网关
- Guardrails原生集成:50+ AI护栏开箱即用,这是与LiteLLM/One API的重要差异化能力
- 2026年3月生产级能力全开源:电路断路器、语义缓存、预算限制、MCP Registry、模型目录、指标——原本企业版专属功能全部开源
- 被Palo Alto Networks收购:2026年4月被全球最大企业安全公司之一收购,企业安全合规背书极强
- 生产规模验证:日均1T+ Token、24,000+组织、$180M+ AI支出管理
- 四种路由策略完备:single/fallback/loadbalance/conditional覆盖所有生产路由场景
- 虚拟密钥抽象:上游Key轮换无需重新部署,企业级密钥管理
- 框架生态最丰富:与LangChain/CrewAI/Autogen/OpenAI Agents等25+框架原生集成
- 多模态统一:视觉/音频/图像/STT/TTS统一路由,是真正的多模态网关
局限
- 自己不执行推理:Portkey Gateway是协议转换与流量治理层,后端必须接各家API或本地推理引擎(Ollama/vLLM)
- 许可演变需留意:开源版本MIT,但2026年3月Gateway 2.0起部分发行版采用Apache-2.0 ,部署时需核对所使用版本的LICENSE文件
- 被收购后的路线图不确定性:2026年4月被Palo Alto Networks收购 ,开源节奏与商业策略的长期走向需观察
- 企业级治理需商业版:SSO、SCIM、审计日志、RBAC、多工作区、SOC2/GDPR/HIPAA合规等企业特性在闭源企业版
- 深度可观测性需托管云或自建:有意义的observability需使用Portkey Cloud托管($49/月起100K logged requests)或自建日志基础设施
- Python生态不如LiteLLM:虽然提供Python SDK,但核心实现是TypeScript,Python深度定制场景LiteLLM更自然
- 国产模型适配:主要面向海外50+提供商,国产模型(文心/通义/讯飞/ChatGLM/豆包)覆盖不如One API全面
- Node.js运行时依赖:需要Node.js环境,纯Go/Python技术栈团队需评估运行时引入
适用人群
- TypeScript/Node.js技术栈团队:原生TypeScript实现,与Node.js生态无缝集成
- 需要边缘部署的场景:Cloudflare Workers部署,最小延迟
- Agentic应用开发者:MCP Gateway原生支持,虚拟密钥+Guardrails满足Agent生产需求
- 需要Guardrails原生集成的团队:50+ AI护栏开箱即用,PII/Prompt注入/毒性/JSON Schema全覆盖
- 多框架集成需求:LangChain/CrewAI/Autogen/OpenAI Agents等25+框架原生集成
- 追求轻量与高性能:约100kb构建产物、比基准快9.9倍
- 企业安全合规要求:被Palo Alto Networks收购,企业安全背书;企业版提供SOC2/GDPR/HIPAA
- 多提供商路由与故障转移:single/fallback/loadbalance/conditional四种策略覆盖所有生产路由场景
- 预算敏感团队:预算限制+速率限制+双模缓存,成本治理完备
安装与部署
1. 环境要求
- Node.js(需npx)
- 或Docker
- 或Cloudflare Workers账户(边沿部署)
2. 一键本地启动(最简)
npx @portkey-ai/gateway # AI Gateway运行在 http://localhost:8787 # 控制台:http://localhost:8787/public/
3. Docker部署
# Docker运行 docker run -p 8787:8787 portkeyai/gateway # 或Docker Compose # version: "3.9" # services: # portkey-gateway: # image: portkeyai/gateway # ports: # - "8787:8787"
4. Cloudflare Workers边沿部署
# 使用Wrangler部署到Cloudflare Workers wrangler deploy # 配置见 wrangler.toml
5. Python SDK调用
from portkey_ai import Portkey
# 基础调用
portkey = Portkey(
api_key="pk-...",
virtual_key="vk-..."
)
response = portkey.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
# 路由到Anthropic
response = portkey.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Hello!"}]
)
6. OpenAI SDK兼容调用
from openai import OpenAI
# 只需替换base_url为Portkey网关地址
client = OpenAI(
api_key="pk-...",
base_url="https://api.portkey.ai/v1",
default_headers={
"x-portkey-provider": "anthropic",
"x-portkey-virtual-key": "vk-anthropic-prod-..."
}
)
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Hello!"}]
)
7. 回退路由配置
from portkey_ai import Portkey
config = {
"strategy": {"mode": "fallback"},
"targets": [
{
"virtual_key": "anthropic-vk",
"override_params": {"model": "claude-sonnet-4-6"},
"retry": {"attempts": 2, "on_status_codes": [429, 500, 502, 503]}
},
{
"virtual_key": "openai-vk",
"override_params": {"model": "gpt-4o"}
}
]
}
client = Portkey(api_key="pk-...", config=config)
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Complex task"}]
)
8. 负载均衡配置
lb_config = {
"strategy": {"mode": "loadbalance"},
"targets": [
{"virtual_key": "openai-vk-1", "weight": 50},
{"virtual_key": "openai-vk-2", "weight": 30},
{"virtual_key": "openai-vk-3", "weight": 20}
]
}
client = Portkey(api_key="pk-...", config=lb_config)
9. 语义缓存配置
cache_config = {
"cache": {
"mode": "semantic", # simple | semantic
"max_age": 3600
},
"virtual_key": "openai-vk"
}
client = Portkey(api_key="pk-...", config=cache_config)
# 第二次相同或语义相似调用将从缓存返回
r1 = client.chat.completions.create(model="gpt-4o", messages=[...])
r2 = client.chat.completions.create(model="gpt-4o", messages=[...])
print(r2.extensions.cache_status) # HIT
10. Guardrails配置
guardrail_config = {
"virtual_key": "anthropic-vk",
"guardrails": {
"input_guardrails": ["no-pii", "topic-restriction"],
"output_guardrails": ["no-harmful-content", "length-check"],
"on_fail": "block" # block | warn | replace
}
}
client = Portkey(api_key="pk-...", config=guardrail_config)
11. 部署前必检清单
- 确认仓库位于
github.com/Portkey-AI/gateway(官方) - 许可:开源自托管版本MIT (2026年3月Gateway 2.0起部分发行版采用Apache-2.0 ,以所使用版本的LICENSE文件为准)
- 严格属于”API封装/LLM网关”子类,自己不执行推理计算,后端需接各家API或本地推理引擎
- 200+ LLM / 50+提供商 / 1,600+模型支持
- 本地启动:
npx @portkey-ai/gateway,默认端口8787 - 2026年4月被Palo Alto Networks收购 ,开源承诺与路线图需关注官方公告
- 企业级特性(SSO/SCIM/审计日志/RBAC/SOC2/GDPR/HIPAA)在闭源企业版
- 深度可观测性需Portkey Cloud托管($49/月起)或自建日志基础设施
- 生产级能力(电路断路器/语义缓存/预算限制/MCP Registry)在2026年3月Gateway 2.0起全开源
- TypeScript/Node.js技术栈,需Node.js运行时
相关导航


OpenRouter
硅基流动

n1n
LiteLLM

LocalAI

Kong AI Gateway

