# 【OpenAI】OpenAI API 学习笔记

By [ninghao](https://paragraph.com/@ninghao) · 2025-01-16

---

本文将详细介绍如何获得 OpenAI API Key，如何查询和充值 API 使用额度，以及如何通过 Python 使用 OpenAI API 进行测试。

☞ [WildCard | 一分钟注册，轻松订阅海外线上服务](https://bit.ly/bewildcard)

使用门槛极低，微信支付宝均可开通使用。支持开通各类海外平台：ChatGPT、Claude、Google Play、Apple Store、OpenAI、X、Patreon、MidJourney、Amazon、POE、Microsoft、Facebook、GitHub、Telegram、PayPal等各类海淘订阅平台。使用邀请码：ACCPAY，立享消费0手续费，减免开卡费用。

获得 OpenAI API Key
-----------------

### 获得 OpenAI 账号

如果您已经使用过 ChatGPT，那么 ChatGPT 的账号就是您的 OpenAI 账号，您可以直接使用该账号登录。

如果没有 OpenAI 账号，您可以在 OpenAI 官网进行注册。由于国内网络封锁，注册过程可能较为复杂。网上有许多教程可以帮助您解决注册问题。您也可以选择在某宝购买账号，或者直接购买一个有效的 API Key。

### 获得 OpenAI API Key

1.  登录 OpenAI 后，鼠标移动到页面左侧，您会看到一个弹出的侧边栏。
    
2.  点击侧边栏中的 **API Keys** 进入 API Keys 页面。
    

在这里，您可以管理所有的 API Key。点击 **Create new secret key** 创建新 API Key，输入名称并点击确认。创建完成后，系统会弹出显示新 API Key 的对话框，请务必将其保存，因为关闭后无法再次查看。

保存完后点击 **Done**，您就可以在该页面看到新创建的 API Key 了。

获取 API 使用额度
-----------

### 额度查询

1.  在侧边栏中点击 **Usage** 进入使用页面，您可以查看每天的花费以及当前的额度。
    
2.  在 **Credit Grants** 区域，您会看到不同颜色的标记：
    
    *   **灰色**：未使用的额度。
        
    *   **绿色**：已使用的额度。
        
    *   **红色**：已过期的额度。
        
    
    只有 **灰色** 状态的额度可以用于调用 API。
    

### 额度充值

1.  点击侧边栏中的 **Setting** 下的 **Billing** 进入账单页面。
    
2.  在页面中可以管理充值相关事项。首先，您需要添加一种支付方式，点击 **Payment methods** 进行添加。
    
3.  由于国内封锁的原因，国内的 Visa 卡可能无法使用。您可以选择使用国外的卡或虚拟信用卡服务，这里推荐使用 **WildCard**，它支持便捷的充值服务，且无需身份证验证。
    
4.  添加支付方式后，返回 **Overview** 页面，点击 **Add to credit balance** 进行充值。充值完成后，您可以在 **Usage** 页面查看可用额度。
    

Python 使用测试
-----------

### 配置 Python 环境

确保您的 Python 版本为 3.7.1 及以上。为了便于管理，我使用了 **Anaconda** 创建一个虚拟环境。

### 安装 OpenAI 库

使用以下命令安装 OpenAI Python 库：

### 设置您的 API Key

OpenAI 默认会从系统环境变量中读取 `OPENAI_API_KEY`，如果您希望使用该 Key，请使用以下两种方法之一：

#### 方法 1：为所有项目设置

1.  打开系统环境变量设置，添加 `OPENAI_API_KEY` 变量。
    
2.  设置完成后，可以在命令行运行 `echo %OPENAI_API_KEY%` 来确认设置是否成功。
    

#### 方法 2：为单个项目设置

1.  在项目目录下创建一个 `.env` 文件（如果使用 Git，记得将其添加到 `.gitignore`）。
    
2.  在文件中输入：
    
        OPENAI_API_KEY=your_api_key_here
        
    
3.  通过 `dotenv` 库加载环境变量：
    
        import os
        import dotenv
        
        dotenv.load_dotenv()
        
        client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
        
    

### 发送请求测试

以下是一个简单的 GPT-3.5 请求示例：

    import os
    import dotenv
    from openai import OpenAI
    
    dotenv.load_dotenv()
    
    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."},
            {"role": "user", "content": "Compose a poem that explains recursion."}
        ]
    )
    
    # 打印回复
    print(response['choices'][0]['message']['content'])
    

成功执行后，您可以在 [Usage 页面](https://platform.openai.com/usage) 查看请求的花费和 token 使用情况。

功能介绍（Python 示例）
---------------

### Text Generation

OpenAI API 支持文本生成，GPT-4 还可以处理图像。以下是文本生成的示例：

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

### Image Input

GPT-4 的 Vision 版本可以理解图像。只需在消息内容中添加类型为 `image_url` 的图像链接即可。

    response = client.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": "Image URL here", "type": "image_url"}]
    )
    

您还可以添加多个图像，模型会自动处理并生成相关的描述。

### Image Generation

OpenAI API 还支持图像生成，可以用以下方法生成图像。

    response = client.images.create(prompt="A futuristic city at sunset")

---

*Originally published on [ninghao](https://paragraph.com/@ninghao/openai-openai-api)*
