DeepSeek API 完整入门指南 2026:从零到生产环境
2026-05-12 — by Global API Team
DeepSeek API 完整入门指南 2026:从零到生产环境
DeepSeek 已迅速成为 2026 年最受关注的 AI API 提供商之一。其模型以极低的成本媲美 GPT-4o,甚至在某些基准测试中超越了 GPT-4o,难怪全球开发者纷纷切换过来。如果你对 DeepSeek 一直好奇但不知从何入手,本指南将带你一步步完成从零到生产环境的全部工作,整个过程不到一小时。
为什么在 2026 年选择 DeepSeek?
在深入技术细节之前,先回答一个显而易见的问题:你为什么要关心 DeepSeek?
数字会说话。DeepSeek V4 Flash 的成本为 每 100 万 tokens 0.25 美元(统一费率,输入/输出价格无差别)。对比 GPT-4o 每百万 tokens 2.50 美元/10.00 美元的定价,你在输出 tokens 上能节省高达 97%。对于每月处理 1000 万 tokens 的初创公司来说,账单差异就是 62.50 美元 vs 2.50 美元。
除了价格之外,DeepSeek 还提供了一项大多数中国 AI 厂商所没有的特性:真正兼容 OpenAI 的 API 格式。这意味着你可以直接将其嵌入现有代码库,无需重写集成层。
前置条件
你需要准备:
- 一个 DeepSeek API 账号(或一个 Global API 账号以获得国际访问权限)
- 一个 API key(32 位十六进制字符串)
- 根据你的技术栈,需要 Python 3.8+ 或 Node.js 18+
- 用于依赖管理的
pip或npm
第 1 步:获取你的 API Key
获取 DeepSeek API 访问权限有两种途径:
方案 A:DeepSeek 官方直连(仅限中国)
如果你在中国境内,可以直接在 DeepSeek 平台注册。问题是?他们只支持微信支付和支付宝,不接受国际信用卡,没有英文支持,界面完全是中文的。
方案 B:Global API(推荐给国际开发者)
对于其他所有人,Global API 提供 DeepSeek 模型访问:
- 支持信用卡支付(通过 Lemon Squeezy)
- 完整的英文界面和文档
- 使用单一 API key 统一访问多个提供商
- 公道定价,无隐性加价
你的 API key 看起来会像这样:3f4a8b2c9e1d3f6a7b0c2d4e5f8a1b3c
第 2 步:安装 SDK
DeepSeek 采用 OpenAI 兼容格式,这意味着你可以使用官方的 OpenAI SDK 或任何兼容 OpenAI 的客户端库。
Python 安装
pip install openai
JavaScript/Node.js 安装
npm install openai
就这些。不需要特定于 DeepSeek 的 SDK——OpenAI SDK 能处理一切。
第 3 步:你的第一次 API 调用
这一步最令人满意。将 OpenAI SDK 配置为使用 DeepSeek 的端点后,你的代码与 OpenAI 的代码完全一样——只是账单减少了 90%。
Python 示例
from openai import OpenAI
# 初始化客户端,通过 Global API 指向 DeepSeek
client = OpenAI(
api_key="3f4a8b2c9e1d3f6a7b0c2d4e5f8a1b3c",
base_url="https://global-apis.com/v1"
)
# 发起一个简单的聊天补全请求
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是一个有用的编程助手。"},
{"role": "user", "content": "编写一个 Python 函数来判断一个字符串是否是回文。"}
],
temperature=0.7,
max_tokens=512
)
print(response.choices[0].message.content)
JavaScript 示例
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: '3f4a8b2c9e1d3f6a7b0c2d4e5f8a1b3c',
baseURL: 'https://global-apis.com/v1',
});
async function main() {
const response = await client.chat.completions.create({
model: 'deepseek-chat',
messages: [
{ role: 'system', content: '你是一个有用的编程助手。' },
{ role: 'user', content: '编写一个 JavaScript 函数来判断一个字符串是否是回文。' }
],
temperature: 0.7,
max_tokens: 512,
});
console.log(response.choices[0].message.content);
}
main().catch(console.error);
两个示例都能产出可运行的代码。与 OpenAI 的关键区别在于 base_url 指向 https://global-apis.com/v1,以及模型名称为 deepseek-chat。
理解 DeepSeek 的模型
DeepSeek 提供了多个模型,每个都针对不同的使用场景进行了优化。选对模型很重要——同样一个任务,你可能花 0.25 美元/百万 tokens,也可能花 2.50 美元/百万 tokens。
DeepSeek Chat(V4 Flash)—— 你的日常主力
deepseek-chat 模型(基于 V4 Flash)是通用任务的默认选择。它处理代码生成、摘要、分类、创意写作,以及其他你本来会用 GPT-4o 完成的任务。
最适合:80% 的请求。
价格:$0.25 / 1M tokens(统一费率)。
response = client.chat.completions.create(
model="deepseek-chat", # 底层是 V4 Flash
messages=[
{"role": "user", "content": "解释一下 REST 和 GraphQL API 的区别。"}
]
)
DeepSeek Reasoner(R1)—— 用于复杂推理
当你需要逐步推理——数学证明、编程挑战、逻辑分析——切换到 deepseek-reasoner。这是 DeepSeek 的 o1/r1 风格推理模型,会在响应之前进行思考。
最适合:复杂数学、编程算法、多步逻辑问题。
价格:$2.50 / 1M tokens(统一费率)。
# 示例:使用 DeepSeek R1 进行复杂推理任务
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=[
{"role": "user", "content": "一列火车于上午 9:00 从 A 站出发,速度为 60 mph。另一列火车于上午 10:00 从 B 站出发,以 80 mph 的速度向 A 站行驶。如果两站之间的距离为 400 英里,它们在何时会相遇?"}
],
max_tokens=1024
)
模型快速参考
| 模型 | 模型 ID | 价格 $/1M | 最适合 |
|-------|----------|-----------|----------|
| DeepSeek V4 Flash | deepseek-chat | $0.25(统一) | 通用任务 |
| DeepSeek R1 | deepseek-reasoner | $2.50(统一) | 复杂推理 |
第 4 步:处理响应
OpenAI SDK 返回的响应对象包含几个有用的字段:
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "2+2 是多少?"}]
)
# 访问生成的文本
text = response.choices[0].message.content
# 查看 token 用量
input_tokens = response.usage.prompt_tokens
output_tokens = response.usage.completion_tokens
total_tokens = response.usage.total_tokens
print(f"Input: {input_tokens}, Output: {output_tokens}, Total: {total_tokens}")
const response = await client.chat.completions.create({
model: 'deepseek-chat',
messages: [{ role: 'user', content: '2+2 是多少?' }],
});
const text = response.choices[0].message.content;
const { prompt_tokens, completion_tokens, total_tokens } = response.usage;
console.log(`Input: ${prompt_tokens}, Output: ${completion_tokens}, Total: ${total_tokens}`);
第 5 步:流式响应
为了更好的用户体验——特别是在聊天界面中——使用流式输出来实时获取生成的 tokens,而不是等待完整响应:
import threading
def print_stream(stream):
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print()
stream = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "写一首关于编程的俳句。"}],
stream=True
)
print_stream(stream)
const stream = await client.chat.completions.create({
model: 'deepseek-chat',
messages: [{ role: 'user', content: '写一首关于编程的俳句。' }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0].delta.content;
if (content) process.stdout.write(content);
}
console.log('\n');
成本优化策略
DeepSeek 定价最大的优势之一就是成本优化突然变得不那么重要了——但它仍然有意义。以下是一些实用的省钱技巧:
策略 1:选择合适的模型
不要用 deepseek-reasoner 来应付简单的问候。把推理模型留给真正需要逐步推理的任务。其他一切任务用 deepseek-chat(V4 Flash),便宜 10 倍。
# 好:简单任务 → 便宜的模型
client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "你好,最近怎么样?"}]
)
# 浪费:简单任务 → 昂贵的推理模型
client.chat.completions.create(
model="deepseek-reasoner", # 打个招呼用这个太奢侈了
messages=[{"role": "user", "content": "你好,最近怎么样?"}]
)
策略 2:保持系统提示简洁
系统提示中的每个 token 都要花钱。一个 500-token 的系统提示与 50-token 的系统提示之间相差 10 倍——保持简洁。
# 浪费:过度冗长的系统提示
client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "你是一个乐于助人、友善、知识渊博、专业且高效的 AI 助手,专门提供准确、经过深入研究且全面的回答,以及时的方式解决用户的问题。"},
{"role": "user", "content": "法国的首都是哪里?"}
]
)
# 高效:简洁明了
client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "简洁的 AI 助手。"},
{"role": "user", "content": "法国的首都是哪里?"}
]
)
策略 3:设置合适的 max_tokens
max_tokens 设置过高意味着你要为没用的 tokens 付费。将其设置为你完成任务所需的最小值。
# 只生成最多 8 个 token(比默认值便宜得多)
client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "给我一个字的答案:太阳。"}],
max_tokens=8
)
策略 4:缓存重复查询
如果你的应用程序多次发起相同的查询,在本地缓存响应并复用:
from functools import lru_cache
@lru_cache(maxsize=1000)
def cached_query(prompt_hash, user_id):
# 在生产环境中,使用 Redis 存储并设置 TTL
return client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": prompt_hash}] # prompt_hash 是文本内容
)
常见错误处理
from openai import OpenAI, RateLimitError, APIError
client = OpenAI(
api_key="3f4a8b2c9e1d3f6a7b0c2d4e5f8a1b3c",
base_url="https://global-apis.com/v1"
)
try:
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "Hello!"}]
)
except RateLimitError:
print("速率限制已达上限。等待后重试。")
except APIError as e:
print(f"API 错误:{e}")
try {
const response = await client.chat.completions.create({
model: 'deepseek-chat',
messages: [{ role: 'user', content: 'Hello!' }],
});
} catch (error) {
if (error.status === 429) {
console.log('速率限制已达上限。等待后重试。');
} else {
console.error(`API 错误:${error.message}`);
}
}
实战示例:构建一个代码审查机器人
让我们把所有内容整合到一个可用于生产环境的东西。下面是一个使用 DeepSeek 构建的简单代码审查机器人:
from openai import OpenAI
import json
client = OpenAI(
api_key="3f4a8b2c9e1d3f6a7b0c2d4e5f8a1b3c",
base_url="https://global-apis.com/v1"
)
SYSTEM_PROMPT = """你是一个代码审查员。提供简洁、可操作的反馈。
以 JSON 格式输出:{"issues": [...], "score": int, "summary": str}"""
def review_code(code: str, language: str = "python") -> dict:
"""提交代码进行审查并返回结构化反馈。"""
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": f"审查这段 {language} 代码:\n\n```\n{code}\n```"}
],
response_format={"type": "json_object"},
temperature=0.3,
max_tokens=512
)
return json.loads(response.choices[0].message.content)
# 使用示例
code = """
def add(a, b):
return a + b
result = add(1, '2')
"""
feedback = review_code(code, "python")
print(f"评分:{feedback['score']}/10")
print(f"发现的问题数:{len(feedback['issues'])}")
for issue in feedback['issues']:
print(f" - {issue}")
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: '3f4a8b2c9e1d3f6a7b0c2d4e5f8a1b3c',
baseURL: 'https://global-apis.com/v1',
});
const SYSTEM_PROMPT = '你是一个代码审查员。提供简洁、可操作的反馈。以 JSON 格式输出:{"issues": [...], "score": int, "summary": str}';
async function reviewCode(code, language = 'python') {
const response = await client.chat.completions.create({
model: 'deepseek-chat',
messages: [
{ role: 'system', content: SYSTEM_PROMPT },
{ role: 'user', content: `审查这段 ${language} 代码:\n\n\`\`\`\n${code}\n\`\`\`` }
],
response_format: { type: 'json_object' },
temperature: 0.3,
max_tokens: 512,
});
return JSON.parse(response.choices[0].message.content);
}
const code = `
def add(a, b):
return a + b
result = add(1, '2')
`;
const feedback = await reviewCode(code, 'python');
console.log(`评分:${feedback.score}/10`);
console.log(`发现的问题数:${feedback.issues.length}`);
feedback.issues.forEach(issue => console.log(` - ${issue}`));
常见问题
Q:DeepSeek 真的和 GPT-4o 一样好吗?
A:对于大多数实际任务来说,是的——有时候甚至更好。在代码生成基准测试中,DeepSeek V4 Flash 的得分与 GPT-4o 相当。在数学推理方面(使用 R1),它在多个基准上超越了 GPT-4o,并与 o1 持平。GPT-4o 唯一保留明显优势的领域是多模态理解(图片输入)。
Q:有速率限制吗?
A:有的,但很宽松。Global API 的免费层允许合理的开发和测试使用量。生产环境套餐会按比例提升限制。查看 global-apis.com/pricing 了解当前的限制。
Q:如果需要,我可以切回 OpenAI 吗?
A:完全可以。由于 DeepSeek 采用 OpenAI 兼容格式,切换只需改两行:base_url 和 model 名称。不需要其他代码更改。
Q:数据隐私方面呢?
A:使用 Global API 时,你的 API 调用由底层提供商处理。查看 global-apis.com/privacy 上的隐私政策了解完整细节。
Q:如何在 Web 应用中处理流式输出?
A:对于 Web 应用,在后端使用 Server-Sent Events (SSE)。OpenAI SDK 的流模式兼容大多数 SSE 实现。在前端渲染中,随着 tokens 逐步到达,增量更新 UI。
下一步
你现在已经准备好将 DeepSeek 集成到你的应用中了。以下是一个快速检查清单,用于验证你的实现:
- [ ] API key 安全存储(环境变量,不硬编码)
- [ ]
base_url正确设置为https://global-apis.com/v1 - [ ] 模型选择匹配你的使用场景(
deepseek-chatvsdeepseek-reasoner) - [ ]
max_tokens为你的响应设置了合适的值 - [ ] 错误处理覆盖了速率限制和 API 错误
- [ ] 启用了成本监控(查看你的 Global API 面板)
准备好开始了吗? 创建免费账号并获取 API key →
详细的定价信息,请访问 global-apis.com/pricing。
本指南最后更新于 2026 年 5 月。DeepSeek 模型的可用性和定价可能发生变化。在构建与成本相关的功能之前,请始终在官方定价页面上确认当前费率。