上周有个朋友在群里问:“我注册了 DeepSeek,网页版聊天用得挺爽,但怎么把它接到我自己的产品里?”

这个问题问得好。网页版聊天是 DeepSeek 的冰山一角,真正让它成为开发者神器的,是 API——你可以把 DeepSeek 的能力嵌入任何应用、自动化流程、或者你自己写的小工具里。而且价格便宜到你不敢相信。
这篇文章不写废话,直接带你从零到一跑通 DeepSeek API。
DeepSeek API 最新变化:V4 时代来了
2026 年中的 DeepSeek API 发生了两个大变化,每个开发者都得知道。
第一,V4 模型上线。 DeepSeek 推出了两个新模型:
| 模型 | 定位 | 适用场景 |
|---|---|---|
deepseek-v4-flash | 高速低价 | 日常对话、客服、内容生成、批量处理 |
deepseek-v4-pro | 旗舰性能 | 复杂推理、代码生成、专业分析 |
V4 Flash 的并发限制高达 2500,意味着你可以同时跑 2500 个请求不排队——这对做产品的来说太重要了。
第二,旧模型名称即将废弃。 从 2026 年 7 月 24 日起,deepseek-chat(对应旧 V3)和 deepseek-reasoner(对应旧 R1)这两个名称将正式停止服务。如果你现在的代码里还在用这两个名字,赶紧改。
你不需要单独切换”推理模式”和”普通模式”了——V4 Flash 一个模型就支持 thinking 和 non-thinking 两种模式,通过参数切换即可。
模型怎么选:Flash 还是 Pro?
这个问题被问得最多,这里给你一个决策表:
| 维度 | V4 Flash | V4 Pro |
|---|---|---|
| 输入价格(缓存未命中) | $0.14/M tokens | $0.435/M tokens |
| 输入价格(缓存命中) | $0.0028/M tokens | $0.003625/M tokens |
| 输出价格 | $0.28/M tokens | $0.87/M tokens |
| 上下文窗口 | 1M | 1M |
| 最大输出 | 384K | 384K |
| 并发限制 | 2500 | 500 |
| 思考模式 | ✅ 支持 | ✅ 支持 |
| JSON 输出 | ✅ | ✅ |
| Function Calling | ✅ | ✅ |
| FIM 补全 | ✅(非思考模式) | ✅(非思考模式) |
| Anthropic 格式 | ✅ | ✅ |
选 Flash 的情况(90% 的场景):
- 做聊天机器人、客服系统
- 批量内容生成、翻译、摘要
- 需要高并发、追求低延迟
- 日常代码辅助
选 Pro 的情况(需要极致推理质量):
- 复杂数学证明、逻辑推理链
- 高难度代码架构设计
- 专业领域的深度分析报告
- 对”正确率”有极致要求的场景
一句话总结:先用 Flash。不够用再切 Pro。Flash 的实力已经远超大部分人的预期。
上下文窗口 1M 是什么概念?一本《三体》三部曲加起来大约 90 万字,约合 120 万 token。1M 窗口意味着你可以把 80% 的三体内容一次性丢进去分析。这在一年前是不可想象的。
第一步:获取 API Key
这是最容易被卡住的环节。很多人以为注册了 DeepSeek 账号就能用 API,其实不是——API 和网页版是两套体系。
- 打开 platform.deepseek.com
- 用你的 DeepSeek 账号登录(和网页版同一个账号)
- 进入 API Keys 页面,点击「创建 API Key」
- 复制生成的 key(格式是
sk-开头的一长串字符) - 立即保存——关闭页面后就再也看不到完整 key 了
API Key 只有创建那一刻能看到完整内容。关闭弹窗后只显示前几位。务必在创建后立刻复制保存到安全的地方(如 1Password、.env 文件),不要存在代码仓库里。
API 需要充值才能用。进入 Billing 页面,支持信用卡和支付宝。建议先充 $5(约 35 元)试试水——按 Flash 的价格,$5 能跑上千万 token,足够你做大量测试了。

