【全文速览・精简复习版】

  1. 运行环境:需 Python ≥ 3.7.1,执行 jupyter notebook 启动本地服务,在浏览器中逐段编写运行代码,非常适合新手调试。

  2. 依赖安装:Claude 平台安装 anthropic 官方包,DeepSeek 平台安装 openai + python-dotenv 包,Notebook 内统一使用 %pip 魔法命令安装。

  3. 密钥管理:禁止将密钥硬编码在代码中,统一存入笔记本同级目录的 .env 文件,通过 load_dotenv() 读取,从根源避免密钥泄露。

  4. 调用流程:初始化客户端 → 传入模型名称、最大输出长度、对话内容 → 发送请求 → 提取并打印 AI 返回文本。

  5. 平台差异:DeepSeek 兼容 OpenAI 接口格式,必须额外指定 base_url="https://api.deepseek.com",调用方法与返回字段和 Claude 原生 SDK 不同。

  6. 避坑准则:.env 真实后缀不能是 .txt、密钥与接口地址必须一一对应、修改 .env 后需重启 Jupyter 内核才能生效。


一、前置环境准备

大模型 API 调用的代码运行在 Python 环境中,入门阶段推荐使用 Jupyter Notebook 作为开发工具。它支持单元格逐段运行、即时查看输出结果,无需一次性写完所有代码,非常适合新手分步调试学习。

1.1 Python 版本要求

Claude Python SDK 要求 Python 版本不低于 3.7.1,DeepSeek 兼容接口同样支持该版本及以上。 你可以在终端 / 命令行中执行以下命令,查看当前的 Python 版本:

python --version

如果版本不达标,前往 Python 官方网站下载安装对应版本即可。

1.2 Jupyter Notebook 启动方法

  1. 打开 PowerShell 或 CMD,执行 jupyter notebook 命令启动本地服务

  2. 浏览器会自动打开文件管理页面,默认地址为 http://localhost:8888

  3. 点击页面右上角「New → Python 3」,即可新建一个空白笔记本,开始编写代码

【知识点汇总表:前置环境要求】

项目

要求说明

验证 / 操作命令

Python 版本

≥ 3.7.1

python --version

Jupyter 安装

包含在 jupyter 元包中,一键安装全套组件

jupyter notebook 启动服务

工作目录

命令行所在文件夹即为 Notebook 默认根目录

cd 目标路径 切换目录后再启动


二、依赖包安装

不同的大模型平台,需要安装对应的 SDK 工具包;在 Notebook 环境和终端环境,安装命令也有细微区别。

2.1 Notebook 专属安装方式

在 Jupyter Notebook 的代码单元格中,使用 %pip 魔法命令安装包,可以保证包安装到当前 Notebook 对应的 Python 环境中,避免出现 “终端安装成功,但代码里导入失败” 的环境不一致问题。 如果是普通命令行开发,则直接使用 pip install 命令。

2.2 不同平台对应的依赖包

  • Claude 官方平台:使用官方专属 SDK 包 anthropic,封装了完整的 Claude 接口规范

  • DeepSeek 平台:接口完全兼容 OpenAI 格式,直接使用 openai 包即可调用,无需额外安装专属 SDK

  • 两个平台都推荐搭配 python-dotenv 包,用来安全读取本地存储的 API 密钥

【知识点汇总表:依赖包安装命令】

适用平台

Notebook 内安装命令

终端安装命令

作用说明

Claude 官方

%pip install anthropic

pip install anthropic

Claude 官方 SDK,用于调用 Claude 全系列模型

DeepSeek

%pip install openai python-dotenv

pip install openai python-dotenv

openai 用于兼容调用 DeepSeek,dotenv 用于读取密钥

通用密钥工具

%pip install python-dotenv

pip install python-dotenv

加载 .env 文件,实现密钥与代码分离


三、API 密钥获取与安全存储

API 密钥就像是调用大模型服务的 “专属通行证”,平台通过密钥识别你的账号身份、扣减调用额度,因此必须像密码一样妥善保管。

3.1 密钥获取通用步骤

