Python 调用 DeepSeek-R1 API 的方法

准备工作
确保已安装 Python 3.6 及以上版本,并安装 requests 库。可通过以下命令安装:

pip install requests

获取 API 密钥
登录 DeepSeek 官方平台,进入开发者中心获取 API 密钥(API Key)。保存密钥至安全位置,避免泄露。

API 请求基础参数
DeepSeek-R1 API 通常需要以下参数:

  • model: 指定模型名称(如 deepseek-r1
  • messages: 对话内容列表,格式为 [{"role": "user", "content": "你的问题"}]
  • temperature: 控制生成结果的随机性(默认 0.7)
  • max_tokens: 生成的最大 token 数

示例代码
以下为完整调用示例:

import requests

API_KEY = "your_api_key_here"  # 替换为实际 API 密钥
API_URL = "https://api.deepseek.com/v1/chat/completions"  # 确认 API 地址

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

data = {
    "model": "deepseek-r1",
    "messages": [
        {"role": "user", "content": "解释一下量子计算的基本原理"}
    ],
    "temperature": 0.7,
    "max_tokens": 500
}

response = requests.post(API_URL, headers=headers, json=data)

if response.status_code == 200:
    print(response.json()["choices"][0]["message"]["content"])
else:
    print(f"请求失败,状态码:{response.status_code}, 错误信息:{response.text}")


 

参数说明

  • role: 支持 system(系统提示)、user(用户输入)、assistant(模型回复)
  • temperature: 值越低结果越确定,越高则越随机(范围 0.0~1.0)
  • max_tokens: 根据模型限制调整,避免超过上下文窗口大小

错误处理
常见错误及解决方法:

  • 401 Unauthorized: API 密钥无效或未提供
  • 400 Bad Request: 请求参数缺失或格式错误
  • 429 Too Many Requests: 超过调用频率限制,需等待或升级配额

高级用法

  1. 流式响应
    添加 "stream": True 参数,逐步接收生成结果,适用于长文本场景。
  2. 多轮对话
    messages 中追加历史对话记录,维持上下文连贯性。

注意事项

  • API 可能有速率限制,建议实现重试机制(如指数退避)
  • 生产环境中应将 API 密钥存储在环境变量或配置文件中
  • 定期检查官方文档更新,确保兼容性
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