第二步:定价拆解(到底有多便宜)
DeepSeek API 的价格单位是”每百万 token”。一个 token 大约等于 0.7 个中文字或 0.75 个英文单词。
V4 Flash 定价
假设你调用一次 API,输入 2000 token、输出 500 token:
- 输入费用:2000 / 1,000,000 × $0.14 = $0.00028
- 输出费用:500 / 1,000,000 × $0.28 = $0.00014
- 单次调用总费用:约 $0.00042(不到 3 厘人民币)
也就是说,1 美元可以调用大约 2400 次中等长度的对话。
缓存命中是什么?
DeepSeek 对重复的输入内容提供缓存优惠。如果你连续发送相同的 system prompt 或上下文前缀,后续请求的输入价格直接降到 $0.0028/M——几乎等于免费。
举个例子:你的产品有 5000 个用户每天各问 10 个问题,system prompt 相同。第一个请求按 $0.14/M 计费,之后 49999 个请求全都走缓存命中价。实际日均成本可能就几毛钱。
和 OpenAI 比一下
| 模型 | 输入($/M) | 输出($/M) |
|---|---|---|
| DeepSeek V4 Flash | $0.14 | $0.28 |
| DeepSeek V4 Pro | $0.435 | $0.87 |
| GPT-4o | $2.50 | $10.00 |
| GPT-4o-mini | $0.15 | $0.60 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
DeepSeek V4 Flash 的输出价格是 GPT-4o 的 1/35。如果你从 OpenAI 迁过来,账单会从四位数变成两位数。如果你对选择模型有疑问,可以看我们的 DeepSeek V3 与 R1 对比指南 以及 DeepSeek vs OpenAI API 对比。

