设置

语言

5分钟内从OpenAI迁移到LemonData

L
LemonData
·2026年2月26日·55 次浏览
#教程#迁移#OpenAI#快速入门
5分钟内从OpenAI迁移到LemonData

5分钟内从 OpenAI 迁移到 LemonData

从 OpenAI 官方 API 切换到 LemonData 只需修改两行代码。您现有的代码、提示词和模型名称均可照常使用。同时,您还可以通过同一个 API 密钥访问 OpenAI、Anthropic、Google、DeepSeek 等 300 多个模型。

简要步骤

  1. lemondata.cc 注册并获取 API 密钥(赠送 1 美元免费额度)
  2. 替换您的 base_urlapi_key
  3. 完成。其余代码保持不变。

Python(OpenAI SDK)

# 之前 — OpenAI 官方
from openai import OpenAI
client = OpenAI(api_key="sk-openai-xxx")

# 之后 — LemonData(修改两行)
from openai import OpenAI
client = OpenAI(
    api_key="sk-lemon-xxx",
    base_url="https://api.lemondata.cc/v1"
)

# 其余代码保持不变
response = client.chat.completions.create(
    model="gpt-4.1",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

流式传输、函数调用、视觉功能:全部完全相同。OpenAI Python SDK 会将请求发送到您指定的任何 base_url

Node.js(OpenAI SDK)

// 之前 — OpenAI 官方
import OpenAI from 'openai';
const openai = new OpenAI({ apiKey: 'sk-openai-xxx' });

// 之后 — LemonData(修改两行)
import OpenAI from 'openai';
const openai = new OpenAI({
  apiKey: 'sk-lemon-xxx',
  baseURL: 'https://api.lemondata.cc/v1',
});

// 其余代码保持不变
const completion = await openai.chat.completions.create({
  model: 'gpt-4.1',
  messages: [{ role: 'user', content: 'Hello!' }],
});
console.log(completion.choices[0].message.content);

注意:Node.js SDK 中是 baseURL(驼峰式),而非 base_url

curl

# 之前 — OpenAI 官方
curl https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-openai-xxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4.1","messages":[{"role":"user","content":"Hello"}]}'

# 之后 — LemonData(修改 URL 和密钥)
curl https://api.lemondata.cc/v1/chat/completions \
  -H "Authorization: Bearer sk-lemon-xxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4.1","messages":[{"role":"user","content":"Hello"}]}'

端点路径相同,请求体相同,响应格式相同。

环境变量方式

如果您的代码从环境变量读取(建议如此),甚至无需修改代码:

# 之前
export OPENAI_API_KEY="sk-openai-xxx"
export OPENAI_BASE_URL="https://api.openai.com/v1"

# 之后
export OPENAI_API_KEY="sk-lemon-xxx"
export OPENAI_BASE_URL="https://api.lemondata.cc/v1"

OpenAI SDK 会自动从环境变量读取 OPENAI_API_KEYOPENAI_BASE_URL,无需任何代码改动。

迁移后您将获得

使用 LemonData 后,您保持完全的 OpenAI 兼容性,同时获得更多功能:

300+ 模型,一把 API 密钥

您现有的 OpenAI 代码现在可用于 Claude、Gemini、DeepSeek、Mistral 及数百个其他模型——只需更改 model 参数:

# GPT-4.1(OpenAI)— 每百万 token 2.00 美元/8.00 美元
response = client.chat.completions.create(model="gpt-4.1", messages=messages)

# Claude Sonnet 4.6(Anthropic)— 每百万 token 3.00 美元/15.00 美元
response = client.chat.completions.create(model="claude-sonnet-4-6", messages=messages)

# Gemini 2.5 Pro(Google)
response = client.chat.completions.create(model="gemini-2.5-pro", messages=messages)

# DeepSeek V3 — 每百万 token 0.28 美元/0.42 美元(使用 "deepseek-chat" 或别名 "deepseek-v3")
response = client.chat.completions.create(model="deepseek-chat", messages=messages)

