Python调用DeepSeek – R1 API全攻略

文章标题:

Python调用DeepSeek - R1 API全方位指南

文章内容:

原文链接:怎样用 Python 调用 DeepSeek-R1
API?超详尽的图文教程

本教程会一步步带领你通过 Python 去调用 DeepSeek 的 R1 大模型 API,就算没有编程基础也能轻松操作。文末还有常见问题的解答,建议收藏起来备用!

一、前期准备

获取 API Key

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

Python调用DeepSeek - R1 API全攻略

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

Python调用DeepSeek - R1 API全攻略

二、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

Python调用DeepSeek - R1 API全攻略

要是命令执行成功,会出现类似这样的提示:

Python调用DeepSeek - R1 API全攻略

或者是这样的:
Successfully installed requests-x.x.x

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

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

Python调用DeepSeek - R1 API全攻略

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

Python调用DeepSeek - R1 API全攻略

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

Python调用DeepSeek - R1 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” 来运行代码

Python调用DeepSeek - R1 API全攻略

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,反之亦然。
   - **作用**  
     纠缠是实现量子并行性和量子通信(如量子隐形传态)的关键。

Python调用DeepSeek - R1 API全攻略

三、代码解析

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?太火爆了,经常没响应:

Python调用DeepSeek - R1 API全攻略

五、常见问题

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 来进行流式输出结果:

Python调用DeepSeek - R1 API全攻略

或者整体输出结果:

Python调用DeepSeek - R1 API全攻略

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


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

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12826.html

(0)
LomuLomu
上一篇 2025 年 7 月 9 日
下一篇 2025 年 7 月 9 日

相关推荐

  • 【2025年官方版】IDEA最新破解教程 – 完美激活无需担忧过期问题

    IntelliJ IDEA作为JetBrains公司开发的旗舰IDE产品,凭借其智能代码补全、强大的静态分析功能和便捷的项目管理工具,成为了Java开发者最受欢迎的开发环境之一。然而,其高昂的订阅价格确实让许多个人开发者和学生望而却步。今天,我将分享一个经过亲测的IDEA 2025.1版本永久激活方法,让你不再为激活问题而烦恼! 我注意到很多朋友在网上找了各…

    2025 年 4 月 28 日
    2.9K00
  • 2025年最新IDEA激活码分享 | IDEA永久破解教程及注册码获取指南

    IntelliJ IDEA作为Java开发者首选的集成开发环境,凭借其强大的功能和丰富的插件生态,极大地提升了开发效率。然而,其高昂的授权费用也让不少开发者望而却步。本文将为大家详细介绍IDEA的永久激活方法,让你畅享这款顶级开发工具。 准备工作 在开始破解前,请确保你的IDEA是从官网下载的正版安装包。如果之前安装过其他破解补丁或非官方版本,建议先彻底卸载…

    IDEA破解教程 2025 年 7 月 25 日
    36000
  • 2025年最新IDEA激活码与永久破解教程:支持JetBrains全家桶

    适用于JetBrains全系列产品的破解指南 本教程适用于IntelliJ IDEA、PyCharm、DataGrip、Goland等JetBrains旗下所有开发工具,一站式解决激活问题! 先展示最新IDEA版本破解成功的效果图,如图所示,软件已成功激活至2099年,完美解决使用期限问题! 下面将详细讲解如何将IDEA激活至2099年的完整步骤。此方法同样…

    IDEA破解教程 2025 年 7 月 25 日
    6000
  • Python在多个Excel文件中找出缺失数据行数多的文件

    本文介绍基于Python 语言,针对一个文件夹 下大量的Excel 表格文件,基于其中每一个文件 内、某一列数据 的特征,对其加以筛选,并将符合要求 与不符合要求 的文件分别复制到另外两个新的文件夹 中的方法。 首先,我们来明确一下本文的具体需求。现有一个文件夹,其中有大量的Excel 表格文件(在本文中我们就以csv格式的文件为例);如下图所示。 其中,每…

    2025 年 1 月 11 日
    40000
  • DataGrip 2024破解教程:免费激活至2099年

    DataGrip 2024破解教程:免费激活至2099年 这篇教程适用于所有JetBrains系列软件,包括DataGrip。接下来,我将向大家展示如何通过简单的图文步骤,成功激活DataGrip至2099年。通过这个方法,你不仅能轻松激活最新版本,也能适用于旧版本的激活。 首先,先看一下成功激活的截图,我们可以看到DataGrip已经成功激活,且有效期延续…

    2025 年 4 月 22 日
    32400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信