入门 📋 6 个步骤 第 398 / 470 篇

用大模型 API 写出你的第一个 Python 脚本:零基础也能调通

不写复杂代码,也能让程序调用 AI。本教程手把手教你申请 API Key、用几行 Python 调通 DeepSeek/通义/OpenAI,从打印一句话到做一个带记忆的命令行小助手。

2026.09.09· 16 分钟阅读· 约 1198 字· 🐍 Python / 🧠 DeepSeek

你是不是也想过:我不想一直对着网页聊天框打字,能不能让我的小程序直接「调用 AI」?答案就是「大模型 API」。它相当于把 AI 能力装进一个网址接口,你的 Python 程序发个请求,AI 就把回答传回来。本教程从零开始,照着做,十几分钟就能跑通第一个会调用 AI 的脚本。

🐍 本教程适合:会一点点 Python、想把手头脚本/工具接上 AI 的同学;完全零基础也没关系,代码都给全了,复制就能跑。

先搞懂:网页聊天 和 API 调用 有什么区别?

网页聊天是「人看界面、手动打字」;API 调用是「程序发请求、自动拿结果」。一旦你能用代码调 AI,就能把它塞进任何地方:自动写日报、批量处理文件、做机器人、接自己的网站……API 是把 AI 从「玩具」变成「零件」的关键一步。

方式谁在操作适合场景
网页聊天人临时问问题、随手聊
API 调用程序自动化、批量、嵌入产品

Step 1:申请一个 API Key(以 DeepSeek 为例)

1 拿到 AI 的「钥匙」

国内模型注册简单、有免费额度,新手首选。这里用 DeepSeek 演示,通义千问 / OpenAI 步骤几乎一样。

1. 打开平台.deepseek.com(或百度云百炼、platform.openai.com)
2. 注册登录,进入「API Keys / 接口密钥」
3. 点「创建密钥」,复制那串 sk-xxxxxxxx
4. 首次使用建议充值 10 元(DeepSeek 很便宜,练手完全够)

API Key 就是家门钥匙:谁拿到都能用你的账户花钱。务必只存在自己电脑的环境变量里,不要截图发群、不要写进会公开分享的代码。

Step 2:装好 Python 环境

2 确认 Python 与 SDK 就绪

DeepSeek 的接口「兼容 OpenAI 格式」,所以你不用装专用 SDK,直接用 OpenAI 的官方库即可,换个地址就能用。

# 确认 Python 版本(需要 3.9 及以上)
python --version

# 安装 OpenAI 官方 SDK
pip install openai
💡 装好 SDK 后,后续无论是换 DeepSeek、通义还是 OpenAI,都只改三处:api_key、base_url、model,其余代码一字不动。

Step 3:三行代码跑通第一次对话

3 第一次让程序「问」AI

新建文件 hello_ai.py,把下面代码粘进去。注意把 Key 换成你自己的,更稳妥的做法是用环境变量(见提示)。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("DEEPSEEK_API_KEY"),  # 或直写 "sk-你的key"
    base_url="https://api.deepseek.com",         # DeepSeek 的兼容地址
)

resp = client.chat.completions.create(
    model="deepseek-chat",                        # 稳定版对话模型
    messages=[{"role": "user", "content": "用一句话解释什么是 RAG"}],
)
print(resp.choices[0].message.content)
🔑 先在本机设好环境变量再跑:export DEEPSEEK_API_KEY=sk-你的key(Windows 用 set)。能打印出回答,说明鉴权与网络都通了。

Step 4:让回复「打字机」式流式输出

4 像 ChatGPT 一样逐字蹦字

默认是一次返回整段。想体验「流式」,把 stream 设为 True,再循环把片段拼出来:

stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "给我讲个关于数据库的比喻"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)
🚀 流式输出对「长回答」体验更好,也更像真人说话。做聊天界面、语音播报时基本都会用。

Step 5:做一个带「记忆」的命令行小助手

5 让 AI 记住你们聊过什么

多轮对话的秘诀是:把历史消息攒在一个列表里,每轮都一起发给模型。下面是个能一直聊下去的迷你助手:

messages = [{"role": "system", "content": "你是一个耐心的编程助手"}]
while True:
    q = input("\n你: ")
    if q.lower() in ("exit", "quit"):
        break
    messages.append({"role": "user", "content": q})
    r = client.chat.completions.create(model="deepseek-chat", messages=messages)
    a = r.choices[0].message.content
    print("AI:", a)
    messages.append({"role": "assistant", "content": a})  # 把回答也存进历史

历史越长越费钱也越慢:真实项目里要给历史「瘦身」(只保留最近 N 轮,或把早期内容总结压缩),别无限累加。

Step 6:顺手换成其它模型

同一个 SDK,换 base_url + model 就能换大脑。常见可选项:

# 通义千问(阿里)
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
model="qwen-plus"

# OpenAI
base_url="https://api.openai.com/v1"
model="gpt-4o-mini"

# DeepSeek 新版(如 deepseek-v4-flash 等,以官方文档为准)
model="deepseek-v4-flash"
🧩 想省心:把模型、Key、地址都写进配置文件或环境变量,切换时只改一处。这也是后续接更多 AI 工具的基础。

常见问题速查

现象大概率原因 & 解决
报错 401 / authenticationKey 填错、过期,或环境变量没生效
报错 404 / model not foundmodel 名称写错,对照官方文档核对
一直连不上网络/代理问题;确认能访问 api.deepseek.com
回答很贵/很慢历史太长,或用了高价模型,按需精简
← 返回教程中心