Python 调用大模型 API:从第一个 ChatGPT 程序开始


网罗开发 (小红书、快手、视频号同名)

  大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。

图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG

我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验 。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。

展菲:您的前沿技术领航员

👋 大家好,我是展菲!

📱 全网搜索"展菲",即可纵览我在各大平台的知识足迹。

每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。

文章目录

    • 引言
    • [一、为什么 AI 开发一定要学 API?](#一、为什么 AI 开发一定要学 API?)
    • 二、第一次调用大模型,其实只需要几行代码
    • 三、这几行代码到底做了什么?
      • [1. 导入 SDK](#1. 导入 SDK)
      • [2. 创建客户端](#2. 创建客户端)
      • [3. 创建模型响应](#3. 创建模型响应)
      • [4. 获取模型文本](#4. 获取模型文本)
    • [四、API Key 到底是什么?](#四、API Key 到底是什么?)
    • 五、正确做法:使用环境变量
      • [Python 调用大模型完整流程](#Python 调用大模型完整流程)
    • [六、不要把 API 调用理解得太复杂](#六、不要把 API 调用理解得太复杂)
    • [七、给 AI 设置角色](#七、给 AI 设置角色)
    • [八、从一个问题变成一个 AI 助手](#八、从一个问题变成一个 AI 助手)
    • [九、为什么 AI 应用最终都会变成这个结构?](#九、为什么 AI 应用最终都会变成这个结构?)
    • [十、AI API 不只是聊天](#十、AI API 不只是聊天)
      • [从 ChatBot 到 Agent 的技术演进](#从 ChatBot 到 Agent 的技术演进)
    • [十一、为什么推荐先学 API,而不是直接学 Agent?](#十一、为什么推荐先学 API,而不是直接学 Agent?)
    • [十二、进一步理解:AI API 本质上是什么?](#十二、进一步理解:AI API 本质上是什么?)
    • 十三、从今天开始,你真正拥有了什么能力?
      • [AI 应用开发学习路线](#AI 应用开发学习路线)
    • 十四、总结

引言

很多初学者第一次接触 AI 开发时,都会觉得大模型特别复杂:

text 复制代码
Transformer
Attention
Token
Embedding
RAG
Agent
Vector Database

一大堆概念扑面而来,但如果只是想让自己的 Python 程序调用一次大模型,其实根本没有那么复杂。

最基本的流程只有:

text 复制代码
Python
   ↓
API
   ↓
大模型
   ↓
返回结果
   ↓
Python

今天我们就不讲复杂理论,直接从第一个 AI 程序开始。

一、为什么 AI 开发一定要学 API?

先思考一个问题,我们平时使用 ChatGPT,是怎么和 AI 交流的?

text 复制代码
用户
 ↓
ChatGPT
 ↓
大模型
 ↓
回答

但是程序不一样,程序不会像人一样打开网页,然后输入:

帮我写一个 Python 函数。

程序需要通过 API 与模型进行通信。

于是流程变成:

text 复制代码
Python 程序
      ↓
HTTP / SDK
      ↓
AI API
      ↓
大模型
      ↓
Response
      ↓
Python 程序

这就是 AI 应用开发最基础的一层。

换句话说:

API 是你的 Python 程序进入大模型世界的入口。

以后你学习:

  • ChatBot
  • RAG
  • Agent
  • MCP
  • AI 自动化
  • AI 编程助手

底层都绕不开 API 调用。

二、第一次调用大模型,其实只需要几行代码

现在我们直接写第一个程序,首先安装 OpenAI 官方 Python SDK:

bash 复制代码
pip install openai

官方 Python SDK 可以直接通过 PyPI 安装,并支持 Python 3.9+。

然后创建一个 Python 文件:

text 复制代码
hello_ai.py

写入:

python 复制代码
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.5",
    input="你好,请用一句话介绍 Python。"
)

print(response.output_text)

运行:

bash 复制代码
python hello_ai.py

如果 API Key、网络和账户配置都正常,你就会得到模型返回的文本。

是不是突然感觉:

原来调用大模型这么简单?

没错。真正复杂的地方,并不是"让模型回答一句话",而是后面如何把模型接入真实业务。

三、这几行代码到底做了什么?

虽然代码只有几行,但里面其实包含了 AI 应用最基本的几个概念。

我们拆开来看。

1. 导入 SDK

python 复制代码
from openai import OpenAI

这句话非常简单,意思就是:

把 OpenAI 提供的 Python SDK 引入进来。

以后我们就可以通过 Python 对象调用 API。

2. 创建客户端

python 复制代码
client = OpenAI()

可以把 client 理解成:

Python 与 AI 服务之间的连接对象。

后面所有 API 请求,都可以通过它发起。

3. 创建模型响应

python 复制代码
response = client.responses.create(
    model="gpt-5.5",
    input="你好,请用一句话介绍 Python。"
)

这里最重要,我们实际上告诉模型:

text 复制代码
模型:gpt-5.5

输入:
你好,请用一句话介绍 Python。

然后服务器返回一个 Response。

4. 获取模型文本

python 复制代码
print(response.output_text)

最终把模型生成的文本打印出来。

整个流程就是:

text 复制代码
input
  ↓
Model
  ↓
Response
  ↓
output_text

官方 SDK 当前将 Responses API 作为主要的模型交互接口,并提供 output_text 方便获取生成的文本。

四、API Key 到底是什么?

第一次调用 API,很多人会遇到一个问题:

API Key 放在哪里?

API Key 可以理解成:

你的程序访问 AI 服务的身份凭证。

就像:

text 复制代码
用户名 + 密码

一样,但是有一点非常重要:

不要把 API Key 直接写进代码。

千万不要这样:

python 复制代码
client = OpenAI(
    api_key="sk-xxxxxxxxxxxxxxxx"
)

尤其是下面这种情况:

text 复制代码
GitHub
 ↓
公开仓库
 ↓
API Key
 ↓
别人拿走
 ↓
产生大量 API 消费

这会非常危险。

五、正确做法:使用环境变量

更推荐的方式是:

text 复制代码
环境变量
     ↓
Python
     ↓
OpenAI SDK

例如 macOS / Linux:

bash 复制代码
export OPENAI_API_KEY="你的API Key"

Windows PowerShell:

powershell 复制代码
$env:OPENAI_API_KEY="你的API Key"

然后 Python:

python 复制代码
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.5",
    input="你好"
)

print(response.output_text)

这样代码里就不需要出现 API Key。

官方 Python SDK 也推荐通过环境变量配置 OPENAI_API_KEY,避免把密钥直接写入源码。

Python 调用大模型完整流程

六、不要把 API 调用理解得太复杂

很多人第一次看到:

python 复制代码
client.responses.create()

会觉得:

这是不是特别复杂?

其实完全可以把它理解成一个普通函数。

例如:

python 复制代码
result = add(10, 20)

得到:

text 复制代码
30

而 AI API:

python 复制代码
response = client.responses.create(
    model="gpt-5.5",
    input="介绍一下 Python"
)

得到:

text 复制代码
Python 是一种......

本质上都是:

text 复制代码
输入
 ↓
处理
 ↓
输出

只不过:

text 复制代码
普通函数

是在本地运行,而:

text 复制代码
AI API

是把请求发送给远程模型。

七、给 AI 设置角色

如果只写:

python 复制代码
input="介绍一下 Python"

模型当然可以回答,但真实 AI 应用通常不会这么简单。

我们经常需要告诉模型:

你是谁?
你应该怎么回答?
你的回答需要遵循什么规则?

这就是 Instructions。

例如:

python 复制代码
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.5",
    instructions="你是一名Python技术专家,请使用通俗易懂的语言回答问题。",
    input="什么是Python虚拟环境?"
)

print(response.output_text)

现在模型的行为就发生了变化。

我们可以把:

text 复制代码
instructions

理解成:

告诉模型应该以什么身份和规则工作。

而:

text 复制代码
input

则是:

用户真正提出的问题。

八、从一个问题变成一个 AI 助手

到这里,我们已经可以写一个非常简单的 AI 程序。

例如:

python 复制代码
from openai import OpenAI

client = OpenAI()

while True:

    question = input("你:")

    if question == "exit":
        break

    response = client.responses.create(
        model="gpt-5.5",
        input=question
    )

    print("AI:", response.output_text)

运行:

text 复制代码
你:什么是Python?

AI:Python是一种......

你:Python适合做AI吗?

AI:Python非常适合......

你:exit

恭喜到这里,你已经完成了自己的第一个:

命令行 AI ChatBot。

虽然它非常简单,但它已经具备了 AI 应用最基本的结构:

text 复制代码
用户输入
    ↓
Python
    ↓
API
    ↓
大模型
    ↓
Python
    ↓
用户看到结果

九、为什么 AI 应用最终都会变成这个结构?

继续往后学习,你会发现:

RAG、Agent、MCP,其实都是在这个基础结构上不断增加能力。

最简单的 ChatBot:

text 复制代码
User
 ↓
LLM
 ↓
Answer

加入 RAG:

text 复制代码
User
 ↓
Retriever
 ↓
Knowledge Base
 ↓
LLM
 ↓
Answer

加入 Agent:

text 复制代码
User
 ↓
Agent
 ↓
LLM
 ↓
Tool
 ↓
Database / Search / API
 ↓
LLM
 ↓
Answer

再往后:

text 复制代码
User
 ↓
Agent Runtime
 ↓
Planner
 ↓
LLM
 ↓
Tool Graph
 ↓
Memory
 ↓
External Systems

你会发现:

所有复杂 AI 应用,最底层依然是一次又一次的模型调用。

所以 API 是非常重要的基础能力。

十、AI API 不只是聊天

很多初学者会把 API 理解成:

text 复制代码
发送问题
 ↓
获得答案

实际上,现在的大模型 API 已经远远不止聊天。

以当前 OpenAI Responses API 为例,它可以处理文本、图像等输入,并支持工具调用;官方 SDK 还提供了流式响应等能力。

因此未来你会逐渐接触:

text 复制代码
Text
 ↓
Image
 ↓
Structured Output
 ↓
Tool Calling
 ↓
Web Search
 ↓
File Search
 ↓
Agent

这也是为什么:

学会 API,比单纯会使用 ChatGPT 更重要。

你不是只会"问 AI",而是开始学会:

让程序调用 AI。

这两者完全是两个概念。

从 ChatBot 到 Agent 的技术演进

AI 应用不是突然出现的,而是从一次 API 调用逐步演化出来的。

十一、为什么推荐先学 API,而不是直接学 Agent?

现在 Agent 很火,很多教程上来就是:

text 复制代码
Agent
 ↓
Planner
 ↓
Memory
 ↓
Tool
 ↓
Workflow

看起来非常高级,但如果你连:

python 复制代码
client.responses.create()

都不知道是什么意思,直接学习 Agent,很容易变成:

会复制代码,但不知道代码为什么这么写。

这也是很多 AI 初学者最大的误区。

正确顺序应该是:

text 复制代码
Python
   ↓
HTTP / API
   ↓
LLM API
   ↓
Prompt
   ↓
Structured Output
   ↓
Tool Calling
   ↓
RAG
   ↓
Agent

一步一步往上走。

十二、进一步理解:AI API 本质上是什么?

如果把各种 AI 框架全部拿掉,你会发现:

大模型 API 本质上就是一个远程计算服务。

你的程序:

text 复制代码
发送 Request

服务器:

text 复制代码
执行模型推理

然后:

text 复制代码
返回 Response

也就是:

text 复制代码
Client
   │
   │ Request
   ↓
Server
   │
   │ Inference
   ↓
LLM
   │
   │ Response
   ↓
Client

所以从技术角度来看,AI 开发其实并不是一门完全独立的技术。

它依然建立在传统的软件工程之上:

text 复制代码
Python
+
HTTP
+
API
+
JSON
+
Database
+
AI Model

这也是为什么:

一个优秀的 AI 工程师,依然需要扎实的软件开发能力。

十三、从今天开始,你真正拥有了什么能力?

如果你能够独立完成:

python 复制代码
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-5.5",
    input="你好"
)

print(response.output_text)

其实已经完成了一个重要的转变,以前:

text 复制代码
你
 ↓
ChatGPT

现在:

text 复制代码
你的程序
 ↓
AI API
 ↓
大模型

这意味着:

你开始从 AI 的使用者,变成 AI 应用的开发者。

这一步非常重要。

AI 应用开发学习路线

十四、总结

很多人学习 AI 时,喜欢从最复杂的地方开始。

一上来就是:

text 复制代码
Transformer
Attention
RAG
Agent
Multi-Agent
MCP
Agent Runtime

但实际上,AI 应用的第一步并没有那么复杂。

甚至只需要:

python 复制代码
response = client.responses.create(...)

真正重要的是理解这行代码背后的整个链路:

text 复制代码
Python
 ↓
SDK
 ↓
API
 ↓
Model
 ↓
Response

当你真正理解了这个过程,后面再学习:

  • Prompt
  • RAG
  • Function Calling
  • Tool Calling
  • Agent
  • MCP
  • Multi-Agent

就会容易很多,因为你会发现:

它们并不是完全不同的技术,而是在"调用大模型"这件事情上不断增加新的能力。

所以,如果你正在学习 AI。

不要急着研究最复杂的 Agent。

先完成一个最简单的目标:

让你的 Python 程序成功调用一次大模型。

当屏幕上第一次出现:

text 复制代码
AI:你好,我是......

你会发现:

AI 开发真正开始了。

相关推荐
Sylvia33.2 小时前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
瑞码空间2 小时前
Python爬虫进阶实战笔记
开发语言·python·计算机·python爬虫
杨超越luckly2 小时前
Agent应用指南:获取12306官网全量站点及其编码信息
python·数据挖掘·数据分析·可视化·12306
16月6日-晴2 小时前
Java面向对象进阶—static
java·开发语言
爱跳舞的烤冷面2 小时前
自学嵌入式第16天(数据结构篇--链表进阶操作)
开发语言
天天有money2 小时前
API中转站与多账号内容运营:如何统一管理不同项目的调用
gpt·ai·chatgpt·产品运营·内容运营
持敬chijing2 小时前
PHP开发-环境搭建-安装phpstudy-vscode工具
开发语言·vscode·php
2401_868534783 小时前
MATLAB:车牌识别
python·django
卷无止境3 小时前
用 FastAPI 撑起大文件的上传下载:从流式处理到断点续传的完整实践
后端·python·fastapi