EnlyAI ← 返回首页
国产大模型 API 教程 2026年6月18日 · 阅读约 13 分钟

DeepSeek API调用方法与模型对比

DeepSeek 是近年来最受关注的国产大模型之一。凭借开源策略、极低的 API 价格和接近第一梯队的推理能力,它迅速成为许多开发者在成本敏感场景下的首选。无论你是想搭建一个低成本的 AI 助手,还是在现有产品里替换昂贵的 GPT-4 调用,DeepSeek 都值得认真评估。本文会从模型对比入手,带你完整走通 DeepSeek API 的调用流程,包含 cURL、Python 两种方式,以及流式输出和价格测算。

一、DeepSeek 模型矩阵

DeepSeek 目前主要通过 API 对外提供两类模型:通用对话模型 DeepSeek-V3 和推理模型 DeepSeek-R1。两者定位不同,适用场景也各有侧重,理解它们的差异是选型的第一步。

DeepSeek-V3:通用对话主力

DeepSeek-V3 是 MoE(混合专家)架构的通用大模型,总参数量达到 671B,但每次推理只激活约 37B 参数,兼顾了能力和效率。它的定位对标 GPT-4o 和 Claude 3.5,擅长日常对话、文本生成、翻译、代码补全和函数调用。对于大多数应用场景,V3 是默认选择——响应快、价格低、能力全面。

DeepSeek-R1:深度推理专用

DeepSeek-R1 是基于强化学习训练的推理模型,对标 OpenAI 的 o1 系列。它的特点是会在给出最终答案前进行长链思考(chain-of-thought),在数学、逻辑推理、复杂代码和科学问题上表现显著优于通用模型。代价是输出 token 更多、延迟更高、单次调用成本也更高。因此 R1 适合用在「难题」上,而不是闲聊或简单问答。

维度 DeepSeek-V3 DeepSeek-R1
定位 通用对话与生成 深度推理
架构 MoE,激活 37B MoE + RL 推理
上下文窗口 128K 128K
擅长任务 对话、写作、代码、函数调用 数学、逻辑、复杂推理
响应速度 较慢(含思考过程)
建议场景 日常应用默认选择 难题、Agent 决策链

一个实用的策略是双模型分工:用 V3 处理高频的常规请求,把识别出的复杂问题路由给 R1。这样既控制了整体成本,又能在关键环节拿到推理质量。

二、调用前置准备

DeepSeek 官方 API 完全兼容 OpenAI 的接口格式,这意味着你不需要学习新的 SDK,现有的 OpenAI 客户端代码只要改两个地方就能跑起来:base_urlapi_key

调用前需要完成以下准备:

  1. 注册 DeepSeek 开放平台账号,完成实名认证;
  2. 在控制台创建 API Key,妥善保存(密钥只在创建时显示一次);
  3. 确认账户余额充足,DeepSeek 采用预充值计费模式;
  4. 记下 API 地址:https://api.deepseek.com/v1(官方)或使用聚合平台地址。

提示:如果你不想单独管理 DeepSeek 的账号和余额,也可以通过 EnlyAI 这类聚合平台调用,用同一个 Key 和同一个 base_url 同时访问 DeepSeek、OpenAI、Claude 等模型,后文会专门介绍。

三、用 cURL 调用 DeepSeek API

cURL 是最直接的调试方式,适合快速验证接口是否通、Key 是否有效。DeepSeek 的 Chat Completions 接口路径为 /chat/completions,请求体格式与 OpenAI 完全一致。

# 调用 DeepSeek-V3 通用模型
curl https://api.deepseek.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "system", "content": "你是一个简洁的技术助手。"},
      {"role": "user", "content": "用一句话解释什么是 MoE 架构。"}
    ],
    "temperature": 0.7
  }'

如果要切换到推理模型 R1,只需把 model 改为 deepseek-reasoner

# 调用 DeepSeek-R1 推理模型
curl https://api.deepseek.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{
    "model": "deepseek-reasoner",
    "messages": [
      {"role": "user", "content": "一个水池有两个进水管一个出水管,A管5小时注满,B管6小时注满,C管10小时排空,三管同开几小时注满?"}
    ]
  }'

R1 的响应里会额外包含一个 reasoning_content 字段,记录模型的思考过程,content 才是最终答案。这个设计让你可以选择是否把思考链展示给终端用户。

四、用 Python 调用 DeepSeek API

生产环境推荐用 Python。由于接口兼容 OpenAI,你可以直接复用官方 openai SDK,只需把 base_url 指向 DeepSeek。

方式一:使用 OpenAI SDK(推荐)

from openai import OpenAI

client = OpenAI(
    api_key="你的 DeepSeek API Key",
    base_url="https://api.deepseek.com/v1",
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是一个专业的 Python 工程师。"},
        {"role": "user", "content": "写一个快速排序函数并解释原理。"},
    ],
    temperature=0.7,
)

print(response.choices[0].message.content)

方式二:使用 requests 库

