进阶 10 分钟成本

DeepSeek API:密钥、价格及何时切换到 本地

DeepSeek API 让您通过自己的代码访问 DeepSeek 模型,按 token 计费,请求格式与 OpenAI 的格式兼容。本指南介绍如何创建密钥、发起首次调用,以及正确阅读官方定价表,避免看错条目。文中不抄录任何价格:金额会变化,只有服务提供方的页面才是权威依据。最后,本指南列出判断标准,说明在什么情况下本地模型会比 API 更简单或更便宜。

作者: Clara M.·更新于 2026-10-01·已在 Windows、macOS 和 Linux 上测试

#DeepSeek API:开始前的关键要点

DeepSeek提供两种使用入口,不要混淆。聊天网站免费,可通过浏览器使用。API则面向开发者:您的程序发送请求,DeepSeek的服务器返回响应,每次交互的费用都会从您的余额中扣除。本指南介绍的是第二种入口。

这是什么
由 DeepSeek 托管、按使用量付费的服务。您无需下载任何内容:模型在提供方的服务器上运行。
格式
兼容 OpenAI API。能够与 OpenAI 通信的库和工具,只需修改两项设置就能正常使用:基础地址和密钥。
计费方式
按 token 计费,从预付余额中扣款。价目表区分发送的 token 和生成的 token,其中发送的 token 又分为已缓存和未缓存两类。
您的数据
每次请求都会离开您的基础设施,并在服务提供商的服务器上处理。如果您处理个人数据或机密数据,这是首先需要审查的问题。
L'alternative
DeepSeek 也发布其模型的权重。您可以将适配您设备的版本在本地运行,无需按token计费或上传数据。
i
为何本指南未包含任何价格信息
文章中转载的价格,在服务商调整价目表的当天就会失准,而且不会有任何提示。本指南不展示日后容易过时的金额,而是教您如何查阅官方页面,并用当天的价格数据进行计算。请警惕任何既未注明来源、也未注明价格采集日期的 DeepSeek 价格表。

#先决条件

企业本地 AI 套件

在工作场所部署本地 AI:GDPR、AI 法案、多用户架构、成本、供管理层参考的说明材料。

  • 在线空间,终身可用
  • PDF + 文件
  • 30 天内退款
开发者账号
开发者账户需在 DeepSeek 平台上创建,地址为 platform.deepseek.com。这个地址与聊天网站的地址不同。
一种支付方式
该服务使用您预先充值的余额。没有可用余额时,API 调用会被拒绝。
调用API的工具
curl suffit pour un premier essai. Pour un vrai projet, Python 3 avec la bibliothèque openai, ou son équivalent pour Node.js.
一个安全存放密钥的地方
在您的电脑上使用环境变量,在生产环境中使用密钥管理工具。绝不要把密钥写入源代码。

#创建一个 DeepSeek API密钥

  1. 01
    在平台上开通账户
    请自行输入 platform.deepseek.com 访问该网站,然后注册。用于工作时,请使用团队共享邮箱,而不是个人邮箱:账户中保存着余额和密钥,即使有同事离职,也必须能继续使用。
  2. 02
    充值余额
    可以在平台的充值页面为账户添加余额。请先充值一小笔金额:这对测试来说已经绰绰有余,而且如果编写不当的循环失控,也能通过余额上限限制支出。
  3. 03
    生成密钥
    在 API 密钥栏目中创建一个新密钥,并用能说明其用途的名称命名(“essais-poste-clara”、“prod-support”)。请立即复制密钥:与大多数平台一样,只有在创建时才能看到完整密钥。
  4. 04
    将密钥保存在代码之外
    将其存入环境变量。您的程序会在启动时读取它,而它不会出现在 Git 仓库或屏幕截图中。
密钥管理页面(需账户)
https://platform.deepseek.com/api_keys
终端(Linux、macOS)
export DEEPSEEK_API_KEY="collez-votre-cle-ici"
PowerShell(Windows)
$env:DEEPSEEK_API_KEY = "collez-votre-cle-ici"
!
密钥是一种支付方式
任何持有您密钥的人都能花掉您的余额。为每个项目创建独立密钥,以便撤销其中一个密钥时不必停止其他项目;切勿将密钥放在浏览器中执行的 JavaScript 或移动应用中。只要怀疑密钥可能泄露,就应立即在平台上删除它。

#首次调用:与 OpenAI 兼容的格式

API 的基础地址是 https://api.deepseek.com。密钥通过 Authorization 请求头传递,前面加上 Bearer。在发送问题之前,请先请求您的密钥可调用的模型列表:模型标识符会随代际更替而变化,而这一列表的获取方式本身就保证了它是最新的。

