迁移指南

从其他 AI 平台迁移到 AI Router,仅需修改 2 行代码

迁移概览

AI Router Platform 完全兼容 OpenAI API 格式,迁移过程非常简单。只需修改 API Base URL 和 API Key,无需改动业务代码。

迁移优势

零代码改动
5 分钟完成迁移
支持回滚
兼容 OpenAI SDK

从 OpenAI 迁移

Python SDK

迁移前 (OpenAI):
import openai

openai.api_key = "sk-openai-xxxxx"
# 默认使用 api.openai.com

response = openai.ChatCompletion.create(
    model="gpt-4-turbo",
    messages=[{"role": "user", "content": "Hello"}]
)
迁移后 (AI Router):
import openai

openai.api_key = "sk-poeti-xxxxx"  # ← 修改 1: 使用 AI Router Key
openai.api_base = "https://api.poeti.ai/v1"  # ← 修改 2: 指向 AI Router

response = openai.ChatCompletion.create(
    model="gpt-4-turbo",  # 无需修改
    messages=[{"role": "user", "content": "Hello"}]  # 无需修改
)

Node.js SDK

迁移前:
const { OpenAI } = require('openai');

const openai = new OpenAI({
    apiKey: process.env.OPENAI_API_KEY
});

const response = await openai.chat.completions.create({
    model: 'gpt-4-turbo',
    messages: [{ role: 'user', content: 'Hello' }]
});
迁移后:
const { OpenAI } = require('openai');

const openai = new OpenAI({
    apiKey: process.env.AI_ROUTER_API_KEY,  // ← 修改
    baseURL: 'https://api.poeti.ai/v1'  // ← 添加
});

const response = await openai.chat.completions.create({
    model: 'gpt-4-turbo',
    messages: [{ role: 'user', content: 'Hello' }]
});

从 Anthropic Claude 迁移

Python SDK

迁移前:
import anthropic

client = anthropic.Anthropic(
    api_key="sk-ant-xxxxx"
)

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}]
)
迁移后 (使用 OpenAI 兼容格式):
import openai

openai.api_key = "sk-poeti-xxxxx"
openai.api_base = "https://api.poeti.ai/v1"

response = openai.ChatCompletion.create(
    model="claude-3-opus",  # ← 使用简化的模型名
    messages=[{"role": "user", "content": "Hello"}],
    max_tokens=1024
)

注意

AI Router 统一使用 OpenAI 兼容格式,简化了不同提供商的 API 差异。

从其他提供商迁移

Google Gemini

# 迁移前使用 google-generativeai
# 迁移后统一使用 OpenAI SDK

import openai
openai.api_key = "sk-poeti-xxxxx"
openai.api_base = "https://api.poeti.ai/v1"

response = openai.ChatCompletion.create(
    model="gemini-pro",
    messages=[{"role": "user", "content": "Hello"}]
)

AWS Bedrock

# 迁移前需要配置 AWS credentials
# 迁移后无需 AWS 配置

import openai
openai.api_key = "sk-poeti-xxxxx"
openai.api_base = "https://api.poeti.ai/v1"

response = openai.ChatCompletion.create(
    model="bedrock/claude-3-sonnet",
    messages=[{"role": "user", "content": "Hello"}]
)

环境变量配置

推荐方式:使用环境变量

.env 文件
# OpenAI 配置 (迁移前)
OPENAI_API_KEY=sk-openai-xxxxx

# AI Router 配置 (迁移后)
AI_ROUTER_API_KEY=sk-poeti-xxxxx
AI_ROUTER_BASE_URL=https://api.poeti.ai/v1
Python 代码
import os
import openai
from dotenv import load_dotenv

load_dotenv()

openai.api_key = os.getenv('AI_ROUTER_API_KEY')
openai.api_base = os.getenv('AI_ROUTER_BASE_URL')

# 其余代码无需修改

迁移检查清单

测试迁移结果

快速测试脚本

import openai

# 配置
openai.api_key = "sk-poeti-xxxxx"
openai.api_base = "https://api.poeti.ai/v1"

try:
    # 发送测试请求
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "user", "content": "Say 'Migration successful!'"}
        ]
    )

    print("✅ 迁移成功!")
    print(f"Response: {response.choices[0].message.content}")

except Exception as e:
    print(f"❌ 迁移失败: {e}")
    print("请检查 API Key 和 Base URL 配置")

预期输出

✅ 迁移成功!
Response: Migration successful!

回滚计划

如果迁移过程中遇到问题,可以随时回滚到原有配置。

1

保留原有配置

迁移前备份原有的 API Key 和配置

2

恢复原配置

将 api_base 和 api_key 改回原值

3

验证服务

确认服务恢复正常

回滚示例
# 回滚到 OpenAI
openai.api_key = "sk-openai-xxxxx"  # 原 OpenAI Key
openai.api_base = None  # 或删除此行,使用默认值

迁移支持

如果在迁移过程中遇到问题,我们提供全方位的技术支持。

人工支持

准备开始迁移?

仅需 5 分钟,体验智能路由和成本优化