如果不想引入额外依赖,用标准 requests 库同样可以:

import requests

url = "https://api.deepseek.com/v1/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer 你的API Key",
}
payload = {
    "model": "deepseek-chat",
    "messages": [
        {"role": "user", "content": "用三句话介绍 DeepSeek。"}
    ],
}

resp = requests.post(url, headers=headers, json=payload, timeout=60)
resp.raise_for_status()
print(resp.json()["choices"][0]["message"]["content"])

五、流式输出(Streaming)

对于聊天类应用,流式输出能显著改善用户体验——模型一边生成一边返回,用户不用干等整段结果。只需在请求里加上 "stream": true

from openai import OpenAI

client = OpenAI(
    api_key="你的 DeepSeek API Key",
    base_url="https://api.deepseek.com/v1",
)

stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "讲一个关于程序员的冷笑话。"}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

流式模式下,每个 chunk 的 delta.content 是增量文本,拼接起来就是完整回答。注意 R1 模型流式输出时,思考过程会通过 delta.reasoning_content 单独推送,最终答案走 delta.content,处理时要注意区分。

六、价格对比:为什么 DeepSeek 值得关注

DeepSeek 最大的吸引力在于价格。以下是其官方定价与同类模型的量级对比(价格可能随官方调整,以官网为准):

模型 输入价格(每百万 token) 输出价格(每百万 token)
DeepSeek-V3(缓存命中) 约 ¥1 约 ¥8
DeepSeek-V3(缓存未命中) 约 ¥2 约 ¥8
DeepSeek-R1 约 ¥4 约 ¥16
GPT-4o(参考) 约 ¥18 约 ¥72
Claude(参考) 约 ¥21 约 ¥105

可以看出,DeepSeek-V3 的输入价格大约只有 GPT-4o 的十分之一,输出价格约九分之一。对于高并发的应用——比如客服机器人、内容生成流水线、批量数据处理——这个价差会直接转化为可观的利润空间。

DeepSeek 还有一个独特优势:上下文缓存(Context Caching)。当你重复发送相同的前缀(比如固定的 system prompt 或长文档),命中缓存后输入价格直接减半。这对多轮对话和 RAG 场景特别友好。

七、通过 EnlyAI 统一调用 DeepSeek

直接对接 DeepSeek 官方 API 有几个现实痛点:需要单独注册和充值、要管理多套 Key、切换模型时要改代码、官方平台偶尔有波动。如果你的应用同时还要用 GPT-4o 或 Claude,多账号管理的负担会更明显。

EnlyAI 这类 LLM API 聚合平台解决的就是这个问题。它把 DeepSeek、OpenAI、Claude、Gemini 等多家模型统一到一套 OpenAI 兼容接口下,你只需要一个 Key、一个 base_url,就能在所有模型间自由切换。

通过 EnlyAI 调用 DeepSeek,代码几乎不用改,只换 base_url 和 Key:

from openai import OpenAI

client = OpenAI(
    api_key="你的 EnlyAI API Key",
    base_url="https://enlyai.com/v1",
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "你好,介绍一下你自己。"}],
)
print(response.choices[0].message.content)

这样做的好处是显而易见的:

八、常见问题

DeepSeek-V3 和 R1 能不能在一次请求里混用?

不能。每次请求只能指定一个 model。如果你想让 R1 先思考再交给 V3 润色,需要分两次调用:先用 R1 生成推理结果,再把结果作为上下文传给 V3 做格式化输出。

R1 的思考过程会收费吗?

会。R1 输出的 reasoning_content 也算输出 token,按输出价格计费。所以对于简单问题不要滥用 R1,否则成本会明显高于 V3。

DeepSeek 支持函数调用(Function Calling)吗?

支持。DeepSeek-V3 兼容 OpenAI 的 function calling 格式,可以定义 tools 让模型调用外部函数。R1 目前对函数调用的支持有限,建议工具调用场景优先用 V3。

国内访问 DeepSeek API 稳定吗?

DeepSeek 是国产模型,国内直连延迟低、无需代理。但在高峰期偶尔会出现排队或限流,对延迟敏感的生产应用建议通过聚合平台做多渠道容灾,避免单点依赖。

九、总结

DeepSeek 用「接近旗舰的能力 + 极低的价格 + OpenAI 兼容接口」三张牌,在国产大模型里站稳了脚跟。日常应用选 V3,复杂推理选 R1,再配合上下文缓存进一步压低成本,是当前性价比很高的组合。而如果你同时还要用到 GPT-4o、Claude 等海外模型,通过 EnlyAI 统一接入能省去大量账号管理和代码切换的麻烦,让模型选型真正变成一行配置的事。

一个 Key,调用 DeepSeek 与全球模型

EnlyAI 把 DeepSeek、OpenAI、Claude、Gemini 聚合到统一接口,兼容 OpenAI SDK,改一行 base_url 即可在所有模型间自由切换。注册即享免费试用。

免费注册 EnlyAI →