第 8 课 · 用 Python 调 API

不依赖任何工具,一行代码直接跟 DeepSeek 对话

这节课你会写出什么

一个不到 15 行的 Python 脚本。运行它 → 你发给 DeepSeek → 它回复你。

从此你不再被 Cline 或 Claude Code 限制。你能在任何地方、用任何方式调用 AI。

1 安装一个库

打开终端,打这一行:

# 在终端里运行
pip install openai

对,就装 openai 这个库。DeepSeek 的 API 格式跟 OpenAI 一模一样,所以用 openai 的库就能调。

为什么?DeepSeek 故意把 API 设计得跟 OpenAI 兼容——这样全世界的代码都不用改就能切过来。

2 你的第一段 AI 代码

新建文件 F:\aiagent学习\demo-1-hello.py,复制下面代码:

from openai import OpenAI

# 1. 创建客户端,告诉它用 DeepSeek 服务器
client = OpenAI(
    api_key="sk-52c140926a4a422f8697a1420be9f3cb",
    base_url="https://api.deepseek.com"
)

# 2. 发送消息
response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "用中文回答,简洁"},
        {"role": "user", "content": "用一句话解释什么是 API"}
    ]
)

# 3. 打印回复
print(response.choices[0].message.content)
print(f"\n用了 {response.usage.total_tokens} Token")

然后在终端运行:

cd F:\aiagent学习
python demo-1-hello.py
▼ 终端输出
API(应用程序接口)就像餐厅的服务员——你点菜,它把订单传给厨房,再把菜端回来。

用了 87 Token
恭喜!你刚刚用自己的代码调了一次 DeepSeek。花了不到 1 分钱。

逐行解释

api_key你的门禁卡,证明你有权限调用
base_url告诉 openai 库"别去 OpenAI 的服务器,去 DeepSeek 的"
model指定用哪个模型。deepseek-chat 是通用模型,deepseek-reasoner 是推理模型
messages对话数组。role 有三种:system(规则)、user(你的话)、assistant(AI的回复)
response.choices[0]AI 的回复内容在这里
response.usage这次调用了多少 Token(你可以拿来算钱)

多轮对话:记忆历史

如果想让 AI "记住"前面的对话,把历史记录也放进 messages:

messages = [
    {"role": "system", "content": "用中文"},
    {"role": "user", "content": "我叫小明"},
    {"role": "assistant", "content": "你好小明!"},
    {"role": "user", "content": "我叫什么名字?"}
    # AI 会回答"你叫小明"
]

这就是 Cline 和 Claude Code 在背后做的事情——每次请求都带上完整的对话历史。这也是为什么聊越久 Token 越多。

重要:不要把 API Key 写在代码里!

上面的代码里我直接写了 Key,是为了让你跑起来。在实际项目中,这样很危险——一旦代码上传到 GitHub,Key 就泄露了。正确做法是用环境变量:

import os
api_key = os.environ["DEEPSEEK_API_KEY"]  # 从系统环境变量读取

现在动手

1. 创建 F:\aiagent学习\demo-1-hello.py

2. 复制上面的代码进去

3. python demo-1-hello.py

4. 把 system prompt 改一改,user prompt 也改一改,看输出怎么变

检验标准:运行成功,收到 AI 回复,看到 Token 用量。截个图留纪念——这是你写的第一行 AI 代码。

这一课你带走的 3 个概念

1 openai 库 + DeepSeek URL = 一行代码,换个地址就能用 DeepSeek

2 messages 数组 = 对话的完整记录,system + user + assistant

3 你不依赖任何工具了 — 现在你可以在任何地方、用任何语言调 AI

下一课:Tool Calling · 让 AI 学会"用工具"