如果你只需要记住关于 DeepSeek API 的一个核心事实,那就是:
它是 OpenAI 兼容的。
这不是社区猜测,而是 DeepSeek 官方 API 文档明确写出的定位。对开发者来说,这意味着很多已有的 SDK 使用方式和 provider 抽象都可以复用。
官方文档给出的最基本配置
根据 DeepSeek 官方 API 文档,最关键的配置项是:
base_url:https://api.deepseek.com- 兼容写法:
https://api.deepseek.com/v1 - API key:从 DeepSeek 平台申请
官方文档同时明确说明:
/v1只是为了兼容 OpenAI 风格接口- 它不是模型版本号
来源:
- DeepSeek API Docs: https://api-docs.deepseek.com/
先搞清楚模型名
很多质量较低的教程会把:
- 网页产品名称
- 模型代号
- API 模型名
混为一谈。但官方文档其实已经区分得很清楚。
当前文档中最核心的模型名是:
deepseek-chatdeepseek-reasoner
因此最安全的工程习惯是:
- 模型名放在配置里,不要硬编码死
- 部署或升级前重新核对官方 API 文档
- 不要把第三方博客的旧截图当成长期可靠信息
最小可用请求应该先跑通
在做任何封装之前,建议先跑一个最小请求。官方文档给出的 curl 示例已经足够:
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
],
"stream": false
}'先用这个验证四件事:
- Key 是否有效
- Base URL 是否正确
- 网络链路是否正常
- 你当前使用的 SDK 或代理层配置是否一致
不要一上来先写大量抽象代码,然后把所有错误都混在一起排查。
Python 与 Node.js 的接入方式
官方文档直接展示了通过 OpenAI SDK 接入 DeepSeek API 的写法。
这意味着:
- 如果你已经接过 OpenAI 兼容服务
- 或者你已经有自己的 provider 层
那么接入 DeepSeek 往往只是一个配置问题,而不是全新接口适配。
Python
核心就是:
api_keybase_url="https://api.deepseek.com"
Node.js
核心就是:
baseURL: "https://api.deepseek.com"- DeepSeek API key
接入时最常见的四个错误
1. 把旧模型名写死
只在教程里复制一次模型名,然后多年不看官方文档,这是最常见的问题来源之一。
2. 把 App/Web 体验和 API 行为混在一起
官方文档已经明确区分 API 模型名与其他产品表述。工程上也应该把它们分开看。
3. 把 /v1 误认为模型版本
官方文档已经明确说了不是。
4. 跳过最小请求验证
如果你不先跑通最小请求,后面很容易把:
- 你的代码问题
- provider 配置问题
- SDK 问题
- 网络问题
混在一起。
更适合生产环境的接入检查单
在真正接入之前,建议至少确认:
-
Provider 配置可参数化 base URL、模型名、API key 都应从环境变量或配置中心读取。
-
超时与重试策略明确 不要完全依赖 SDK 默认值。
-
是否需要流式输出 先决定 UI 和交互模式,再决定是否启用
stream=true。 -
输出验证 如果是结构化输出,请在你自己的程序里做校验,而不是默认相信模型一定返回正确 JSON。
-
文档时效性 每次正式发布或切换模型前,都重新核对一遍官方文档。
deepseek-chat 和 deepseek-reasoner 怎么选
从官方文档的表述看,可以简单理解为:
deepseek-chat:更偏标准助手交互deepseek-reasoner:更偏 reasoning / thinking 模式
因此选型不要靠品牌印象,而应该看任务:
- 常规对话、普通应用流:优先
deepseek-chat - 显式推理任务、复杂分析任务:评估
deepseek-reasoner
结论
DeepSeek API 最值得重视的地方,不是它有一套完全独立的新 SDK,而是它明确采用了 OpenAI 兼容接口。这让它在工程集成上更容易进入已有系统。
只要你做到这三点:
- provider 配置清晰
- 模型名以官方文档为准
- 先跑通最小请求
那它的接入成本并不高。
参考来源
- DeepSeek API Docs: https://api-docs.deepseek.com/