共计 2142 个字符,预计需要花费 6 分钟才能阅读完成。
ChatGPT 简介
ChatGPT 是 OpenAI 开发的大型语言模型,能够理解自然语言并生成流畅的文本回复。它可以用于多种场景,比如聊天机器人、内容创作、代码辅助等。作为开发者,我们可以通过 API 将 ChatGPT 集成到自己的应用中,为用户提供智能对话功能。

获取免费 API 访问权限
- 首先访问 OpenAI 官网 (https://openai.com)
- 点击 ”Sign up” 创建账户
- 完成邮箱验证和手机验证
- 登录后进入 API Key 管理页面
-
点击 ”Create new secret key” 生成 API 密钥
-
注意:免费额度通常有使用限制,建议先查看当前配额
- 重要提示:API Key 需妥善保管,不要上传到公开代码库
Python 调用示例
基础同步请求
首先安装官方 Python 库:
pip install openai
基础调用代码:
import openai
# 设置 API 密钥
openai.api_key = "你的 API_KEY"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "你是一个乐于助人的 AI 助手"},
{"role": "user", "content": "Python 如何读取文件?"}
]
)
print(response.choices[0].message.content)
流式响应处理
对于长回复,可以使用流式响应来改善用户体验:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "给我讲一个长故事"}],
stream=True
)
for chunk in response:
content = chunk.choices[0].delta.get("content", "")
print(content, end="", flush=True)
常用参数说明
temperature:控制回答的随机性 (0-2),值越高越有创意max_tokens:限制回复的最大长度top_p:核采样参数,影响词汇选择
常见问题解决方案
速率限制处理
- 监控 API 调用频率
- 实现指数退避重试机制
- 考虑缓存常见问题的回答
示例代码:
import time
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_chat_completion(prompt):
try:
return openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
except openai.error.RateLimitError:
print("达到速率限制,等待重试...")
raise
上下文管理技巧
- 维护对话历史列表
- 适时修剪过长的上下文
- 使用系统消息设定 AI 角色
命令行聊天机器人示例
完整项目代码:
import openai
import json
class ChatBot:
def __init__(self, api_key):
openai.api_key = api_key
self.messages = [{"role": "system", "content": "你是一个乐于助人的 AI 助手"}
]
def chat(self, prompt):
self.messages.append({"role": "user", "content": prompt})
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=self.messages,
temperature=0.7
)
reply = response.choices[0].message.content
self.messages.append({"role": "assistant", "content": reply})
return reply
except Exception as e:
return f"发生错误: {str(e)}"
if __name__ == "__main__":
bot = ChatBot("你的 API_KEY")
print("输入'quit'退出聊天")
while True:
user_input = input("你:")
if user_input.lower() == "quit":
break
print("AI:", bot.chat(user_input))
进一步学习建议
- 阅读 OpenAI 官方 API 文档
- 学习更高级的上下文管理技术
- 探索不同模型版本的特点
- 考虑实现持久化对话历史
- 了解如何评估 AI 回复质量
通过本文介绍的基础知识,你已经可以开始构建自己的 AI 对话应用了。建议从小项目开始,逐步增加复杂度,在实践中深入理解 ChatGPT 的强大能力。
正文完
