共计 1879 个字符,预计需要花费 5 分钟才能阅读完成。
背景痛点
对于 Mac 开发者来说,首次使用 ChatGPT 时往往会遇到以下问题:

- Python 环境配置复杂,尤其是使用 Homebrew 管理多个 Python 版本时
- API 密钥管理不规范,容易泄露或丢失
- 官方文档对新手不友好,接口调用方式不清晰
- 缺乏完整的错误处理和日志记录机制
技术选型
在 Mac 上调用 ChatGPT 主要有两种方式:
- 官方 API 直接调用
- 优点:官方支持,功能最新最全
-
缺点:需要手动处理 HTTP 请求和响应
-
第三方封装库
- 优点:简化调用流程,提供高级功能
- 缺点:可能存在版本滞后问题
对于开发者推荐使用官方 API,因为它提供了最大的灵活性和控制权。
核心实现
1. Python 环境配置
推荐使用 pyenv 管理 Python 版本:
-
安装 Homebrew(如果尚未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
安装 pyenv:
brew install pyenv -
安装 Python 3.10+:
pyenv install 3.10.6 pyenv global 3.10.6
2. 获取 API 密钥
- 登录 OpenAI 官网
- 进入 API Keys 页面
- 点击 ”Create new secret key”
- 复制并安全保存密钥
3. 安装必要库
pip install openai python-dotenv
代码示例
下面是一个完整的 Python 调用示例,包含了错误处理和日志记录:
import os
import openai
from dotenv import load_dotenv
import logging
# 配置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
# 加载环境变量
load_dotenv()
# 初始化 OpenAI 客户端
try:
openai.api_key = os.getenv("OPENAI_API_KEY")
if not openai.api_key:
raise ValueError("API key not found in environment variables")
# 调用 ChatGPT API
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in simple terms."}
]
)
# 处理响应
if response.choices:
answer = response.choices[0].message.content
print(answer)
logging.info("API call successful")
else:
logging.warning("No response received from API")
except openai.error.AuthenticationError as e:
logging.error(f"Authentication failed: {e}")
except openai.error.RateLimitError as e:
logging.error(f"Rate limit exceeded: {e}")
except Exception as e:
logging.error(f"Unexpected error: {e}")
性能考量
- 请求频率限制
- 免费账户:20 请求 / 分钟
-
付费账户:60 请求 / 分钟
-
响应时间优化
- 使用流式响应(stream=True)
- 减少每次请求的 token 数量
- 使用更小的模型(如 gpt-3.5-turbo)
安全实践
- 永远不要将 API 密钥硬编码在代码中
- 使用.env 文件存储密钥,并添加到.gitignore
- 定期轮换 API 密钥
- 设置使用限额
避坑指南
- 认证失败
- 检查 API 密钥是否正确
-
确保密钥没有过期或被撤销
-
速率限制错误
- 实现指数退避重试机制
-
考虑批量处理请求
-
模型不可用
- 检查模型名称是否正确
- 查看 OpenAI 状态页面
下一步
现在你已经掌握了 ChatGPT API 的基本用法,可以尝试实现一个简单的问答应用。从控制台交互开始,逐步添加更多功能,如历史对话记录、上下文保持等。
记住,实践是最好的学习方式。动手尝试,遇到问题时查阅官方文档或社区资源,你很快就能成为 ChatGPT API 的使用专家。
正文完
