前言

DeepSeek 提供开放式 API 接口,允许开发者将 DeepSeek 模型集成到自己的应用或产品中。本教程将详细介绍从申请到调用的完整流程。注册 DeepSeek 账号,建议先完成注册。

一、申请 DeepSeek API Key

1.1 注册开发者账号

  1. 访问 DeepSeek 开放平台
  2. 使用 DeepSeek 账号登录(如果没有,先注册 DeepSeek 账号)
  3. 阅读并同意《开发者协议》

1.2 创建 API Key

  1. 登录后进入 「API 管理」 页面
  2. 点击 「创建 API Key」 按钮
  3. 输入 Key 名称(如 my-first-api-key
  4. 点击 「创建」
  5. 立即复制 API Keysk-xxxxxxxx... 格式)

    ⚠️ 重要:API Key 只显示一次,关闭页面后无法再次查看,请妥善保管!

1.3 API Key 安全建议

  • 不要泄露:不要在公开代码仓库、论坛或聊天中分享你的 API Key
  • 定期轮换:建议每 3-6 个月更换一次 API Key
  • 使用环境变量:不要在代码中硬编码 API Key

二、API 计费说明

2.1 定价(2026 年 6 月)

模型 输入价格(每百万 tokens) 输出价格(每百万 tokens)
DeepSeek-V3 ¥0.14 ¥0.28
DeepSeek-R1 ¥0.14 ¥0.28
DeepSeek-Coder ¥0.14 ¥0.28

2.2 免费额度

  • 新用户注册赠送 ¥10 免费额度
  • 邀请新用户可获得额外奖励

2.3 充值方式

  1. 进入 DeepSeek 开放平台
  2. 点击 「充值」
  3. 选择充值金额(支持支付宝/微信支付)
  4. 完成支付

三、API 调用示例

3.1 使用 curl 调用

curl https://api.deepseek.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "system", "content": "你是一个有用的助手"},
      {"role": "user", "content": "你好"}
    ]
  }'

3.2 使用 Python 调用

import requests
import os

api_key = os.getenv("DEEPSEEK_API_KEY")  # 从环境变量读取
url = "https://api.deepseek.com/v1/chat/completions"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}"
}

data = {
    "model": "deepseek-chat",
    "messages": [
        {"role": "system", "content": "你是一个有用的助手"},
        {"role": "user", "content": "解释一下 Python 的装饰器"}
    ],
    "temperature": 0.7,
    "max_tokens": 2000
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

3.3 使用 Node.js 调用

const axios = require('axios');

const apiKey = process.env.DEEPSEEK_API_KEY;
const url = 'https://api.deepseek.com/v1/chat/completions';

const data = {
  model: 'deepseek-chat',
  messages: [
    { role: 'system', content: '你是一个有用的助手' },
    { role: 'user', content: '如何用 Node.js 创建 HTTP 服务器?' }
  ],
  temperature: 0.7,
  max_tokens: 2000
};

axios.post(url, data, {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${apiKey}`
  }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

四、API 参数详解

4.1 常用参数

参数 类型 说明 默认值
model string 模型名称 deepseek-chat
messages array 对话历史 必填
temperature float 随机性(0-2) 1.0
max_tokens int 最大输出 tokens 4096
top_p float 核采样(0-1) 1.0
stream boolean 是否流式输出 false

4.2 模型选择

  • deepseek-chat:通用对话模型(推荐)
  • deepseek-coder:代码生成专用模型
  • deepseek-reasoner:推理模型(R1)

五、流式输出(Stream)

5.1 Python 流式调用

import requests
import json

api_key = "sk-your-api-key"
url = "https://api.deepseek.com/v1/chat/completions"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}"
}

data = {
    "model": "deepseek-chat",
    "messages": [{"role": "user", "content": "写一首关于春天的诗"}],
    "stream": True  # 开启流式输出
}

response = requests.post(url, headers=headers, json=data, stream=True)

for line in response.iter_lines():
    if line:
        line = line.decode('utf-8')
        if line.startswith('data: '):
            data = line[6:]
            if data != '[DONE]':
                chunk = json.loads(data)
                content = chunk['choices'][0]['delta'].get('content', '')
                print(content, end='', flush=True)

六、常见错误代码

错误代码 说明 解决方法
400 请求参数错误 检查请求格式和参数
401 API Key 无效 检查 API Key 是否正确
429 请求频率超限 降低请求频率或升级套餐
500 服务器错误 稍后重试
Insufficient Balance 余额不足 充值后重试

七、API 使用最佳实践

7.1 Prompt 工程建议

  • 明确指令:清晰描述你的需求
  • 提供示例:给 1-3 个示例(Few-shot Learning)
  • 设定角色:在 system message 中定义助手角色
  • 分步引导:复杂任务拆解为多个步骤

7.2 成本控制

  • 使用 max_tokens 限制输出长度
  • 选择合适的 temperature(低温度 = 更确定性输出)
  • 缓存常用对话历史,减少重复输入

八、API 应用场景

如果你还没注册开发者账号,请先 注册 DeepSeek 账号。关于 API 的具体使用方法,可以先参考 使用入门教程 了解基础操作。开发者也可以查看 vs ChatGPT 对比评测 了解不同模型的 API 差异。

8.1 常见应用

  • 聊天机器人:集成到网站或 App
  • 内容生成:自动写文章、摘要、翻译
  • 代码助手:代码补全、解释、调试
  • 数据分析:处理 Excel/CSV 数据
  • 客服系统:自动回复用户问题

8.2 成功案例

  • 教育平台:集成 DeepSeek API 提供智能答疑
  • 内容平台:自动生成文章摘要和标签
  • 开发工具:代码编辑器插件

相关资源


FAQ

API 调用有频率限制吗?

有。免费账号每分钟最多 20 次请求,付费账号可提升至 50-100 次/分钟。

API Key 泄露了怎么办?

立即在 DeepSeek 开放平台 删除该 Key,并创建新的 Key。

如何查看 API 使用量和账单?

登录开放平台,进入 「用量统计」 页面查看详细数据。

API 支持哪些编程语言?

任何能发送 HTTP 请求的语言都支持(Python/Node.js/Go/Java/PHP 等)。

可以将 API 用于商业项目吗?

可以,但需遵守 DeepSeek 的商业使用条款,建议联系商务合作。