DeepSeek 的 API 兼容 OpenAI SDK 协议,因此接入成本很低:已有 OpenAI 调用代码的,改两行配置就能跑。本文从申请到跑通一次对话,把容易踩的坑一并写清楚。
一、申请 API Key
- 打开 DeepSeek 开放平台,注册并登录;
- 进入「API Keys」页面,创建一个新的 Key;
- Key 只显示一次,创建后立刻复制保存(丢了只能重新建);
- 平台通常给新账号提供一定的免费额度,具体额度与计费规则以官网控制台为准,建议接入前先看一眼「用量」页面。
二、用 OpenAI SDK 调用(推荐)
DeepSeek 兼容 OpenAI 接口,所以直接装openai官方 SDK 即可:
pipinstallopenaifromopenaiimportOpenAI client=OpenAI(api_key="你的 DeepSeek API Key",base_url="https://api.deepseek.com",# 关键:改 base_url)resp=client.chat.completions.create(model="deepseek-chat",# 对话模型messages=[{"role":"system","content":"你是一个简洁的技术助手"},{"role":"user","content":"用三句话解释什么是 RAG"},],temperature=0.7,max_tokens=1024,)print(resp.choices[0].message.content)想用推理模型时,把model换成deepseek-reasoner(模型名称以官网文档为准)。推理模型会先输出思考过程,适合数学、逻辑、代码调试类任务。
三、curl 直接调试
curlhttps://api.deepseek.com/chat/completions\-H"Content-Type: application/json"\-H"Authorization: Bearer 你的Key"\-d'{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "你好"}], "stream": false }'四、流式输出(打字机效果)
stream=client.chat.completions.create(model="deepseek-chat",messages=[{"role":"user","content":"写一首关于秋天的短诗"}],stream=True,)forchunkinstream:delta=chunk.choices[0].delta.contentifdelta:print(delta,end="",flush=True)五、常见坑与解决
| 报错 / 现象 | 原因 | 解决 |
|---|---|---|
401 Unauthorized | Key 错误、已删除或未加Bearer前缀 | 检查 Key,Header 写Authorization: Bearer sk-xxx |
404 Not Found | base_url写错(多写了/v1或少了https://) | 用https://api.deepseek.com |
402 / 余额不足 | 免费额度用完或未充值 | 到控制台查看余额与赠送额度 |
429 Too Many Requests | 并发/频率超限 | 降低并发、加重试与退避 |
| 请求超时 | 长文本或网络波动 | 设置合理timeout,必要时改用流式 |
| 返回内容被截断 | max_tokens太小 | 调大max_tokens |
六、给开发者的几点建议
- Key 不要写进前端代码:任何打进浏览器的 Key 都等于公开,务必走服务端代理;
- 把模型名做成配置项:对话/推理模型切换成本低,方便 A/B 对比;
- 封装重试:网络抖动与限流很常见,SDK 自带重试,也可以自己包一层指数退避;
- 成本控制:先用小
max_tokens验证流程,再逐步放开。
接入完成后,如果你想对比其他国产大模型的 API(Kimi、智谱、阿里云百炼、讯飞开放平台等),可以在下表中直接跳转各平台入口:
| 平台 | 用途 |
|---|---|
| DeepSeek 开放平台 | 本文主角,对话与推理 API |
| 月之暗面 Kimi API | 超长上下文场景 |
| 阿里云百炼 | 通义千问系列 API |
| 智谱 AI 开放平台 | GLM 系列 API |
| 讯飞开放平台 | 语音等能力 API |
| AITools | AI工具平台 |