多通道冗余意味着如果某个上游提供商出现问题,网关会自动切换到备用通道,无需修改代码。

原生协议访问(可选)

如果您想使用 Anthropic 或 Google 模型的完整原生功能(扩展思考、带 cache_control 的提示缓存、Google 搜索基础等),LemonData 通过同一 base URL 支持它们的原生协议:

# Anthropic 原生 — 使用 Anthropic SDK
# 扩展思考、cache_control、引用均原生支持
from anthropic import Anthropic
client = Anthropic(
    api_key="sk-lemon-xxx",
    base_url="https://api.lemondata.cc"  # 无 /v1 — Anthropic SDK 自行添加 /v1/messages
)

# Google Gemini 原生 — 使用 Google SDK
# 搜索基础、grounding_metadata 均原生支持
from google import genai
client = genai.Client(
    api_key="sk-lemon-xxx",
    http_options={"base_url": "https://api.lemondata.cc"}  # 无路径后缀 — SDK 自行添加 /v1beta/models/...
)

这完全是可选的。OpenAI 兼容端点适用于所有模型。但如果您需要 Anthropic 的扩展思考或 Google 的搜索基础,原生协议访问能让您无格式转换损失地使用这些功能。

常见集成迁移

Cursor

设置 → 模型 → OpenAI API 密钥:

  • API 密钥:sk-lemon-xxx
  • Base URL:https://api.lemondata.cc/v1

LangChain

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4.1",
    api_key="sk-lemon-xxx",
    base_url="https://api.lemondata.cc/v1"
)

Vercel AI SDK

import { createOpenAI } from '@ai-sdk/openai';

const lemondata = createOpenAI({
  apiKey: 'sk-lemon-xxx',
  baseURL: 'https://api.lemondata.cc/v1',
});

const result = await generateText({
  model: lemondata('gpt-4.1'),
  prompt: 'Hello!',
});

LiteLLM

import litellm

response = litellm.completion(
    model="openai/gpt-4.1",
    messages=[{"role": "user", "content": "Hello!"}],
    api_key="sk-lemon-xxx",
    api_base="https://api.lemondata.cc/v1"
)

验证您的迁移

切换后快速检查:

curl https://api.lemondata.cc/v1/models \
  -H "Authorization: Bearer sk-lemon-xxx" | head -c 200

如果看到包含模型对象的 JSON 响应,说明迁移成功。

常见问题

我现有的提示词还能用吗? 可以。LemonData 完全兼容 OpenAI,使用相同的请求和响应格式。

需要更改模型名称吗? 不需要。gpt-4.1gpt-4ogpt-4.1-mini 等标准 OpenAI 模型名称均可使用。LemonData 还支持三层模型解析:精确匹配 → 别名查找(21 个静态别名,如 gpt4 对应 gpt-4gpt-3.5 对应 gpt-3.5-turbo)→ 模糊纠正(Levenshtein 距离 ≤ 3)。因此即使是废弃名称如 gpt-4-turbo 或拼写错误如 gpt4o 也能正确解析。

流式传输呢?完全相同。SSE 格式,分块结构一致。对于原生 Anthropic/Gemini 协议,您将获得各提供商的原生 SSE 格式(包括扩展思考的思考增量)。

函数调用/工具呢?完全支持。模式和行为均相同。

错误处理呢?LemonData 返回兼容 OpenAI 的错误,同时附加了更适合代理的字段:retryabledid_you_meansuggestionsretry_after。标准 OpenAI SDK 的错误处理无需更改——新增字段是向后兼容的。

可以切换回去吗? 可以。只需把两行代码改回去即可。没有锁定,没有专有格式,也无需数据迁移。


完整 API 文档:docs.lemondata.cc
快速入门指南:docs.lemondata.cc/quickstart

分享: