零基础入门大模型API调用:从Jupyter环境搭建、密钥安全存储到Claude与DeepSeek双平台完整实战教程 📅 2026/7/18 1:06:42 【全文速览・精简复习版】运行环境需 Python ≥ 3.7.1执行jupyter notebook启动本地服务在浏览器中逐段编写运行代码非常适合新手调试。依赖安装Claude 平台安装anthropic官方包DeepSeek 平台安装openaipython-dotenv包Notebook 内统一使用%pip魔法命令安装。密钥管理禁止将密钥硬编码在代码中统一存入笔记本同级目录的.env文件通过load_dotenv()读取从根源避免密钥泄露。调用流程初始化客户端 → 传入模型名称、最大输出长度、对话内容 → 发送请求 → 提取并打印 AI 返回文本。平台差异DeepSeek 兼容 OpenAI 接口格式必须额外指定base_urlhttps://api.deepseek.com调用方法与返回字段和 Claude 原生 SDK 不同。避坑准则.env真实后缀不能是.txt、密钥与接口地址必须一一对应、修改.env后需重启 Jupyter 内核才能生效。一、前置环境准备大模型 API 调用的代码运行在 Python 环境中入门阶段推荐使用 Jupyter Notebook 作为开发工具。它支持单元格逐段运行、即时查看输出结果无需一次性写完所有代码非常适合新手分步调试学习。1.1 Python 版本要求Claude Python SDK 要求 Python 版本不低于 3.7.1DeepSeek 兼容接口同样支持该版本及以上。 你可以在终端 / 命令行中执行以下命令查看当前的 Python 版本python --version如果版本不达标前往 Python 官方网站下载安装对应版本即可。1.2 Jupyter Notebook 启动方法打开 PowerShell 或 CMD执行jupyter notebook命令启动本地服务浏览器会自动打开文件管理页面默认地址为http://localhost:8888点击页面右上角「New → Python 3」即可新建一个空白笔记本开始编写代码【知识点汇总表前置环境要求】项目要求说明验证 / 操作命令Python 版本≥ 3.7.1python --versionJupyter 安装包含在 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 anthropicpip install anthropicClaude 官方 SDK用于调用 Claude 全系列模型DeepSeek%pip install openai python-dotenvpip install openai python-dotenvopenai 用于兼容调用 DeepSeekdotenv 用于读取密钥通用密钥工具%pip install python-dotenvpip install python-dotenv加载 .env 文件实现密钥与代码分离三、API 密钥获取与安全存储API 密钥就像是调用大模型服务的 “专属通行证”平台通过密钥识别你的账号身份、扣减调用额度因此必须像密码一样妥善保管。3.1 密钥获取通用步骤以 Claude 官方平台为例DeepSeek 等绝大多数平台逻辑完全一致前往对应平台官网注册账号Claudehttps://console.anthropic.comDeepSeekDeepSeek登录后进入个人设置中的「API Keys」页面点击「创建密钥」给密钥起一个能区分用途的名称生成后立刻完整复制保存关闭页面后将无法再次查看完整密钥3.2 为什么不能直接写在代码里新手最容易犯的错误就是把密钥直接写在代码里。一旦把代码分享给他人、上传到公开仓库密钥就会泄露别人可以盗用你的账号额度造成财产损失。 行业通用的最佳实践是密钥与代码分离存放使用.env配置文件单独存储敏感信息。3.3 .env 文件创建与配置在你的.ipynb笔记本同级文件夹下新建一个名为.env的文件Windows 注意必须开启文件夹的「文件扩展名」显示避免文件名实际变成.env.txt否则程序无法识别该文件在文件中按照「变量名 密钥值」的格式写入内容等号两侧不要加空格、不要加引号# Claude 平台变量名 ANTHROPIC_API_KEY你的Claude完整密钥 # DeepSeek 平台变量名 DEEPSEEK_API_KEY你的DeepSeek完整密钥保存文件即可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.txtWindows 隐藏后缀坑内容格式变量名密钥等号两侧无空格等号两侧加空格、密钥前后带换行 / 空格生效时机修改文件后需重启 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_keymy_api_key) # 写法2SDK自动读取环境变量 ANTHROPIC_API_KEY无需手动传参 client Anthropic()步骤 3发送请求并打印结果our_first_message client.messages.create( modelclaude-3-haiku-20240307, max_tokens1000, 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_keymy_api_key, base_urlhttps://api.deepseek.com ) # 发送请求 response client.chat.completions.create( modeldeepseek-v4-pro, max_tokens1000, messages[ {role: user, content: 你好请给我讲一个笑话} ] ) # 打印结果 print(response.choices[0].message.content)【知识点汇总表API 调用核心参数】参数名作用说明示例值model指定调用的具体模型名称必须与平台官方完全一致claude-3-haiku-20240307/deepseek-v4-promax_tokens限制 AI 输出的最大长度避免消耗过多额度1000messages对话消息列表采用「角色 内容」的结构化格式[{role: user, content: 提问内容}]role消息角色分为用户 user 和 AI 助手 assistantusercontent具体的对话文本内容自定义提问文本五、Claude 与 DeepSeek 调用规则完整对比5.1 为什么写法不一样Claude 使用官方自研的 SDK接口规范由 Anthropic 官方独立定义功能更贴合自身模型特性DeepSeek 采用了行业通用的 OpenAI 兼容接口可以直接复用 OpenAI 生态的所有工具和代码大幅降低开发者的学习和迁移成本【知识点汇总表双平台调用差异对比】对比维度Claude 官方 SDKDeepSeekOpenAI 兼容格式导入包语句from anthropic import Anthropicfrom openai import OpenAI客户端类名Anthropic()OpenAI()接口地址配置内置默认地址无需手动配置必须手动配置base_urlhttps://api.deepseek.com核心调用方法client.messages.create()client.chat.completions.create()自动识别的环境变量自动识别ANTHROPIC_API_KEY无默认值需自定义变量名传入提取返回文本response.content[0].textresponse.choices[0].message.content消息列表参数名messagesmessages长度限制参数名max_tokensmax_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_keymy_api_key) response client.messages.create( modelclaude-3-haiku-20240307, max_tokens1000, 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_keymy_api_key, base_urlhttps://api.deepseek.com) response client.chat.completions.create( modeldeepseek-v4-pro, max_tokens1000, messages[ {role: user, content: 请给我讲一个笑话} ] ) print(response.choices[0].message.content)七、新手高频踩坑排查指南入门阶段最容易遇到的报错几乎都集中在几类低级错误对照下表可以快速定位并解决问题。【知识点汇总表报错排查速查表】报错类型报错关键词常见原因解决方法参数缺失错误Missing required argument参数名拼写错误比如message漏写 s、max_token漏写 s核对参数名确保为复数形式messages、max_tokens鉴权失败错误401 AuthenticationError密钥无效、密钥与接口地址不匹配、密钥复制不全核对密钥有效性确认密钥和 base_url 属于同一平台重新完整复制密钥密钥读取失败打印密钥为None.env文件位置不对、文件名实际为.env.txt、内容格式错误检查文件位置和名称确认等号两侧无空格重启内核语法错误SyntaxError引号、括号不配对使用了中文标点符号检查所有符号均为英文半角确认括号成对闭合模块导入失败ModuleNotFoundError包未安装或安装到了其他 Python 环境在 Notebook 内用%pip重新安装对应包模型不存在model not found模型名称拼写错误到对应平台官网核对准确的模型名称