如果您已经使用过 ChatGPT,可以直接使用现有账号登录 OpenAI。若没有账号,可前往 OpenAI 官网注册。由于国内访问限制,注册过程可能较为复杂,建议参考网上教程或直接购买现成账号。
登录 OpenAI 后,点击左侧导航栏中的 API Keys 选项,进入 API Key 管理页面。点击 Create new secret key,创建并命名新的 API Key。生成后,请立即保存 Key,关闭窗口后将无法再次查看。
在导航栏中点击 Usage,进入使用情况页面。页面左侧显示每日花费,右侧显示当前额度。额度分为三种状态:灰色(未使用)、绿色(已使用)、红色(已过期)。只有灰色状态的额度可用于调用 API。
前往 Setting 下的 Billing 页面,管理支付方式并充值。由于国内 Visa 卡可能无法使用,推荐使用国际支付卡。例如,使用 野卡 开卡并充值,支付便捷,适合需要长期使用 OpenAI 服务的用户。充值后,返回 Usage 页面即可查看更新后的可用额度。
确保 Python 版本为 3.7.1 或以上。推荐使用 Anaconda 创建虚拟环境,并安装 OpenAI 库:
bash
pip install openai
OpenAI 默认从环境变量中读取 OPENAI_API_KEY。您可以通过以下两种方式设置 Key:
全局设置
在系统环境变量中添加 OPENAI_API_KEY,即可在所有项目中使用该 Key。
项目级别设置
在项目根目录下创建 .env 文件,并添加 OPENAI_API_KEY=your_key_here。记得将 .env 文件加入 .gitignore 以避免泄露 Key。
以下是一个简单的 GPT-3.5 聊天请求示例:
python
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."},
{"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
]
)
print(response.choices[0].message.content)
在 Usage 页面可查看请求的花费和 Token 使用情况。
OpenAI 的文本生成功能支持理解和回复自然语言。以下是一个示例:
python
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
)
GPT-4 Vision 支持理解图像。在 messages 中添加 image_url 参数即可:
python
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{"role": "user", "content": [
{"type": "text", "text": "Describe this image."},
{"type": "image_url", "image_url": {"url": ""}}
]}
]
)
若需模型输出 JSON 格式,可在请求中设置 response_format 参数:
python
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant that always outputs JSON."},
{"role": "user", "content": "List the top 3 programming languages in 2025."}
],
response_format={"type": "json_object"}
)
通过以上功能,您可以充分利用 OpenAI API 的强大能力,满足多样化的开发需求。