最佳实践

充分利用 AI Router Platform 的强大功能,优化您的 AI 应用性能和成本

目录

1. 智能路由策略选择

选择合适的调度策略

根据您的业务场景选择最合适的路由策略:

轮询 (Round Robin)

适用场景:

  • • 提供商性能相近
  • • 需要均衡负载
  • • 成本相似的场景

延迟优先

适用场景:

  • • 实时对话应用
  • • 用户体验优先
  • • 低延迟要求

成本优先

适用场景:

  • • 批量处理任务
  • • 预算有限
  • • 非实时应用

故障转移

适用场景:

  • • 高可用性要求
  • • 关键业务应用
  • • 需要容错能力
配置路由策略示例
POST /v1/routing/config
{
  "strategy": "latency_priority",
  "fallback_strategy": "failover",
  "providers": [
    {
      "name": "openai",
      "priority": 1,
      "weight": 60
    },
    {
      "name": "anthropic",
      "priority": 2,
      "weight": 40
    }
  ]
}

2. API Key 管理

使用 Key Pool 实现负载均衡

将多个 API Key 添加到 Key Pool 中,系统会自动进行负载均衡和故障转移

POST /v1/providers/openai/keys

定期轮换 API Key

建议每 90 天轮换一次 API Key,降低密钥泄露风险

监控 Key 使用情况

定期检查各个 Key 的调用量、成功率和延迟,及时发现异常

按环境隔离 Key

开发、测试和生产环境使用不同的 API Key,避免互相影响

3. 成本优化

成本优化策略

  • 选择合适的模型:简单任务使用 GPT-3.5 或 Claude Instant
  • 优化 Prompt:精简提示词,减少 token 消耗
  • 实施缓存:缓存常见请求结果,避免重复调用
  • 批量处理:合并相似请求,减少 API 调用次数
  • 设置预算告警:配置成本预警,避免超支

Token 使用优化

优化前
messages = [
  {"role": "system", "content": "You are a helpful assistant that provides detailed explanations..."},
  {"role": "user", "content": "What is the capital of France? Please provide a comprehensive answer."}
]
优化后
messages = [
  {"role": "system", "content": "Concise assistant"},
  {"role": "user", "content": "Capital of France?"}
]

成本监控配置

设置预算告警
POST /v1/billing/alerts
{
  "type": "budget_threshold",
  "threshold": 100.0,
  "currency": "USD",
  "period": "monthly",
  "notify_email": "admin@example.com"
}

4. 错误处理与重试

实现指数退避重试

Python 示例
import time
from openai import OpenAIError, RateLimitError

def exponential_backoff_retry(func, max_retries=3):
    for attempt in range(max_retries):
        try:
            return func()
        except RateLimitError:
            if attempt == max_retries - 1:
                raise
            wait_time = (2 ** attempt) * 1
            time.sleep(wait_time)
        except OpenAIError as e:
            print(f"Error: {e}")
            if attempt == max_retries - 1:
                raise
            time.sleep(1)

错误分类处理

不可重试错误

  • • 400 - 请求参数错误
  • • 401 - 认证失败
  • • 403 - 权限不足

直接返回错误,修正后重新请求

可重试错误

  • • 429 - 速率限制
  • • 500 - 服务器错误
  • • 503 - 服务不可用

使用指数退避进行重试

使用平台的自动故障转移

配置故障转移策略后,当主提供商出现问题时,系统会自动切换到备用提供商,无需手动处理。

5. 性能优化

使用流式响应

对于长文本生成,启用 streaming 可以更快地获得首个响应

response = openai.ChatCompletion.create(
  model="gpt-4-turbo",
  messages=[...],
  stream=True  # 启用流式响应
)

选择延迟优先路由

系统会实时监控提供商延迟,自动选择最快的提供商

启用响应缓存

对于重复的请求,使用应用层缓存可以显著降低延迟和成本

控制并发请求数

合理控制并发数,避免触发速率限制和超时

6. 监控与告警

关键指标监控

性能指标

  • • 平均响应时间
  • • P95/P99 延迟
  • • 请求成功率
  • • 并发连接数

业务指标

  • • 每日请求量
  • • Token 消耗
  • • 成本统计
  • • 错误率

配置告警规则

错误率告警

当 5 分钟内错误率超过 5% 时发送告警

延迟告警

当 P95 延迟超过 2 秒时发送告警

成本告警

当每日成本超过预算 80% 时发送告警

查看实时监控数据
GET /v1/monitoring/metrics?period=1h

Response:
{
  "metrics": {
    "requests_total": 12500,
    "success_rate": 0.998,
    "avg_latency_ms": 180,
    "p95_latency_ms": 450,
    "error_rate": 0.002
  }
}

7. 安全实践

妥善保管 API Key

  • • 不要在代码中硬编码 API Key
  • • 使用环境变量或密钥管理服务
  • • 不要将 Key 提交到版本控制系统
  • • 定期轮换 API Key

启用 IP 白名单

限制 API Key 只能从特定 IP 地址访问

输入验证与过滤

对用户输入进行验证和清理,防止注入攻击

日志审计

定期审查 API 调用日志,及时发现异常行为

使用环境变量存储 API Key
import os

# 从环境变量读取
api_key = os.getenv('AI_ROUTER_API_KEY')

# 配置客户端
openai.api_key = api_key
openai.api_base = "https://api.poeti.ai/v1"

开始应用最佳实践

立即注册,体验智能路由和优化功能