Python 中调用 DeepSeek-R1 API的方法介绍,图文教程

简介: 本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)

原文链接:如何使用 Python 调用 DeepSeek-R1 API?超详细的图文教程


本教程将手把手教你通过 Python 调用 DeepSeek 的 R1 大模型 API,即使没有编程基础也能轻松上手。文末还包含常见问题解答,建议收藏备用!


一、准备工作

获取 API Key

首先登录 DeepSeek 控制台,获取 API Key。首次注册登录的用户, DeepSeek 会赠送 10 块钱的 tokens 额度(先看看有没有,也有可能不送了,导致你的 API Key 不能用,没有额度的话得先充钱)。


在「API Keys」页面点击「创建 API Key」,复制生成的密钥(如:sk-123456789abc)。请保存下来,如果忘记或者丢失了需要重新创建一个 API Key。



二、Python 调用步骤

1. 环境准备:安装 Python(已安装可跳过)

  • 如果电脑没有 Python 环境,需要先去安装 Python 环境(macOS 自带 Python3 环境)。可以访问 python.org 来下载安装。
  • 下载最新版(推荐 3.8+)
  • 安装时务必勾选 Add Python to PATH


不需要 Python 环境,直接通过可视化界面来调用 API 的方法:Deepseek API 调用教程,图文讲解


2. 安装 requests 库(已安装可跳过)

在 VSCode 或者其它 IDEA 工具中,新建一个项目文件夹,然后打开终端(顶部菜单:Terminal → New Terminal)执行以下命令:

pip install requests
# 或
pip3 install requests


如果命令执行成功,那么会体现类似这样的提示:

或者这样的:

Successfully installed requests-x.x.x


如果安装失败,并且你的电脑也有 Python 环境,那么可能是因为你的系统中有多个 Python 版本,导致你在不同的环境中使用了不同的 Python 版本,而 requests 库可能只安装在其中一个版本的环境中。


你可以在页面右下角切换版本。


还可以在 VSCode 中安装一个名为 “Python” 的插件,然后通过下面的方式来查看你当前的版本,并打开对应版本的控制台面板来运行上面的命令,比如:


如果实在处理不了这些报错的问题,可以跳到文章的最后一个小节,那里提供了一种更简单的调用 DeepSeek-R1 API 的方法。或者直接访问这篇文章,通过可视化的面板来调用 API:Deepseek API 调用教程,图文讲解


3. 基础调用代码

上面的命令执行成功后,在项目中新建一个以 .py 结尾的文件,比如 deepseek.py 文件,并将以下代码复制粘贴进去(注意替换 sk-你的密钥)。

