2025年 OpenAI API 全方位调用Chatgpt api指南:从 GPT-4o 到 o3
2025年 OpenAI API 全方位调用指南:从 GPT-4o 到 o3
作为开发者,直接调用 OpenAI API 是释放大型语言模型和图像生成模型强大能力的关键。相较于 Web UI,API 提供了无与伦比的灵活性和集成能力。本指南将以 Python 为例,详细介绍如何调用当前最主流的几个 OpenAI 模型,包括 GPT-4o, GPT-4, GPT-4o mini, 以及图像生成模型 DALL-E 3。
准备工作:一切开始之前
在编写任何代码之前,请确保您已准备好以下三样东西:
- APIkey:访问 jeniya.top,注册账号并申请API Key。
- Python 环境: 建议使用 Python 3.8 或更高版本。
- OpenAI API Key: 您需要在您的 OpenAI 账户后台创建一个 API Key。请妥善保管,不要泄露或硬编码在代码中,建议使用环境变量。
- 安装 OpenAI Python 库: 这是这是官方提供的与 API 交互的 SDK。
pip install --upgrade openai
配置您的 API Key (推荐方式):
# 在您的终端中设置环境变量
export OPENAI_API_KEY='你的sk-xxxx密钥'
在代码中,openai 库会自动读取这个环境变量。
核心概念:Chat Completions API
除了图像生成,目前绝大多数文本模型的调用都通过 `Chat Completions API 端点来完成。其核心思想是,你不再是给模型一个简单的“提示(prompt)”,而是提供一个“消息(messages)”列表,模拟一段对话历史。
一个 messages 列表通常包含多个字典,每个字典都有 role 和 content 两个键:
-----*role**: 角色,可以是 system, user, 或 assistant。
* system: 设定 AI 的整体行为和背景。例如:“你是一个专业的翻译家。”
* user: 代表用户的提问或指令。
* assistant: 代表模型之前的回答,用于提供上下文。
content: 消息的具体内容。
一、标准文本生成:调用 GPT-4o
GPT-4o 是 OpenAI 当前最先进、最全能的模型,集成了文本、视觉等多种能力,具有极高的智能水平和响应速度。它是大多数复杂任务的首选。
基础调用示例
这是一个最基础的调用 GPT-4o 的 Python 代码:
import os
from openai import OpenAI
# 客户端会自动从环境变量 `OPENAI_API_KEY` 读取密钥
client = OpenAI()
try:
response = client.chat.completions.create(
model="gpt-4o", # 指定使用的模型
messages=[
{"role": "system", "content": "你是一位专业的科技博客作者。"},
{"role": "user", "content": "请为我解释一下什么是 '量子纠缠',用通俗易懂的语言。"}
],
temperature=0.7, # 温度参数,控制输出的随机性,0-2之间,越高越随机
max_tokens=500 # 指定生成的最大 token 数量
)
# 打印出模型返回的回答
print(response.choices[0].message.content)
except Exception as e:
print(f"An error occurred: {e}")
代码解析:
client.chat.completions.create(): 这是发起请求的核心方法。model="gpt-4o": 明确告诉 API 我们希望使用哪个模型。- `messages=...]`: 传入我们构造的对话历史。
response.choices[0].message.content: 这是从返回的 JSON 对象中提取模型答复内容的标准路径。
二、模型选择与对比:GPT-4o, GPT-4o mini, 和 GPT-4
选择正确的模型是平衡成本、速度和性能的关键。
| 模型 | 主要特点 | 适用场景 |
|---|---|---|
| GPT-4o | 旗舰模型,速度快,智能水平最高,多模态能力强 | 复杂的推理、分析、创意写作、代码生成等高质量任务 |
| GPT-4o mini | 成本极低,速度极快,智能水平优于 GPT-3.5 | 大规模的文本分类、摘要、聊天机器人、数据提取等速度和成本敏感型任务 |
| GPT-4 | 曾经的旗舰,智能水平依然顶尖,但速度和成本不如 4o | 在特定任务上需要稳定、高质量输出的场景,可作为 4o 的备选 |
要使用 GPT-4o mini 或 GPT-4,您只需将上述代码中的 model 参数修改为 "gpt-4o-mini" 或 "gpt-4" 即可,其他部分完全相同。这体现了 OpenAI API 设计的一致性和便利性。
调用 GPT-4o mini 示例
# ... 省略前面的 client 初始化代码 ...
response = client.chat.completions.create(
model="gpt-4o-mini", # 仅仅修改这里
messages=[
{"role": "user", "content": "将这句话翻译成英文: '今天天气真不错!'"}
]
)
print(response.choices[0].message.content)
三、高级功能:流式响应 (Streaming)
对于需要实时反馈的应用(如在线聊天),等待模型生成全部内容再返回会显得很慢。流式响应可以像打字机一样,逐字或逐词返回内容,极大提升用户体验。
import os
from openai import OpenAI
client = OpenAI()
# 使用 stream=True
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一个关于太空探索的短篇故事"}],
stream=True, # 开启流式响应
)
for chunk in stream:
# 检查是否有内容,并打印出来
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
print() # 结束时换行
在流式模式下,返回的是一个生成器对象。我们遍历这个对象,每个 chunk 都包含一小部分增量内容 (delta.content)。
四、图像生成:调用 DALL-E 3
OpenAI 的图像生成能力通过 Images API 提供。目前最新的模型是 dall-e-3。它在理解自然语言提示词(Prompt)方面非常出色。
注意:图像模型的调用方法与 Chat Completions 不同。
DALL-E 3 调用示例
import os
from openai import OpenAI
client = OpenAI()
try:
response = client.images.generate(
model="dall-e-3", # 指定使用 DALL-E 3 模型
prompt="一只可爱的柴犬穿着宇航服,坐在月球上,背后是地球,动漫风格,色彩鲜艳", # 详细的图像描述
n=1, # 生成的图片数量
size="1024x1024", # 图片尺寸,DALL-E 3 支持 1024x1024, 1792x1024, 1024x1792
quality="standard" # 图片质量,可以是 'standard' 或 'hd'
)
# 获取并打印生成的图片 URL
image_url = response.data[0].url
print(f"图片已生成,URL: {image_url}")
except Exception as e:
print(f"An error occurred: {e}")
代码解析:
client.images.generate(): 这是图像生成专用的方法。model="dall-e-3": 明确指定模型。prompt: 这是对你想要生成的图片最关键的描述,越详细、越具体,效果越好。response.data[0].url: 生成的图片会托管在 OpenAI 的服务器上,并通过一个临时 URL 返回。您需要及时下载保存这个 URL 指向的图片。
结论与最佳实践
- 按需选择模型: 优先考虑 `GPT-4omini
以兼顾成本和速度,对于高质量要求场景再使用GPT-4o`。 - **善用
system角色: 为模型设定一个清晰的角色和指令,可以显著提升输出结果的稳定性和相关性。 - 处理异常: API 调用可能会因为网络问题、计费问题或服务器负载而出错,务必使用
try...except结构来捕获和处理潜在的异常。

浙公网安备 33010602011771号