终端:列出可用模型
curl https://api.deepseek.com/models \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY"

响应是一个 JSON 对象,其中每个条目都有一个 id 字段。您需要将这个标识符原样复制到请求中。许多教程使用 deepseek-chat 和 deepseek-reasoner 这两个历史名称:使用前,请确认它们确实出现在返回的列表中,并查阅定价页面,了解每个名称如今对应哪个模型。

终端:第一问
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{
    "model": "IDENTIFIANT_DU_MODELE",
    "messages": [
      {"role": "system", "content": "Tu réponds en français, en trois phrases maximum."},
      {"role": "user", "content": "Explique la notion de token pour un modèle de langage."}
    ],
    "stream": false
  }'

在 Python 中,使用 OpenAI 官方库即可。与调用 OpenAI 相比,只有两个参数不同:API 密钥和基础地址。

终端
pip install openai
premier_appel.py
import os
from openai import OpenAI

MODELE = "IDENTIFIANT_DU_MODELE"  # un id renvoyé par /models

client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com",
)

reponse = client.chat.completions.create(
    model=MODELE,
    messages=[
        {"role": "system", "content": "Tu réponds en français, en trois phrases maximum."},
        {"role": "user", "content": "Explique la notion de token pour un modèle de langage."},
    ],
)

print(reponse.choices[0].message.content)
print(reponse.usage)  # le décompte qui sert à la facturation

最后一行对后续操作最有用。usage对象显示您发送了多少个token(prompt_tokens),以及模型生成了多少个token(completion_tokens)。上下文缓存文档还介绍了两个字段:prompt_cache_hit_tokens和prompt_cache_miss_tokens,用于区分已缓存和未缓存的输入token。请显示您自己调用返回的对象:应以它为准,而不是以示例为准。

#DeepSeek API 的费用:请查阅官方定价表

所有价格都位于文档的同一页面上。请在本指南旁边打开该页面:以下段落解释了每一行的含义,而非其具体数值。

官方定价表(Models & Pricing)
https://api-docs.deepseek.com/quick_start/pricing/

价目表以表格形式呈现,每个模型占一列。价格按每百万 token 计。对于普通法语文本,一个 token 相当于略少于一个词,但这一比例因模型和内容而异:要统计数量,请以响应中的 usage 对象为准,而不是依赖换算规则。

输入、缓存未命中(cache miss)
您发送的 token 的常规价格:系统指令、对话历史、附加文档、问题。
输入,缓存命中(cache hit)
折扣价格,适用于服务最近已处理并缓存的部分请求内容。
输出(output)
模型生成的 token 的费用。请将这一行与输入费用一行比较:在这类 API 中,输出费用通常更高。
推理词元
处于推理模式的模型会在回答前写出一段思考内容。请在页面上确认这些 token 如何计数:如果它们按输出计费,那么一份三行的回答可能要付出一页内容的费用。
最大上下文长度和输出长度
同一张表还列出了上下文长度和单次回复的最大长度。这两项不是价格,但决定了单次请求费用的上限。
货币
记下显示的币种。如果价目表不是以欧元计价,请将汇率换算以及银行可能收取的充值手续费计入成本。

#上下文缓存:造成差异的首要因素

缓存按前缀匹配:如果某个请求的开头与近期某个请求的开头相同,这部分共同内容就会按优惠费率计费。您无需启用任何功能。不过,构建请求时内容的排列顺序会决定您需要支付的费用。

将固定内容放在最前面
将每次调用之间保持不变的内容放在最前面:系统指令、示例、参考文档。
将可变内容放在末尾
将用户的问题、日期和会话标识符放在最后。只要在第一行插入日期,就足以让每个请求变得独一无二,从而失去缓存带来的好处。
以测量代替猜测
缓存命中并无保证。实际命中的比例可在 usage 对象的缓存字段中查看。如果您的请求内容相似,但这一比例仍接近零,就需要重新审视请求的构造方式。

#低谷时段及临时折扣

API 价目表可能规定在特定时段或上线初期提供优惠价格。在将这些优惠计入预算之前,必须核查三个方面。

今日页面上是否有折扣信息?
如果官方页面既未提及适用时段,也未提及折扣,就应视为没有此类时段或折扣。不要根据旧文章中看到的折扣来制定预算。
使用哪个时区?
时间范围通常以UTC表示。在法国本土,冬令时加一小时,夏令时加两小时。
您的工作负载能否调整执行时段?
低谷时段只对可以等待的处理任务有利:夜间生成摘要、文档分类、批量生成。白天为客户提供回答的助手无法从中受益。

