AI Gateway:1600+模型的统一路由网关

仓库:gateway-ai/gateway  |  ⭐ 12.8k  |  语言:TypeScript  |  协议:MIT

项目简介

AI Gateway 是一个开源的AI网关服务,通过一个统一的API将请求路由到1600+个大语言模型(来自50+个提供商)。它内置了故障转移、自动重试、内容护栏、成本控制和负载均衡等企业级功能。无论你的应用需要调用GPT-4、Claude、Gemini还是开源模型,AI Gateway都能通过单一端点提供一致的OpenAI兼容API,大幅简化多模型管理复杂度。

对于需要自托管LLM网关的场景,可以参考 New API自托管网关教程 了解另一种网关方案。

核心功能与架构

模块功能配置示例
Unified APIOpenAI兼容端点/v1/chat/completions
Model Registry1600+模型注册表按提供商/能力筛选
Fallback Chain多级故障转移gpt-4 → claude → gemini
Retry Policy智能重试策略指数退避、条件重试
Guardrails内容安全护栏输入/输出过滤
Cost Control成本追踪与限制按用户/项目/模型
Load Balancer多实例负载均衡权重/延迟/轮询
Rate Limiter请求限流TPM/RPM/并发控制
Cache Layer语义缓存相似请求复用结果

安装指南

支持Docker、npm和源码三种部署方式:

# 方式一:Docker快速部署
docker run -d -p 8080:8080 \
  -e CONFIG_PATH=/config.yaml \
  -v ./config.yaml:/config.yaml \
  gatewayai/gateway:latest

# 方式二:npm安装
npm install -g @gateway-ai/gateway
gateway init --port 8080
gateway start

# 方式三:源码编译
git clone https://github.com/gateway-ai/gateway.git
cd gateway
npm install && npm run build
npm start

配置文件示例:

# config.yaml
port: 8080

providers:
  - name: openai
    apiKey: ${OPENAI_API_KEY}
    models: [gpt-4o, gpt-4-turbo, gpt-3.5-turbo]

  - name: anthropic
    apiKey: ${ANTHROPIC_API_KEY}
    models: [claude-3.5-sonnet, claude-3-opus]

  - name: google
    apiKey: ${GEMINI_API_KEY}
    models: [gemini-1.5-pro, gemini-1.5-flash]

  - name: local
    url: http://localhost:11434
    models: [llama3.1, deepseek-coder-v2]

# 故障转移链
fallbacks:
  - primary: gpt-4o
    chain: [claude-3.5-sonnet, gemini-1.5-pro]

# 成本控制
cost:
  dailyLimit: 100  # 美元
  perUserLimit: 10
  alertWebhook: https://hooks.slack.com/xxx

使用示例

部署后,所有请求使用OpenAI兼容API格式:

# 基础调用(自动路由到最佳模型)
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-key" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

# TypeScript SDK
import { Gateway } from "@gateway-ai/sdk";

const client = new Gateway({ baseUrl: "http://localhost:8080" });

// 指定故障转移链
const response = await client.chat.completions.create({
  model: "gpt-4o",
  fallback: ["claude-3.5-sonnet", "gemini-1.5-pro"],
  messages: [{ role: "user", content: "解释量子计算" }],
  retry: { maxAttempts: 3, backoff: "exponential" },
  guardrails: {
    input: { toxicity: true, pii: true },
    output: { toxicity: true },
  },
});

// 按能力选择模型
const smart = await client.chat.completions.create({
  model: "auto",  // 自动选择
  capability: { reasoning: "high", cost: "low" },
  messages: [{ role: "user", content: "写一个排序算法" }],
});

与同类网关对比

特性AI GatewayNew APIOpenCodex
模型数量1600+多提供商按工具路由
护栏系统✅ 内置基础
语义缓存
成本控制多维度计费系统预算
API兼容OpenAIOpenAI多协议
适用规模企业级团队/企业个人

📚 常见问题

AI Gateway是什么?

AI Gateway 是一个开源的AI网关服务,通过一个统一的API将请求路由到1600+个大语言模型(来自50+个提供商)。它内置了故障转移、自动重试、内容护栏、成本控制和负载均衡等企业级功能。无论你的应用需要调用GPT-4、Claude、Gemini还是开源模型,AI Gateway都能通过单一端点提供一致的Ope