共计 1987 个字符,预计需要花费 5 分钟才能阅读完成。
调用 ChatGPT API 的核心价值在于,开发者可以快速获得强大的文本生成能力,无需从头训练大模型,就能为应用添加智能对话功能。下面我们从零开始,一步步学习如何使用 ChatGPT API。

1. API 基础配置
首先,你需要获取 API 密钥:
- 登录 OpenAI 平台(https://platform.openai.com)
- 点击右上角个人头像 → “View API keys”
- 点击 ”Create new secret key” 生成密钥
重要安全提示:API 密钥如同密码,务必妥善保存,不要直接硬编码在代码中或上传到 GitHub 等公开平台。推荐使用环境变量管理密钥。
基础 Python 调用示例:
import openai
import os
# 推荐从环境变量读取 API 密钥
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "请用简单语言解释量子计算"}
]
)
print(response.choices[0].message.content)
2. 同步与异步调用
同步调用 适合简单场景,使用 requests 库示例:
import requests
headers = {"Authorization": f"Bearer {os.getenv('OPENAI_API_KEY')}",
"Content-Type": "application/json"
}
data = {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Python 如何实现快速排序?"}]
}
response = requests.post(
"https://api.openai.com/v1/chat/completions",
headers=headers,
json=data
)
异步调用 适合高并发场景,使用 aiohttp 示例:
import aiohttp
import asyncio
async def async_chat():
async with aiohttp.ClientSession() as session:
async with session.post(
"https://api.openai.com/v1/chat/completions",
headers=headers,
json=data
) as resp:
return await resp.json()
# 调用示例
result = asyncio.run(async_chat())
3. 关键参数解析
temperature(0-2): 控制输出随机性,值越高结果越多样max_tokens: 限制生成的最大 token 数(1 个 token≈0.75 个英文单词)top_p: 另一种控制多样性的方式,与 temperature 二选一
调参示例:
# 适合创意写作的参数
creative_params = {
"temperature": 1.2,
"max_tokens": 500,
"top_p": 0.9
}
# 适合事实回答的参数
fact_params = {
"temperature": 0.3,
"max_tokens": 300
}
4. 错误处理实践
生产环境必须实现的错误处理机制:
- 指数退避重试:网络错误时自动重试
from tenacity import retry, stop_after_attempt, wait_exponential
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10))
def safe_api_call():
return openai.ChatCompletion.create(...)
-
速率限制处理:监控 headers 中的
x-ratelimit-remaining -
上下文截断:当超出 token 限制时自动缩短历史消息
5. 免费版与付费版 API 对比
| 特性 | 免费版 | 付费版 |
|---|---|---|
| 请求速率 | 3/min | 60/min(GPT-3.5) |
| 每月免费额度 | $18 | 无 |
| 模型访问 | 有限 | 全量 |
| 最大 token | 4096 | 4096(GPT-3.5) |
6. 实战思考
如何设计缓存层降低调用成本?考虑以下方向:
– 对常见问题答案进行缓存
– 使用向量数据库存储历史对话
– 实现本地轻量模型作为缓存层
完整 Postman 测试集合:点击下载(注:实际使用时请替换为真实链接)
通过以上步骤,你应该已经掌握了 ChatGPT API 的基础使用方法。建议从简单应用开始,逐步探索更复杂的集成场景。记住,好的 API 使用策略需要在功能、成本和响应速度之间找到平衡。
正文完
