你刚注册好账号,打算把大模型集成到自己项目里。打开控制台一看,四个模型名:chat、reasoner、v4-flash、v4-pro,文档里参数一堆,不清楚选哪个能省钱还够用。更烦躁的是照着示例代码发请求,总返回 404 或 401,查半天才发现 endpoint 写错了。这篇文章直接把踩过的坑梳理清楚,从选模型到代码调通,一步到位。
只需要一个 DeepSeek 账号、Python 3.8+ 环境,以及 requests 库(pip install requests)。在 [platform.deepseek.com](https://platform.deepseek.com) 注册后,去 API Keys 页面创建密钥。初始有免费额度(具体看官网活动),每次调用按 token 计费,个人开发者用 chat 或 flash 模型基本够跑小几百次。记得把密钥保存好,别硬编码在代码里,我习惯用环境变量 DEEPSEEK_API_KEY 来存。
四个模型定位完全不同: - chat:基于 V3 架构,通用对话、翻译、文案生成,延迟低,价格便宜,适合日常查资料、写摘要。 - reasoner:在 chat 基础上增强了推理能力,解数学题、逻辑推理、代码调试的表现更好,但 token 消耗比 chat 高 2-3 倍。 - v4-flash:最快响应,适合实时聊天或流式输出场景,但上下文长度和准确率不如其他。 - v4-pro:最贵效果最强,支持长上下文,复杂任务(如报告生成、长文档分析)首选。
个人开发者建议先用 chat 跑通流程,如果任务涉及多步推理(比如让模型一步步写代码并调试),切到 reasoner;需要极低延迟的对话机器人用 flash;遇到核心生产场景且预算充足,上 pro。别上来就 pro,烧钱快。
创建 Key 后,复制一串 sk-xxxxxxxx。在终端里设置环境变量(Linux/macOS):
`bash
export DEEPSEEK_API_KEY='sk-你的key'
`
或者写一个 .env 文件加载,避免泄露。如果用 Python,可以这样读:
`python
import os
api_key = os.getenv("DEEPSEEK_API_KEY")
`
官方 endpoint 固定为 https://api.deepseek.com/v1/chat/completions(注意是 v1,不是 v0)。下面是一个完整的 Python 函数,支持切换模型:
def call_deepseek(prompt, model="deepseek-chat", stream=False): url = "https://api.deepseek.com/v1/chat/completions" headers = { "Authorization": f"Bearer {os.getenv('DEEPSEEK_API_KEY')}", "Content-Type": "application/json" } payload = { "model": model, # 可选:deepseek-chat, deepseek-reasoner, deepseek-v4-flash, deepseek-v4-pro "messages": [{"role": "user", "content": prompt}], "temperature": 0.7, "max_tokens": 1024, "stream": stream } response = requests.post(url, headers=headers, json=payload) if response.status_code == 200: return response.json()["choices"][0]["message"]["content"] else: raise Exception(f"Error {response.status_code}: {response.text}")
- 401:检查 API Key 是否设置正确,或者 Key 已过期。
- 404:大概率 endpoint 写错,确认是 /v1/chat/completions,不是 /v1/completions。
- 429:请求频率超限,加一个 time.sleep(0.5) 或者用指数退避重试。
- 500:后端负载高或模型参数非法,检查 temperature 范围(0-2)、max_tokens 是否太大。
建议加个重试装饰器(比如 tenacity),避免偶发网络抖动。另外,如果你需要批量调用,注意 token 累计消耗,可以在响应里取 usage 字段看花费。
从注册到调通第一轮对话,核心三步:选对模型(chat 入门,reasoner 进阶)、拿 Key、写 POST 请求。个人开发者最稳妥的方案是先用 deepseek-chat 做原型,验证效果后再按需升级模型。别为了省时间跳过 Key 的存放方式——写死在代码里,一上传 GitHub 就等着被薅羊毛。最后,保持关注官方文档,模型参数和 endpoint 偶尔会更新,但本文描述的结构至少半年内稳定可用。
如果你也想试试一个Key调多个模型的方便,可以看看充站——¥50起步,额度永久有效,用支付宝/微信就能付款。