共计 2671 个字符,预计需要花费 7 分钟才能阅读完成。
ChatGPT API 核心能力与适用场景
ChatGPT API 是 OpenAI 提供的语言模型接口,能够实现智能对话、文本生成、代码补全等功能。适用于开发聊天机器人、内容创作助手、编程辅助工具等场景。通过 API 调用,我们可以将 ChatGPT 的强大能力集成到自己的应用中。

环境准备
1. OpenAI 账号注册与 API 密钥获取
- 访问 OpenAI 官网 并注册账号
- 登录后进入API 密钥管理页面
- 点击 ”Create new secret key” 生成 API 密钥
- 妥善保存密钥(后续会安全存储)
2. Python 环境配置
建议使用 Python 3.8+ 版本,并创建虚拟环境:
python -m venv chatgpt-env
source chatgpt-env/bin/activate # Linux/Mac
chatgpt-env\Scripts\activate # Windows
安装必要依赖:
pip install openai python-dotenv
基础 API 调用实现
3. 安全存储 API 密钥
创建 .env 文件存储密钥:
OPENAI_API_KEY= 你的 API 密钥
确保将 .env 加入 .gitignore 避免泄露。
4. 最小可行代码示例
创建 chat.py 文件:
import os
from openai import OpenAI
from dotenv import load_dotenv
# 加载环境变量
load_dotenv()
# 初始化客户端
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
def chat_once(prompt):
try:
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
except Exception as e:
return f"API 调用出错: {str(e)}"
if __name__ == "__main__":
user_input = input("你:")
print("AI:", chat_once(user_input))
实现持续对话
5. 上下文管理方案
修改代码实现多轮对话:
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
conversation_history = []
def chat_with_context(prompt):
global conversation_history
conversation_history.append({"role": "user", "content": prompt})
try:
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=conversation_history
)
ai_response = response.choices[0].message.content
conversation_history.append({"role": "assistant", "content": ai_response})
return ai_response
except Exception as e:
return f"API 调用出错: {str(e)}"
if __name__ == "__main__":
print("输入' 退出 '结束对话")
while True:
user_input = input("你:")
if user_input.lower() == '退出':
break
print("AI:", chat_with_context(user_input))
安全注意事项
- API 调用配额管理:
- 免费账号有调用限制
- 监控使用量避免超额
-
考虑添加速率限制
-
敏感信息存储:
- 永远不要将 API 密钥硬编码在代码中
- 使用环境变量或密钥管理服务
-
设置合理的密钥访问权限
-
内容审核:
- 实现用户输入过滤
- 考虑添加内容审核层
- 记录异常交互
进阶优化
6. 流式输出实现
def stream_response(prompt):
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}],
stream=True
)
for chunk in response:
content = chunk.choices[0].delta.content
if content:
print(content, end='', flush=True)
print()
7. 本地缓存机制
import json
from hashlib import md5
CACHE_FILE = "chat_cache.json"
def get_cache_key(prompt, model):
return md5((prompt + model).encode()).hexdigest()
def load_cache():
try:
with open(CACHE_FILE, 'r') as f:
return json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return {}
def save_cache(cache):
with open(CACHE_FILE, 'w') as f:
json.dump(cache, f)
8. 自定义指令模板
SYSTEM_PROMPT = """
你是一个有帮助的 AI 助手。回答要简洁专业,使用 Markdown 格式。当被问到代码问题时,提供可运行的代码片段。"""conversation_history = [{"role":"system","content": SYSTEM_PROMPT}]
延伸学习
结语
通过本教程,你已经掌握了 ChatGPT API 的基础使用方法,实现了从简单的单次调用到复杂的上下文管理。API 集成只是开始,后续可以根据实际需求添加更多功能,如多模态支持、函数调用等。记得定期查看 OpenAI 的更新,API 和模型都在不断进化。
正文完
