OpenAI API 学习笔记:从入门到实践

获取 OpenAI API Key

注册 OpenAI 账号

如果你之前使用过 ChatGPT,那么你的 ChatGPT 账号可以直接作为 OpenAI 账号使用。如果没有,可以通过以下步骤注册:

由于 OpenAI 对国内用户有一定限制,注册过程可能会比较复杂。网上有许多详细的注册教程可以参考。如果觉得麻烦,也可以选择直接购买带有额度的 API Key。

生成 OpenAI API Key

登录 OpenAI 后,将鼠标移动到页面左侧,会弹出一个侧边栏。点击侧边栏中的“API Keys”进入 API Keys 页面。

获取 API Key

在这里,你可以管理(创建、删除等)所有 API Key。点击“Create new secret key”创建一个新的 API Key,命名后点击确定。

创建完成后,系统会弹出一个对话框,显示生成的 Key。务必立即保存这个 Key,因为对话框关闭后将无法再次查看。

获取 API 使用额度

查询额度

点击侧边栏中的“Usage”进入使用页面。页面左侧显示每日花费,右侧显示剩余额度。

额度查询

在右侧 Credit Grants 区域,额度分为三种颜色:灰色(未使用)、绿色(已使用)、红色(已过期)。只有当额度为灰色时,才能成功调用 API。

充值额度

点击侧边栏“Setting”下的“Billing”进入账单页面。在这里,你可以管理支付方式和充值。

由于国内支付卡的限制,国内 Visa 卡可能无法使用。可以考虑使用国际支付卡或虚拟支付卡。👉 WildCard | 一分钟注册,轻松订阅海外线上服务 提供了一种便捷的支付方式,开卡费为 $15.99,充值手续费为 3.5%。

添加支付方式后,回到 Overview 页面,点击“Add to credit balance”进行充值。充值完成后,返回 Usage 页面即可查看额度的变化。

Python 使用测试

配置 Python 环境

确保 Python 版本为 3.7.1 或更高。为了隔离环境,可以使用 Anaconda 创建一个虚拟环境。

安装 OpenAI 库

使用以下命令安装 OpenAI 库:

bash
pip install openai

设置 API Key

OpenAI 默认会从环境变量中读取“OPENAI_API_KEY”。以下是两种设置方法:

  1. 为所有项目设置

在系统环境变量中添加 OPENAI_API_KEY

系统环境变量设置

添加完成后,可以通过 cmd 使用 echo %OPENAI_API_KEY% 检查是否设置成功。

  1. 为单个项目设置

在项目文件夹中创建 .env 文件,并添加以下内容:

env
OPENAI_API_KEY=your_key_here

使用 git 管理项目时,记得将 .env 文件添加到 .gitignore 中。

测试请求

以下是一个简单的 GPT-3.5 聊天请求示例:

python
import os
import dotenv
from openai import OpenAI

dotenv.load_dotenv()

client = OpenAI(
api_key=os.environ.get(“OPENAI_API_KEY”),
)

completion = 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(completion.choices[0].message.content)

测试通过后,你可以在 OpenAI Usage 页面 查看请求的花费和 token 使用情况。

OpenAI API 功能介绍(以 Python 为例)

文本生成

OpenAI 的 GPT 模型可以理解语言并生成文本。以下是一个简单的示例:

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?”}
]
)

输入结构

  • system(可选):设置 AI 的行为,如个性或指示。
  • user:AI 需要回应的信息。
  • assistant:AI 之前的回复,用于参考。

输出结构

  • finish_reason:指示 API 响应的完成状态,如 stoplength 等。

图像输入(GPT-4)

GPT-4 的视觉版本可以理解图像。在 user 消息的 content 中,添加 image_url 即可。

python
{
“role”: “user”,
“content”: [
{“type”: “text”, “text”: “What’s in this image?”},
{“type”: “image_url”, “image_url”: “”}
]
}

图像生成

使用 OpenAI 的 DALL·E 模型生成图像。详情请参考 OpenAI 官方文档


👉 WildCard | 一分钟注册,轻松订阅海外线上服务

上一篇 2025年2月19日
下一篇 2025年2月19日

相关推荐