#使用您的数据进行计算

每次调用的费用由三项构成:缓存外输入token、缓存内输入token和输出token,每项分别乘以其单价后除以一百万。以下函数将此公式应用于响应的usage对象。三个单价默认为零:请自行从官方页面复制您所调用模型的对应数值。

cout_appel.py
# Prix par million de tokens, à recopier depuis la page officielle
# Relevé le : (notez la date ici)
PRIX_ENTREE_CACHE_MANQUE = 0.0
PRIX_ENTREE_CACHE_ATTEINT = 0.0
PRIX_SORTIE = 0.0

def cout_appel(usage):
    en_cache = getattr(usage, "prompt_cache_hit_tokens", 0) or 0
    hors_cache = usage.prompt_tokens - en_cache
    total = (
        hors_cache * PRIX_ENTREE_CACHE_MANQUE
        + en_cache * PRIX_ENTREE_CACHE_ATTEINT
        + usage.completion_tokens * PRIX_SORTIE
    )
    return total / 1_000_000

# Exemple : print(cout_appel(reponse.usage))
→
为您记录的数据注明日期
在配置文件中的三个价格旁标注日期,并每月或在每次预算决策前重新查阅官方页面。您计算的费用与实际扣除的余额之间出现偏差,是价格表发生变化的第一个信号。

#跟踪使用量

可以在平台上查询剩余余额,API 也提供了一个以 JSON 格式返回余额的接口。这样就能在余额耗尽之前触发警报,而不是等到耗尽之后。

终端:查询余额
curl https://api.deepseek.com/user/balance \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY"
记录每个调用
记录日期、模型以及 usage 对象中的计数器。两周真实使用环境下的日志胜过任何估算:这是决定使用 API 还是本地部署的基础。
限制输出长度
max_tokens 参数限制回答的长度,因此也限制其最高成本。请根据任务调整该参数,而不是保留默认值。
监控历史记录
在对话中,每一轮都会重新发送全部历史记录。一段有五十次交互的对话,会将开头的内容发送五十次,即使缓存能降低这部分费用。超过一定长度后,请进行摘要或截断。
赠送额度与充值额度
如果您的账户除了充值额度,还有赠送额度,定价页面会说明这两种额度的使用顺序。也请检查赠送额度是否有到期日期。

#API还是本地模型:如何选择

不存在一个普遍适用的门槛,超过它本地运行就会更便宜,本指南也不会编造这样的门槛。结果取决于只有您自己掌握的三个数值:您实际使用的 token 数量、当天的价目表,以及您若购买硬件所需支付的价格。下面的判断标准往往能让您在拿出计算器之前就做出决定。

隐私
个人数据、合同、专有代码、客户档案:通过API,这些内容会传输到位于欧盟以外的第三方,这属于《通用数据保护条例》(RGPD)的范畴,需由您的数据保护官进行合规确认。在本地部署时,此问题不适用,这往往是决定性因素。
使用量与使用规律
使用量较少或使用不规律时,API 更合适:不使用就无需付费。使用量大且可预测时,本地运行更合适:无论机器处理十次请求还是一万次请求,成本都相同。
所需质量
API提供的是厂商的大型模型服务。在配备12至24GB VRAM的显卡上,您可以运行明显更小的模型:以Q4_K_M格式计算,14B模型约需9GB,32B模型约需19GB。如果您的任务需要大型模型,本地部署则要求更高端的硬件配置。
可用性
API 的可用性取决于服务提供商的负载和您的网络连接。本地运行则取决于您的机器,您需要自行监控并排除故障。
预算可预测性
API费用按实际使用量计算,可能超出预期。本地部署的开销是固定成本,事先可知:购买或租赁、电力消耗、维护时间。
人工耗时
API 接入很快:一个密钥、几行代码即可。本地服务器则需要安装、更新,还需要有人知道服务器不再响应时该如何处理。这些时间也有成本,应纳入比较。

#四步对比法

  1. 01
    测量
    通过API运行您的实际使用场景,持续两周,并记录usage对象。这样可得到实际的月度使用量,分为未命中缓存的输入、命中缓存的输入和输出。
  2. 02
    估算 API 成本
    按当天的官方价目表计算这一用量的费用。这就是您的每月 API 成本,并注明价格查录日期。
  3. 03
    估算本地运行成本
    取运行目标模型的机器价格,按您计划的使用时长分摊,再加上电力和维护时间成本。GPU 服务器成本计算指南详细说明了这一过程。
  4. 04
    先验证质量,再比较价格
    向您的硬件能够运行的本地模型提交二十条真实请求,并将其回答与 API 的回答进行比较。如果结果不符合要求,比较成本就失去了意义:您比较的并不是同一种服务。