以 Claude 官方平台为例,DeepSeek 等绝大多数平台逻辑完全一致:

  1. 前往对应平台官网注册账号(Claude:https://console.anthropic.com;DeepSeek:DeepSeek

  2. 登录后,进入个人设置中的「API Keys」页面

  3. 点击「创建密钥」,给密钥起一个能区分用途的名称

  4. 生成后立刻完整复制保存,关闭页面后将无法再次查看完整密钥

3.2 为什么不能直接写在代码里

新手最容易犯的错误就是把密钥直接写在代码里。一旦把代码分享给他人、上传到公开仓库,密钥就会泄露,别人可以盗用你的账号额度,造成财产损失。 行业通用的最佳实践是:密钥与代码分离存放,使用 .env 配置文件单独存储敏感信息。

3.3 .env 文件创建与配置

  1. 在你的 .ipynb 笔记本同级文件夹下,新建一个名为 .env 的文件

    Windows 注意:必须开启文件夹的「文件扩展名」显示,避免文件名实际变成 .env.txt,否则程序无法识别该文件

    1. 在文件中按照「变量名 = 密钥值」的格式写入内容,等号两侧不要加空格、不要加引号

      # Claude 平台变量名
      ANTHROPIC_API_KEY=你的Claude完整密钥
      # DeepSeek 平台变量名
      DEEPSEEK_API_KEY=你的DeepSeek完整密钥
      1. 保存文件即可

      3.4 用 python-dotenv 读取密钥

      通过 load_dotenv() 函数可以把 .env 里的配置加载到程序环境中,再通过 os.getenv() 取出对应密钥。

      from dotenv import load_dotenv
      import os
      
      load_dotenv()
      my_api_key = os.getenv("DEEPSEEK_API_KEY")

      【知识点汇总表:密钥管理核心要点】

      操作项

      规范要求

      常见错误

      存储方式

      单独存入 .env 文件,与代码分离

      直接把密钥写在代码里(硬编码)

      文件位置

      .ipynb 笔记本放在同一文件夹

      放在其他目录,程序找不到文件

      文件命名

      严格命名为 .env

      命名为 .env.txt(Windows 隐藏后缀坑)

      内容格式

      变量名=密钥,等号两侧无空格

      等号两侧加空格、密钥前后带换行 / 空格

      生效时机

      修改文件后需重启 Jupyter 内核

      修改后直接运行,读取的还是内存中的旧值


      四、第一次 API 请求:完整流程拆解

      调用大模型的核心逻辑非常固定,一共分为三步:创建客户端 → 构造请求参数 → 发送请求并提取结果。

      4.1 Claude 官方 SDK 完整示例

      步骤 1:导入包并加载密钥
      from dotenv import load_dotenv
      import os
      from anthropic import Anthropic
      
      load_dotenv()
      my_api_key = os.getenv("ANTHROPIC_API_KEY")
      步骤 2:创建客户端

      客户端是你和大模型服务器交互的 “中转站”,所有请求都通过它发送和接收。

      # 写法1:手动传入密钥变量
      client = Anthropic(api_key=my_api_key)
      
      # 写法2:SDK自动读取环境变量 ANTHROPIC_API_KEY,无需手动传参
      client = Anthropic()
      步骤 3:发送请求并打印结果
      our_first_message = client.messages.create(
          model="claude-3-haiku-20240307",
          max_tokens=1000,
          messages=[
              {"role": "user", "content": "Hi there! Please write me a haiku about a pet chicken"}
          ]
      )
      
      print(our_first_message.content[0].text)

      4.2 DeepSeek 兼容接口完整示例

      DeepSeek 没有独立的 Python SDK,它完全兼容 OpenAI 的接口格式,因此使用 openai 包即可调用,只需要额外指定接口地址。

      from dotenv import load_dotenv
      import os
      from openai import OpenAI
      
      load_dotenv()
      my_api_key = os.getenv("DEEPSEEK_API_KEY")
      
      # 初始化客户端,必须指定 base_url
      client = OpenAI(
          api_key=my_api_key,
          base_url="https://api.deepseek.com"
      )
      
      # 发送请求
      response = client.chat.completions.create(
          model="deepseek-v4-pro",
          max_tokens=1000,
          messages=[
              {"role": "user", "content": "你好,请给我讲一个笑话"}
          ]
      )
      
      # 打印结果
      print(response.choices[0].message.content)

      【知识点汇总表:API 调用核心参数】

      参数名

      作用说明

      示例值

      model

      指定调用的具体模型,名称必须与平台官方完全一致

      claude-3-haiku-20240307 / deepseek-v4-pro

      max_tokens

      限制 AI 输出的最大长度,避免消耗过多额度

      1000

      messages

      对话消息列表,采用「角色 + 内容」的结构化格式

      [{"role": "user", "content": "提问内容"}]

      role

      消息角色,分为用户 user 和 AI 助手 assistant

      user

      content

      具体的对话文本内容

      自定义提问文本


      五、Claude 与 DeepSeek 调用规则完整对比

      5.1 为什么写法不一样

      • Claude 使用官方自研的 SDK,接口规范由 Anthropic 官方独立定义,功能更贴合自身模型特性

      • DeepSeek 采用了行业通用的 OpenAI 兼容接口,可以直接复用 OpenAI 生态的所有工具和代码,大幅降低开发者的学习和迁移成本

      【知识点汇总表:双平台调用差异对比】

      对比维度

      Claude 官方 SDK

      DeepSeek(OpenAI 兼容格式)

      导入包语句

      from anthropic import Anthropic

      from openai import OpenAI

      客户端类名

      Anthropic()

      OpenAI()

      接口地址配置

      内置默认地址,无需手动配置

      必须手动配置 base_url="https://api.deepseek.com"

      核心调用方法

      client.messages.create()

      client.chat.completions.create()

      自动识别的环境变量

      自动识别 ANTHROPIC_API_KEY

      无默认值,需自定义变量名传入

      提取返回文本

      response.content[0].text

      response.choices[0].message.content

      消息列表参数名

      messages

      messages

      长度限制参数名

      max_tokens

      max_tokens


      六、入门实战练习:让 AI 讲笑话

      对应课程的课后练习任务,只需要修改 content 里的提问内容,就能实现不同的交互效果。

      6.1 Claude 版本

      from dotenv import load_dotenv
      import os
      from anthropic import Anthropic
      
      load_dotenv()
      my_api_key = os.getenv("ANTHROPIC_API_KEY")
      client = Anthropic(api_key=my_api_key)
      
      response = client.messages.create(
          model="claude-3-haiku-20240307",
          max_tokens=1000,
          messages=[
              {"role": "user", "content": "请给我讲一个笑话"}
          ]
      )
      
      print(response.content[0].text)

      6.2 DeepSeek 版本

      from dotenv import load_dotenv
      import os
      from openai import OpenAI
      
      load_dotenv()
      my_api_key = os.getenv("DEEPSEEK_API_KEY")
      client = OpenAI(api_key=my_api_key, base_url="https://api.deepseek.com")
      
      response = client.chat.completions.create(
          model="deepseek-v4-pro",
          max_tokens=1000,
          messages=[
              {"role": "user", "content": "请给我讲一个笑话"}
          ]
      )
      
      print(response.choices[0].message.content)


      七、新手高频踩坑排查指南

      入门阶段最容易遇到的报错,几乎都集中在几类低级错误,对照下表可以快速定位并解决问题。

      【知识点汇总表:报错排查速查表】

      报错类型

      报错关键词

      常见原因

      解决方法

      参数缺失错误

      Missing required argument

      参数名拼写错误,比如 message 漏写 s、max_token 漏写 s

      核对参数名,确保为复数形式 messagesmax_tokens

      鉴权失败错误

      401 AuthenticationError

      密钥无效、密钥与接口地址不匹配、密钥复制不全

      核对密钥有效性;确认密钥和 base_url 属于同一平台;重新完整复制密钥

      密钥读取失败

      打印密钥为 None

      .env 文件位置不对、文件名实际为 .env.txt、内容格式错误

      检查文件位置和名称;确认等号两侧无空格;重启内核

      语法错误

      SyntaxError

      引号、括号不配对,使用了中文标点符号

      检查所有符号均为英文半角;确认括号成对闭合

      模块导入失败

      ModuleNotFoundError

      包未安装,或安装到了其他 Python 环境

      在 Notebook 内用 %pip 重新安装对应包

      模型不存在

      model not found

      模型名称拼写错误

      到对应平台官网核对准确的模型名称

      Logo

      汇聚全球AI编程工具,助力开发者即刻编程。

      更多推荐