共计 1703 个字符,预计需要花费 5 分钟才能阅读完成。
开篇:ChatGPT Plus API 能做什么?
ChatGPT Plus API 是 OpenAI 提供的接口服务,允许开发者将强大的对话 AI 集成到自己的应用中。典型场景包括:

- 智能客服(自动回答用户问题)
- 内容生成(文章大纲、营销文案等)
- 代码辅助(解释代码、生成示例)
但需要注意它的能力边界:
- 不适合需要 100% 准确性的场景(如医疗诊断)
- 无法访问实时网络信息(知识截止到训练数据时间点)
- 对超长文本(超过 4000 tokens)处理效果会下降
第一步:获取 API Key
- 访问 OpenAI 官网 并登录
- 点击右上角头像 → “View API keys”
- 点击 “Create new secret key” 按钮
注意:
– API Key 只显示一次,请妥善保存
– 免费试用额度用完后需要绑定支付方式
第一个 API 请求(Python 示例)
import openai
from time import sleep
openai.api_key = "你的 API_KEY"
def chat_with_retry(prompt, max_retries=3):
for i in range(max_retries):
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
temperature=0.7 # 控制输出随机性
)
return response.choices[0].message.content
except Exception as e:
if i == max_retries - 1:
raise
sleep(2 ** i) # 指数退避
print(chat_with_retry("你好,请用中文回答"))
对话历史管理
正确的消息数组构造方式:
messages = [{"role": "system", "content": "你是一个乐于助人的 AI 助手"}, # 设定角色
{"role": "user", "content": "推荐几本 Python 入门书籍"},
{"role": "assistant", "content": "《Python 编程:从入门到实践》很不错"},
{"role": "user", "content": "这本书适合完全零基础吗?"} # 会记住上文
]
Token 节省技巧
- 设置
max_tokens参数限制响应长度 - 用
stream=True逐步获取响应(特别适合长文本) - 对用户输入预先过滤无关内容
生产环境注意事项
速率限制处理示例(令牌桶算法):
from datetime import datetime, timedelta
class RateLimiter:
def __init__(self, rpm):
self.allowance = rpm
self.last_check = datetime.now()
self.rpm = rpm
def check(self):
now = datetime.now()
time_passed = (now - self.last_check).total_seconds() / 60
self.allowance += time_passed * self.rpm
if self.allowance > self.rpm:
self.allowance = self.rpm
if self.allowance < 1:
sleep(60 / self.rpm)
return False
self.allowance -= 1
self.last_check = now
return True
敏感数据过滤
建议在调用 API 前进行:
def sanitize_input(text):
sensitive_words = ["密码", "信用卡", "身份证号"]
for word in sensitive_words:
if word in text:
raise ValueError("包含敏感信息")
return text
完整示例项目
- 带错误处理的完整聊天机器人实现
- Token 使用量统计功能
- 对话持久化存储示例
延伸思考
- 如何处理用户提出的超出模型知识范围的问题?
- 在多轮对话场景中,如何平衡上下文长度和 API 调用成本?
正文完
发表至: 未分类
近两天内
