先在网页端问一句话,再把发送动作交给程序;安全保存 API Key,收到 DeepSeek 回复后亲手修改问题重跑。
上一集,我们亲手和 AI 聊了一轮;这一集只换一个角色:让程序替你发送问题。
这一集,只升级一件事
- 成果:让自己的程序第一次向 DeepSeek 发问并收到回复。
- 用时:基础工具已装好约 10~15 分钟;第一次安装工具需要额外时间。
- 成功标志:终端里出现 DeepSeek 返回的文字。
做过第 00 集,可以把下面的网页步骤当作一分钟热身;第一次看到本系列也没关系,这篇仍然保留了独立跑通所需的最短路线。
开始前只需准备 Windows 电脑、稳定网络和 DeepSeek 账号。还没有 Python 或 VS Code 也没关系,第 2 节会带你一次检查完。
1. 先在网页里问同一句话(用过可跳过)
做过第 00 集,这一步会很熟悉;第一次来的读者,用一分钟完成热身即可。
打开 DeepSeek 网页端,登录后进入一个新对话。
输入:
你好,写首诗发送后,你会在网页里看到一段回复。
网页端是“你问,AI 回答”;接下来只把“你”换成程序。
你的回答不必和截图一模一样。大模型不是复读机,只要它围绕问题正常回复即可。
2. 开始前,只确认四件事
接下来只借三件工具完成实验:VS Code 放代码,PowerShell 输入命令,Python 运行代码。它们都不是今天的主角;已经装好的不要重装。
本集不要求安装 VS Code 的 Python 扩展。公司电脑如果限制安装软件,请先遵守所在组织的软件准入流程,不要绕过安全策略。
2.1 缺什么,只补什么
- 没有 VS Code:使用 VS Code 官方 Windows 安装说明(官网域名:
code.visualstudio.com),下载 User Setup 并按默认选项安装。 - 没有 Python:使用 Python 官方下载页和 Python 官方 Windows 指南(官网域名:
python.org),按当前官方方式安装。
安装完成后,关闭并重新打开 VS Code。已经装好两者的读者直接进入下一步。
2.2 一次验收三个工具
按 Win + E 打开文件资源管理器,在桌面创建一个空文件夹:
deepseek-demo打开 VS Code,点击“文件 → 打开文件夹”,选择 deepseek-demo。如果 VS Code 询问是否信任此文件夹,只在确认它是刚创建的空目录时选择信任。
在 VS Code 中点击“终端 → 新建终端”。底部出现的命令窗口就是终端;本篇使用 Windows 自带的 PowerShell,提示符通常以 PS 开头。如果不是,点击终端右上角 + 旁的下拉箭头,选择“默认配置文件 → PowerShell”,再新建终端。
依次执行:
Get-Location
python --version看到这个就算过关: 第一条返回的路径以 deepseek-demo 结尾,第二条显示 Python 3.x.x。代码框上方的 powershell 是标签,终端里的 PS C:\...> 是提示符,都不用复制。第一次通过 Python Install Manager 启动时,系统可能还会完成一次运行环境安装。
2.3 安装本集唯一的新工具
下面安装 SDK,也就是别人整理好的代码工具箱:
python -m pip install openai
python -c "from openai import OpenAI; print('openai ready')"看到这个就算过关: 最后一条命令打印 openai ready。工具名虽然叫 openai,但我们没有换模型;这里只是借它兼容的调用方式向 DeepSeek 发请求。
如果 python 找不到或打开了应用商店,请先按上面的 Python 官方 Windows 指南排错,再重新打开 VS Code;此时不要继续排查 API Key。
2.4 确认 DeepSeek 账户可以调用
进入 DeepSeek 开放平台(官网域名:platform.deepseek.com),确认账户里有少量可用余额。余额可能来自赠送,也可能来自充值;已有可用余额时,不需要为了跟教程额外充值。
截图展示的是其中一种余额来源;你的页面数字不必相同。历史用量与本次实验无关。
本次实验会产生少量费用。具体价格可能变化,以 DeepSeek 模型与价格页面 为准。
准备完成:文件夹、终端、Python、代码工具箱和 DeepSeek 账户都通过了最小检查。
电脑和账户都就位了。接下来,给程序一张可以进入 DeepSeek 的“门票”。
3. 创建一枚 API Key
接下来要让程序获得调用资格。
- API:程序之间传话的窗口。
- API Key:打开这个窗口的门票,也和账户计费有关。
进入开放平台的 API keys 页面,为本次实验创建一枚独立 Key。
在弹窗里填写一个容易辨认的名称并点击“创建”。背景里的历史 Key 列表不需要跟着操作。
完整 Key 通常只展示一次,请先保存到安全的位置。看到新 Key,就说明这一步完成了。
不要把真实 Key 放进代码、博客截图、Git 仓库或可以转发的聊天记录。 如果一枚 Key 曾经公开,最稳妥的做法是立即删除并重新创建,而不是只给截图打码。
4. 把 Key 交给当前终端
我们把 Key 暂时放进“环境变量”——可以把它理解成当前终端专用的小储物格。代码只读取这个储物格,不把 Key 写进文件。
下面的命令适用于 PowerShell。粘贴后,Key 会以星号显示,不会出现在命令历史里:
$env:DEEPSEEK_API_KEY = [System.Net.NetworkCredential]::new(
"",
(Read-Host "请粘贴 DeepSeek API Key" -AsSecureString)
).Password按回车后,做一次不会泄露 Key 的自检:
python -c "import os; print(bool(os.getenv('DEEPSEEK_API_KEY')))"看到 True,说明 Python 已经能读取 Key。
如果看到 False,请在同一个终端重新设置环境变量。关闭这个终端后,临时设置会失效;不要用命令打印 Key 本身。
5. 创建最小 Python 程序
回到 VS Code 左侧资源管理器,在刚才打开的 deepseek-demo 中新建 deepseek.py。
复制下面的代码。第一次只需要认出“问题写在哪里”和“回复从哪里打印”,其余内容先照抄。messages 里的文字会发送到 DeepSeek 云端,不要放公司资料、账号凭证或个人隐私。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("DEEPSEEK_API_KEY"),
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-v4-pro",
messages=[
{"role": "user", "content": "你好,写首诗"},
],
)
print(response.choices[0].message.content)deepseek-v4-pro 是本次请求使用的模型名称。模型名称可能更新,今天先照着写,不需要研究不同型号。
按 Ctrl + S 保存;文件标签上的小圆点消失,就代表已经保存。然后在底部 PowerShell 中执行:
Get-ChildItem .\deepseek.py看到文件名,说明代码确实保存在当前实验文件夹。离成功只差一次运行。
6. 运行,再亲手改一句
6.1 收到第一条回复
确认仍在刚才设置 Key 的底部 PowerShell 中执行,不要把这条命令粘贴进 deepseek.py:
python deepseek.py等待几秒。终端里只要出现一段围绕“写首诗”的回复,就说明程序调用成功。
下面保留的是一次真实运行记录。公开版只裁出终端区域;你看到回复出现即可,不必追求诗句完全一致。
核心成功标志:不是代码“看起来没问题”,而是终端真的收到了模型回复。
6.2 改一句,再运行一次
把代码中的问题改成:
{"role": "user", "content": "你好,用三句话介绍你自己"},按 Ctrl + S 保存后再次执行:
python deepseek.py看到回复跟着问题发生变化,你就不只是在复制代码,而是真的会改、会运行了。
到这里,本集的核心实验已经完成。 后面的原理和排错按需阅读,不会改变你刚刚取得的成功。
7. 成功后,再用大白话看原理
刚才发生的事情可以压缩成四步:写问题、发请求、模型处理、收到回复。
图里最重要的是箭头方向:Python 把问题发出去,再把回复接回来。
现在回头看代码里的五个位置,会轻松很多:
api_key:你的调用凭证,从环境变量读取。base_url:请求要发送到哪个服务地址。model:这次使用哪个模型。messages:准备交给模型的对话内容。response:模型返回、且程序可以继续处理的结果。
因此可以把整个过程记成一句话:
模型 API = 带着凭证发问题 + 等待模型处理 + 接收程序可读取的回复。
官方示例可能还会出现思考强度、流式输出等参数。它们不是第一次调用的必修项,等后续实验真的需要时再加。
8. 如果没成功,只查当前这一层
看不到 Python 版本号
说明系统还找不到 Python。先按第 2 节的 Python 官方 Windows 指南完成安装或命令别名排错,再重新打开 VS Code;此时不要继续排查 Key 或模型。
提示 No module named 'openai'
说明 Python 已经启动,但代码工具箱还没装进当前环境。
回到运行脚本的同一个终端,执行:
python -m pip install openaiKey 自检是 False,或者出现 401
先在当前终端重新设置环境变量,并确认自检输出 True。如果仍是 401,再检查 Key 是否复制完整、是否已被删除;不要把 Key 发给别人帮你检查。
出现 402
账户余额不足。回到开放平台确认余额,完成小额充值后重试。
出现 429
短时间内请求太多。先稍等片刻再试;自动重试留到正式项目再讲。
完整错误码可以参考 DeepSeek 官方错误码文档。模型名称和参数可能更新,复现实验时请以 DeepSeek 官方 API 文档 为准。
9. 今天你已经完成了什么
如果终端成功出现模型回复,你已经完成了三件事:
- 用网页和 Python 分别发送了同一个问题。
- 用环境变量保存 Key,没有把凭证写进代码。
- 修改问题并再次运行,确认程序真的能调用模型。
这次架构变化很小,却很关键:原本需要人点击网页的对话,现在已经变成程序可以主动发起的调用。
下一集只增加一个变量:模型会回答了,怎样让本地 AI 工具真正替我们创建一个文件?