共计 1988 个字符,预计需要花费 5 分钟才能阅读完成。
ChatGPT 是什么?
ChatGPT 是 OpenAI 开发的大型语言模型,能够理解和生成自然语言。它不仅可用于日常对话,还能完成代码生成、内容创作、语言翻译等复杂任务。对于开发者而言,通过 API 接入 ChatGPT 可以为自己的应用添加智能对话能力。

准备工作
1. 获取 API 密钥
使用 ChatGPT API 的第一步是获取访问凭证:
- 访问 OpenAI 官网并注册 / 登录账户
- 进入 API 密钥管理页面
- 点击 ”Create new secret key” 生成新密钥
- 安全保存这个密钥(建议使用环境变量存储)
注意:API 调用会产生费用,新用户有免费额度,但需绑定支付方式。
2. 安装必要库
在 Python 环境中安装官方库:
pip install openai
第一个对话应用
基础实现
以下是最简单的单轮对话示例:
import openai
# 设置 API 密钥(实际使用时建议用环境变量)openai.api_key = "your-api-key"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "你好,请介绍一下你自己"}
]
)
print(response['choices'][0]['message']['content'])
代码解析:
model: 指定使用的模型版本messages: 对话历史列表role: “user” 表示用户输入,”assistant” 表示 AI 回复content: 具体的消息内容
进阶功能
1. 多轮对话管理
保持对话上下文的关键是维护 messages 列表:
conversation = [{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "推荐几本 Python 入门书籍"}
]
# 获取第一次回复
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=conversation
)
assistant_reply = response['choices'][0]['message']
conversation.append(assistant_reply)
# 继续对话
conversation.append({"role": "user", "content": "这些书适合完全零基础的人吗?"})
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=conversation
)
2. 错误处理
API 调用可能遇到各种异常,需要妥善处理:
import time
from openai.error import RateLimitError, APIError
def chat_with_retry(messages, max_retries=3):
retries = 0
while retries < max_retries:
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
return response
except RateLimitError:
wait_time = 2 ** retries # 指数退避
time.sleep(wait_time)
retries += 1
except APIError as e:
print(f"API 错误: {e}")
return None
return None
性能优化
- 批处理请求 :将多个问题合并到一个 API 调用
- 缓存结果 :对重复性问题缓存回复
- 合理设置 max_tokens:限制回复长度节省 token
避坑指南
- 密钥泄露 :永远不要将 API 密钥硬编码在代码中
- 上下文丢失 :忘记维护对话历史会导致 AI” 失忆 ”
- 超额消费 :未设置用量监控可能导致意外账单
- 过度调用 :忽略速率限制会造成请求失败
- prompt 设计不良 :模糊的指令会导致无关回复
常见问题
Q: 为什么我的 AI 突然 ” 失忆 ” 了?
A: 检查是否漏掉了将 assistant 回复加入对话历史
Q: 收到 429 错误怎么办?
A: 这是速率限制错误,需要实现重试机制或减少请求频率
Q: 如何控制回复长度?
A: 设置 max_tokens 参数(如 max_tokens=150)
进阶思考
- 如何设计 prompt 让 AI 保持特定角色(如专业客服)?
- 怎样实现长期记忆功能(跨会话记忆)?
- 如何结合其他 API(如搜索引擎)增强 AI 能力?
总结
通过本文,你已经掌握了 ChatGPT API 的基础使用方法。从简单的单轮对话到复杂的多轮交互,再到错误处理和性能优化,这些知识足够你开发出实用的对话应用。记住实践是最好的学习方式,建议从一个小项目开始,逐步深入探索 AI 对话的更多可能性。
正文完
发表至: 未分类
近一天内