#两者使用相同的代码

在两者之间切换无需重写您的应用。Ollama 默认监听 http://localhost:11434,也在 /v1 路径下提供兼容 OpenAI 的接口。以下代码根据一个环境变量,在 DeepSeek API 和本地模型之间切换。

终端:准备本地模型
ollama pull deepseek-r1:14b
client_api_ou_local.py
import os
from openai import OpenAI

LOCAL = os.environ.get("LLM_LOCAL") == "1"

if LOCAL:
    client = OpenAI(api_key="ollama", base_url="http://localhost:11434/v1")
    modele = "deepseek-r1:14b"
else:
    client = OpenAI(
        api_key=os.environ["DEEPSEEK_API_KEY"],
        base_url="https://api.deepseek.com",
    )
    modele = "IDENTIFIANT_DU_MODELE"  # un id renvoyé par /models

reponse = client.chat.completions.create(
    model=modele,
    messages=[{"role": "user", "content": "Résume ce texte en deux phrases : ..."}],
)
print(reponse.choices[0].message.content)

deepseek-r1:14b 是一个蒸馏版本,能装入 RTX 3060 这样的 12 GB 显存显卡。它不是 API 提供的那个模型:处理困难任务时,应预期它的回答准确性较低。这套配置正是为了让您在方法的第四步中,用自己的请求观察这一差异。

i
无需选择单一阵营
由于代码相同,可以采用混合方案:在本地处理敏感内容和常规工作量,通过 API 应对高峰负载或处理超出本地模型能力的任务。此时,路由规则必须依据数据性质,而不是负载:不能因为本地服务器繁忙,就把机密文档发送给 API。

#故障排除:常见错误

DeepSeek 的文档中有一个专门介绍错误代码的页面。以下列出的是刚开始使用时会遇到的情况;如有疑问,应以官方页面为准,而不是本摘要。

401,认证失败
密钥缺失、截断或已撤销。请确认在启动程序的终端中环境变量已正确设置,且复制粘贴过程中未出现空格。
402,余额不足
账户余额已耗尽。请在平台上充值。通过余额查询接口设置告警,可以避免生产环境中出现这种情况。
400或422,请求无效
JSON 请求体格式有误,或某个参数不被接受。最常见的原因是从旧教程中复制了模型标识符:请重新查看 /models 列表。
429,请求过多
您的请求发送速度超过了服务允许的速率。请拉开调用间隔,并逐次延长等待时间后重试。
500或503,服务器错误或过载
问题出在厂商端。请稍后重试,并在您的应用中设置明确的提示或回退模型。
响应非常缓慢
在高负载期间,请求可能需要长时间才能开始响应。在客户端设置最大超时时间,并启用流模式以实现逐步显示响应。
超出预期的费用
三个常见原因:推理 token 被计入输出、缓存很少命中、每轮对话都重新发送完整的对话历史。记录 usage 对象的日志可以帮助区分这些原因。

#官方来源

价格、模型列表和计费规则会变化。这些服务提供方的页面是参考依据,任何涉及具体数值的决策都应先查阅这些页面。

模型与价格
https://api-docs.deepseek.com/quick_start/pricing/
API文档(首次调用、使用指南、错误代码)
https://api-docs.deepseek.com/
DeepSeek在Hugging Face上发布的模型权重
https://huggingface.co/deepseek-ai

#深入了解

本指南仅涵盖密钥、价目表的解读和决策方法。要估算费用并进行安装,请继续参阅本站的以下指南:

运行 LLM 的 GPU 服务器成本是多少?
购买、租赁或 API:第三步比较中需累加的成本项。https://quelllm.fr/guide/cout-serveur-gpu-llm
免费 LLM API:真正的对比
如果免费档位能满足您的需求,可了解各项免费方案、其配额,以及您的数据会如何被处理。https://quelllm.fr/guide/api-llm-gratuites-vs-local
DeepSeek V4 Pro 本地运行
在本地自行运行该系列大模型所需的硬件配置。https://quelllm.fr/guide/guide-deepseek-v4-pro
本地 AI 与 ChatGPT 对比
同样是选择云端还是本地的问题,但这里讨论的是对话用途,而非 API 使用。https://quelllm.fr/guide/ia-locale-vs-chatgpt
这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。