5分钟内从 OpenAI 迁移到 LemonData
从 OpenAI 官方 API 切换到 LemonData 只需修改两行代码。您现有的代码、提示词和模型名称均可照常使用。同时,您还可以通过同一个 API 密钥访问 OpenAI、Anthropic、Google、DeepSeek 等 300 多个模型。
简要步骤
- 在 lemondata.cc 注册并获取 API 密钥(赠送 1 美元免费额度)
- 替换您的
base_url和api_key - 完成。其余代码保持不变。
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_KEY 和 OPENAI_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.1、gpt-4o、gpt-4.1-mini 等标准 OpenAI 模型名称均可使用。LemonData 还支持三层模型解析:精确匹配 → 别名查找(21 个静态别名,如 gpt4 对应 gpt-4,gpt-3.5 对应 gpt-3.5-turbo)→ 模糊纠正(Levenshtein 距离 ≤ 3)。因此即使是废弃名称如 gpt-4-turbo 或拼写错误如 gpt4o 也能正确解析。
流式传输呢?完全相同。SSE 格式,分块结构一致。对于原生 Anthropic/Gemini 协议,您将获得各提供商的原生 SSE 格式(包括扩展思考的思考增量)。
函数调用/工具呢?完全支持。模式和行为均相同。
错误处理呢?LemonData 返回兼容 OpenAI 的错误,同时附加了更适合代理的字段:retryable、did_you_mean、suggestions、retry_after。标准 OpenAI SDK 的错误处理无需更改——新增字段是向后兼容的。
可以切换回去吗? 可以。只需把两行代码改回去即可。没有锁定,没有专有格式,也无需数据迁移。
完整 API 文档:docs.lemondata.cc
快速入门指南:docs.lemondata.cc/quickstart