第三步:第一个 API 调用
用 Python 跑通第一个请求只需要 10 行代码:
import requests
import json
API_KEY = "sk-your-api-key-here" # 替换成你的 key
url = "https://api.deepseek.com/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
data = {
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "用三句话介绍北京的故宫。"}
],
"temperature": 0.7,
"max_tokens": 500
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result["choices"][0]["message"]["content"])
不用装任何 SDK,DeepSeek 完全兼容 OpenAI 的 API 格式。如果你之前用 openai 这个 Python 包,改两个参数就能无缝切换:
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.deepseek.com" # 就改这里
)
response = client.chat.completions.create(
model="deepseek-v4-flash", # 还有这里
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
Node.js 同理:
const response = await fetch("https://api.deepseek.com/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${process.env.DEEPSEEK_API_KEY}`
},
body: JSON.stringify({
model: "deepseek-v4-flash",
messages: [{ role: "user", content: "你好" }]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);
兼容 OpenAI SDK 是 DeepSeek API 最大的工程优势——你不用学新东西,不用改架构,换一个 URL 就搞定了。
第四步:进阶功能
流式输出(Streaming)
网页版那种一个字一个字往外蹦的效果,靠的就是 SSE(Server-Sent Events)。API 打开流式输出只需要加一个参数:
data["stream"] = True
response = requests.post(url, headers=headers, json=data, stream=True)
for line in response.iter_lines():
if line:
line = line.decode("utf-8")
if line.startswith("data: ") and line != "data: [DONE]":
chunk = json.loads(line[6:])
delta = chunk["choices"][0].get("delta", {})
content = delta.get("content", "")
if content:
print(content, end="", flush=True)
流式输出对用户体验的提升是巨大的。用户不用盯着空白页面等 5 秒——第一秒就能看到字,感觉快了很多。只要不是后台批处理,一律开 streaming。
JSON 结构化输出
如果你用 API 做数据处理(比如从一段文本里提取结构化信息),JSON 模式是必须的:
data = {
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "从用户输入中提取姓名、年龄和城市,以 JSON 格式返回。"},
{"role": "user", "content": "我叫李明,今年28岁,住在杭州。"}
],
"response_format": {"type": "json_object"}
}
result = response.json()
parsed = json.loads(result["choices"][0]["message"]["content"])
# {"name": "李明", "age": 28, "city": "杭州"}
加了 response_format: json_object 后,模型保证输出合法 JSON,不会给你多一个逗号少一个括号。做自动化管线的必备功能。
Function Calling(工具调用)
想让 DeepSeek 调用你的函数?Function Calling 让模型决定什么时候调用什么工具:
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称,如 北京"
}
},
"required": ["city"]
}
}
}]
data["tools"] = tools
data["messages"].append({"role": "user", "content": "北京今天天气怎么样?"})
response = requests.post(url, headers=headers, json=data)
result = response.json()
tool_calls = result["choices"][0]["message"].get("tool_calls", [])
if tool_calls:
func_name = tool_calls[0]["function"]["name"]
func_args = json.loads(tool_calls[0]["function"]["arguments"])
print(f"调用函数: {func_name}({func_args})")
# 调用函数: get_weather({'city': '北京'})
这个功能的价值在于:你可以让 DeepSeek 操作数据库、调外部 API、控制 IoT 设备——把语言模型变成你系统的”总控大脑”。
思考模式(Thinking Mode)
V4 Flash 和 V4 Pro 都支持思考模式——也就是旧版 R1 那种”先在脑子里推理一遍再回答”的能力。开启方式有两种:
方式一:修改 model 名称
model = "deepseek-v4-flash:thinking" # 开启思考模式
方式二:使用 thinking 参数(Anthropic 格式)
# 请求发送到 https://api.deepseek.com/anthropic/v1/messages
# thinking: {"type": "enabled", "budget_tokens": 4000}
思考模式适合需要多步推理的场景:数学解题、逻辑推理、复杂代码调试。缺点是慢——思考过程不计入输出 token(不额外收费),但会增加首 token 延迟。日常聊天不需要开。
第五步:生产环境注意事项
API 跑通之后,上生产还有几个容易踩的坑。
错误处理
API 调用不可能 100% 成功。网络波动、服务端限流、余额不足——这些问题在生产环境迟早会遇到。写一个健壮的调用封装:
import time
def call_deepseek(messages, max_retries=3):
for attempt in range(max_retries):
try:
response = requests.post(
url, headers=headers, json={
"model": "deepseek-v4-flash",
"messages": messages
}, timeout=30
)
if response.status_code == 200:
return response.json()
elif response.status_code == 429:
# 限流,等一等再试
wait = min(2 ** attempt, 30)
print(f"限流中,等待 {wait} 秒...")
time.sleep(wait)
elif response.status_code >= 500:
# 服务端错误,重试
time.sleep(1)
else:
# 客户端错误(401 没权限、402 余额不足等),不重试
raise Exception(f"API 错误: {response.status_code} - {response.text}")
except requests.exceptions.Timeout:
time.sleep(1)
raise Exception("重试次数已用完")
并发控制
V4 Flash 并发限制 2500,日常完全够用。但如果你用 asyncio 或线程池,注意控制并发数,不要打满。简单实现:
import asyncio
semaphore = asyncio.Semaphore(100) # 最多同时 100 个请求
async def call_api_async(messages):
async with semaphore:
# 你的异步调用逻辑
pass
留点余量给突发流量——生产环境建议并发上限设为官方限制的 50%。
成本监控
在代码里加一个简单的 token 计数器:
usage = result.get("usage", {})
prompt_tokens = usage.get("prompt_tokens", 0)
completion_tokens = usage.get("completion_tokens", 0)
# 缓存命中时 prompt_tokens_details 里有 cached_tokens 字段
cached = usage.get("prompt_tokens_details", {}).get("cached_tokens", 0)
cost = (prompt_tokens - cached) / 1_000_000 * 0.14 # 未命中部分
cost += cached / 1_000_000 * 0.0028 # 缓存命中
cost += completion_tokens / 1_000_000 * 0.28 # 输出
print(f"本次调用消耗 {prompt_tokens + completion_tokens} tokens,约 ${cost:.6f}")
每次请求都记一笔,月底一汇总就知道钱花在哪了。别等到收到账单才发现某个循环忘了关 streaming。
API Key 安全
- 永远不要在客户端代码里写 API Key——浏览器、App 里的 key 等同于公开
- 后端转发:客户端请求你的服务器,你的服务器再调 DeepSeek API
- 环境变量:
.env文件加.gitignore,永远不要提交到 Git - 定期轮换:每季度换一次 key,在 platform.deepseek.com 创建新的、删除旧的
总结
DeepSeek API 的核心竞争力就三个字:好用、便宜、兼容。
- 好用:V4 Flash 质量过硬,1M 上下文窗口业界最大之一,思考模式和普通模式自由切换
- 便宜:输出 $0.28/M token,不及 GPT-4o 的三十分之一,缓存命中更是几乎白送
- 兼容:完全兼容 OpenAI SDK,10 行代码迁移,零学习成本
如果你正在考虑为产品接入大模型,DeepSeek V4 Flash 是我个人在 2026 年最推荐的选择——不是因为免费崇拜,而是因为它确实在性能和成本之间找到了最佳平衡点。如果你还在网页版阶段,可以先看我们的 DeepSeek 网页版完整使用指南,或者从 DeepSeek 官方下载与安装教程 开始。
2026年7月24日前必须做的事:如果你在用 deepseek-chat 或 deepseek-reasoner,请在截止日期前迁移到 deepseek-v4-flash,并用 thinking 模式替代原来的 reasoner 推理功能。过了 7 月 24 日,旧名称直接返回错误。
常见问题
deepseek-v4-flash,原来的 reasoning 需求通过开启 thinking 模式实现。