if hasattr(chunk.choices.delta, 'content'):
content = chunk.choices.delta.content
if content is not None:
print(content, end='', flush=True) # 逐块打印,不换行
```
这在开发需要实时交互的聊天应用时特别有用^。
1.成本监控与限制:一定要在OpenAI后台设置用量限制(Usage Limits),防止因程序bug或恶意请求导致“天价账单”。对于个人项目,可以设置一个较低的月度预算上限^。
2.错误处理:网络可能超时,API可能有调用频率限制(Rate Limit)。你的代码应该用`try...except`包裹,并做好重试和友好提示。
```python
import time
from openai import OpenAIError
def safe_chat_completion():
try:
response = openai.ChatCompletion.create(...)
return response
except openai.error.RateLimitError:
print("请求太快了,休息一下再试..." time.sleep(60) # 等待60秒后重试
return safe_chat_completion() # 简单重试逻辑
except OpenAIError as e:
print(f"AI API出错: {e}" return None
```
3.善用系统指令(System Role):这是塑造AI角色和行为的最强大工具。通过清晰的系统指令,你可以让AI扮演专家、保持特定语气、遵循输出格式等,大幅提升回复质量^。
4.关于Plus订阅和API:ChatGPT Plus(网页版每月20美元)和API调用是两套独立的计费体系。Plus订阅不影响API费用,API调用按Token单独计费^。
调用ChatGPT API,本质上就是“准备钥匙(API Key) -> 按照菜谱(API文档)点菜(构造请求) -> 处理上来的菜(解析响应)”的过程。掌握Token计费原理、学会维护`messages`对话历史、用好`system`角色指令,你就已经掌握了最核心的80%。
剩下的,就是在实际项目中不断练习和优化了。比如,结合Flask或FastAPI搭建一个自己的聊天网站,或者做一个自动处理邮件、生成周报的小工具。可能性是无限的。
希望这篇超过2000字的指南,能帮你拨开迷雾,顺利踏上AI集成的开发之旅。如果遇到问题,别犹豫,多去翻阅[OpenAI的官方文档](https://platform.openai.com/docs),那里有最准确和最新的信息。动手试试吧,你的第一个AI增强应用,也许今天就能诞生!