# deepseek.py 
import requests
# 填写你的 API Key
API_KEY = "sk-你的密钥"  
url = "https://api.deepseek.com/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}
data = {
    "model": "deepseek-reasoner",  # 指定使用 R1 模型(deepseek-reasoner)或者 V3 模型(deepseek-chat)
    "messages": [
        {"role": "system", "content": "你是一个专业的助手"},
        {"role": "user", "content": "你是谁?"}
    ],
    "stream": False  # 关闭流式传输
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 200:
    result = response.json()
    print(result['choices'][0]['message']['content'])
else:
    print("请求失败,错误码:", response.status_code)


通过指定 model='deepseek-chat' 即可调用 DeepSeek-V3。

通过指定 model='deepseek-reasoner',即可调用 DeepSeek-R1。


4. 运行代码

可以通过以下几种方式来运行代码:

  • 可以点击右上角「▶」按钮来运行代码
  • 可以在控制台通过python3 deepseek.pypython deepseek.py来运行代码
  • 可以 “右键编辑器 → Run Python File in Terminal” 来运行代码



5.  成功效果

当看到类似以下输出即表示调用成功:

您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。

或者其它问题的答案。

量子计算是一种利用量子力学特性进行信息处理的新型计算模式,其核心原理与传统经典计算有本质区别。以下是量子计算的基本原理分点解释:
---
### 1. **量子比特(Qubit)**
   - **经典比特 vs. 量子比特**  
     经典计算机使用比特(0或1)作为信息基本单位,而量子计算机使用量子比特(qubit)。量子比特的独特之处在于它可以同时处于0和1的**叠加态**。
   - **叠加态(Superposition)**  
     量子比特的状态可表示为:  
     \[
     |\psi\rangle = \alpha|0\rangle + \beta|1\rangle
     \]  
     其中,\(\alpha\)和\(\beta\)是复数(概率幅),满足\(|\alpha|^2 + |\beta|^2 = 1\)。测量时,量子比特会坍缩到0或1,概率分别为\(|\alpha|^2\)和\(|\beta|^2\)。  
     **类比**:想象一枚旋转的硬币,在停下前既是“正面”又是“反面”。
---
### 2. **量子纠缠(Entanglement)**
   - **定义**  
     多个量子比特可形成纠缠态,此时一个量子比特的状态会瞬间影响另一个,即使它们相隔遥远(爱因斯坦称为“鬼魅般的超距作用”)。
   - **示例**  
     贝尔态(Bell state)是最简单的纠缠态之一:  
     \[
     |\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
     \]  
     若测量其中一个量子比特为0,另一个必然也是0,反之亦然。
   - **作用**  
     纠缠是实现量子并行性和量子通信(如量子隐形传态)的关键。


三、代码解析

1. 关键参数说明

参数

说明

model

deepseek-reasoner 表示 R1 模型

messages

对话历史记录(支持多轮对话)

stream

True 开启流式输出(适合长文本)


2. 多轮对话示例

messages = [
    {"role": "system", "content": "你是一位诗人"},
    {"role": "user", "content": "写一首关于春天的诗"},
    {"role": "assistant", "content": "春风拂面柳丝长..."},
    {"role": "user", "content": "请继续补充第二段"}
]



四、流式传输模式

修改以下参数即可开启:

data["stream"] = True
response = requests.post(url, headers=headers, json=data, stream=True)
for line in response.iter_lines():
    if line:
        decoded_line = line.decode('utf-8')
        print(decoded_line)


完整代码:

# deepseek.py 
import requests
# 填写你的 API Key
API_KEY = "sk-你的 API Key"  
url = "https://api.deepseek.com/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}
data = {
    "model": "deepseek-chat",  # 指定使用 R1 模型(deepseek-reasoner)或者 V3 模型(deepseek-chat)
    "messages": [
        {"role": "system", "content": "你是一个专业的助手"},
        {"role": "user", "content": "你是谁?"}
    ],
    "stream": False  # 关闭流式传输
}
data["stream"] = True
response = requests.post(url, headers=headers, json=data, stream=True)
for line in response.iter_lines():
    if line:
        decoded_line = line.decode('utf-8')
        print(decoded_line)

下面用的是 V3 模型(deepseek-chat)输出的结果,为什么不用 R1?太火爆了,经常没响应:


五、常见问题

Q1:如何区分 V3 和 R1 模型?

  • V3:model: "deepseek-chat"
  • R1:model: "deepseek-reasoner"


Q2:出现 401 错误?

  • 检查 API Key 是否填写正确
  • 确认密钥未过期


Q3:出现「No module named 'requests'」?

检查是否:

  1. 在正确的终端执行了 pip install requests
  2. VSCode 使用的是正确的 Python 解释器(见上文)


Q4:出现 requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1?

嗯……,跟“服务器繁忙”一个道理,可能用的人太多,响应失败了。


错误提示 Expecting value: line 1 column 1 (char 0) 表示 json() 方法期望收到的是一个有效的 JSON 数据,但实际收到的内容为空。这可能是因为 API 没有返回数据,或者返回的是一个空的响应体。


Q5:为什么启用流式输出后一直出现 keep-alive?

嗯……,跟“服务器繁忙”一个道理,可能用的人太多,所以一直处于长连接状态。


六、更简单的调用 DeepSeek-R1 API 的方法(推荐)

你可以在 Apifox 中调用 DeepSeek-R1 API 或者 DeepSeek-V3 API,你可以通过 Apifox 来进行流式输出结果:


或者整体输出结果:


详情请查看这篇文章:【Deepseek API 调用教程,图文讲解




通过本教程,你已经掌握了 DeepSeek API 的核心调用方法。建议先从简单对话开始测试,逐步尝试流式传输、多轮对话等高级功能。如果在实践中遇到问题,欢迎在评论区留言讨论!


相关文章
|
6天前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
67 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
13天前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
13天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
114 1
|
16天前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
18天前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
|
18天前
|
缓存 监控 供应链
唯品会自定义 API 自定义操作深度分析及 Python 实现
唯品会开放平台提供丰富API,支持商品查询、订单管理、促销活动等电商全流程操作。基于OAuth 2.0认证机制,具备安全稳定的特点。通过组合调用基础接口,可实现数据聚合、流程自动化、监控预警及跨平台集成,广泛应用于供应链管理、数据分析和智能采购等领域。结合Python实现方案,可高效完成商品搜索、订单分析、库存监控等功能,提升电商运营效率。
|
18天前
|
缓存 监控 供应链
京东自定义 API 操作深度分析及 Python 实现
京东开放平台提供丰富API接口,支持商品、订单、库存等电商全链路场景。通过自定义API组合调用,可实现店铺管理、数据分析、竞品监控等功能,提升运营效率。本文详解其架构、Python实现与应用策略。
JSON 监控 API
36 0
|
26天前
|
人工智能 API 开发者
图文教程:阿里云百炼API-KEY获取方法,亲测全流程
本文详细介绍了如何获取阿里云百炼API-KEY,包含完整流程与截图指引。需先开通百炼平台及大模型服务,再通过控制台创建并复制API-KEY。目前平台提供千万tokens免费额度,适合开发者快速上手使用。
469 5
|
2月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)

热门文章

最新文章

推荐镜像

更多