共计 2164 个字符,预计需要花费 6 分钟才能阅读完成。
引言
ChatGPT 作为当前最热门的 AI 对话模型之一,其免费 API 服务为开发者提供了快速接入智能对话能力的机会。虽然免费版有一定的限制,但对于学习、原型开发和小规模应用来说完全够用。本文将带你从零开始,一步步完成 ChatGPT 的免费接入。

准备工作:账号注册与 API 密钥获取
- 访问 OpenAI 官网 (https://openai.com/) 并点击 ”Sign up”
- 使用邮箱注册或直接通过 Google/Microsoft 账号登录
- 完成邮箱验证后,登录平台
- 点击右上角个人头像,选择 ”View API keys”
- 在 API keys 页面点击 ”Create new secret key” 生成 API 密钥
重要提示:
- 首次注册可获得约 3 个月的免费试用额度(具体以官网最新政策为准)
- 免费额度用完后不会自动扣费,但会停止服务
- API 密钥一旦生成请立即保存,关闭页面后将无法再次查看完整密钥
API 调用实战:Python 示例
以下是完整的 Python 调用示例,我们使用 requests 库实现:
import requests
import json
# 配置参数
API_KEY = '你的 API 密钥' # 替换为你的实际密钥
MODEL = 'gpt-3.5-turbo' # 免费可用模型
URL = 'https://api.openai.com/v1/chat/completions'
# 构造请求头
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {API_KEY}'
}
# 构造请求体
def build_payload(prompt):
return {
'model': MODEL,
'messages': [{"role": "user", "content": prompt}],
'temperature': 0.7 # 控制回答的随机性
}
# 发送请求并处理响应
def chat_with_gpt(prompt):
try:
response = requests.post(
URL,
headers=headers,
data=json.dumps(build_payload(prompt))
)
# 检查响应状态
if response.status_code == 200:
return response.json()['choices'][0]['message']['content']
else:
print(f"请求失败,状态码:{response.status_code}")
print(f"错误信息:{response.text}")
return None
except Exception as e:
print(f"发生异常:{str(e)}")
return None
# 测试调用
if __name__ == '__main__':
while True:
user_input = input("你:")
if user_input.lower() in ['exit', 'quit']:
break
response = chat_with_gpt(user_input)
if response:
print(f"AI:{response}")
关键点说明:
- 必须使用 Bearer 认证方式,在 Authorization 头中携带 API 密钥
- gpt-3.5-turbo 是免费可用的模型,性能足够一般使用
- temperature 参数控制回答的创造性(0- 1 之间)
- 完整的响应包含 usage 信息,可以监控剩余额度
常见问题排查
遇到问题时,可以按照以下步骤检查:
- 认证失败(401 错误)
- 检查 API 密钥是否正确
- 确保密钥没有过期或被撤销
-
验证 Bearer 前缀和空格格式正确
-
额度不足(429 错误)
- 免费用户有每分钟请求限制
- 实现简单的重试机制(建议等待 10-15 秒)
-
在代码中添加延迟:
time.sleep(15) -
模型不可用(404 错误)
- 确认模型名称拼写正确
-
检查该模型是否在免费套餐内
-
响应慢或超时
- 免费服务可能会限速
- 增加 requests 的超时设置:
timeout=30
安全与优化建议
API 密钥安全
- 永远不要将 API 密钥直接写在代码中
- 使用环境变量存储密钥:
import os API_KEY = os.getenv('OPENAI_API_KEY') - 不要在客户端应用中直接调用 API(可能暴露密钥)
使用优化
- 上下文管理
- ChatGPT 支持多轮对话,可以维护 messages 历史
-
示例:
messages = [{"role": "system", "content": "你是一个有帮助的助手"}, {"role": "user", "content": "你好"} ] -
流式响应
- 对长响应可以使用流式接收
-
设置
stream=True并迭代处理响应块 -
用量监控
- 定期检查 API 响应中的 usage 字段
- 避免突然超出免费限额
总结与进阶
通过本文,你应该已经能够:
- 成功注册 OpenAI 账号并获取 API 密钥
- 使用 Python 调用 ChatGPT API
- 处理常见的认证和限制问题
- 安全地存储和使用 API 密钥
如需进一步学习,可以:
- 研究更复杂的对话场景(多轮对话、角色扮演等)
- 尝试其他可用模型(注意免费额度限制)
- 学习使用 OpenAI 官方 Python SDK(更简洁的接口)
- 探索函数调用等高级功能
记住,免费服务适合学习和测试,生产环境建议关注 OpenAI 的最新定价方案。随着技能提升,你还可以尝试微调自定义模型等更强大的功能。
正文完
