共计 2295 个字符,预计需要花费 6 分钟才能阅读完成。
ChatGPT 基础介绍
ChatGPT 是 OpenAI 基于 GPT(Generative Pre-trained Transformer)架构开发的大型语言模型。它通过海量文本训练获得了强大的自然语言理解和生成能力,能够处理问答、对话、写作等多种语言任务。对于开发者而言,最直接的用途就是通过 API 将其集成到自己的应用中,实现智能对话功能。

获取和使用 OpenAI API 密钥
- 访问 OpenAI 官网并注册账号
- 进入 API 密钥管理页面(https://platform.openai.com/account/api-keys)
- 点击 ”Create new secret key” 生成 API 密钥
- 妥善保存密钥(注意:密钥只显示一次)
安全提示:
- 不要将 API 密钥直接提交到代码仓库
- 建议使用环境变量存储密钥
- 定期轮换密钥以提高安全性
基础 API 调用示例
以下是一个完整的 Python 示例,展示如何调用 ChatGPT API 实现基础对话:
import openai
import os
# 从环境变量获取 API 密钥
openai.api_key = os.getenv('OPENAI_API_KEY')
# 定义对话函数
def chat_with_gpt(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
# 使用示例
user_input = "你好,介绍一下你自己"
print(chat_with_gpt(user_input))
代码说明:
- 首先导入必要的库并设置 API 密钥
- 定义
chat_with_gpt函数处理对话请求 - 使用
openai.ChatCompletion.create方法发送请求 - 从响应中提取并返回 AI 生成的内容
上下文管理实现
要实现多轮对话,需要维护完整的对话历史。以下是改进后的代码示例:
class ChatSession:
def __init__(self):
self.conversation_history = []
def add_message(self, role, content):
self.conversation_history.append({"role": role, "content": content})
def get_response(self):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=self.conversation_history
)
return response.choices[0].message.content
# 使用示例
chat = ChatSession()
chat.add_message("user", "你好")
print(chat.get_response()) # AI 回复
chat.add_message("user", "能介绍一下你自己吗?")
print(chat.get_response()) # AI 会根据之前的对话继续回答
关键点说明:
- 使用
conversation_history列表维护完整的对话上下文 - 每条消息都需要标注
role(user/assistant/system) - API 会自动根据完整上下文生成更连贯的回复
响应优化技巧
temperature 参数
- 范围:0-2
- 值越高,输出越随机有创意
- 值越低,输出越稳定可预测
推荐设置:
- 客服场景:0.2-0.5
- 创意写作:0.7-1.0
max_tokens 控制响应长度
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
temperature=0.7,
max_tokens=150 # 限制响应长度
)
生产环境避坑指南
API 调用限制
- 免费用户:20 请求 / 分钟
- 付费用户:默认 3500 请求 / 分钟
- 可通过升级账户提高限额
错误处理
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
except openai.error.RateLimitError:
print("请求过于频繁,请稍后再试")
except openai.error.APIConnectionError:
print("网络连接问题")
except Exception as e:
print(f"未知错误: {str(e)}")
成本控制
- GPT-3.5-turbo:$0.002/1k tokens
- 建议:
- 监控使用量(https://platform.openai.com/account/usage)
- 设置预算提醒
- 对长文本进行预处理减少 token 消耗
性能测试建议
- 延迟测试:记录请求到响应的完整时间
- 并发测试:模拟多个用户同时请求
- 压力测试:逐步增加请求频率观察系统表现
优化方向:
- 实现异步请求
- 使用本地缓存常见问题回答
- 考虑边缘计算部署
总结与扩展
通过本文,你已经掌握了 ChatGPT API 的基本使用方法,能够实现带上下文管理的对话功能。接下来可以考虑:
- 将 ChatGPT 集成到网站或 APP 中
- 开发特定领域的专业对话系统
- 结合其他 API 实现更复杂的功能
进阶学习建议:
- 研究 function calling 实现结构化输出
- 学习 fine-tuning 定制专属模型
- 探索 Assistant API 构建长期记忆的 AI 助手
正文完
发表至: 人工智能开发
近两天内
