# OpenAI API 学习笔记 **Published by:** [weiwei](https://paragraph.com/@weiwei-8/) **Published on:** 2025-01-15 **URL:** https://paragraph.com/@weiwei-8/openai-api ## Content 获得 OpenAI API Key获取 OpenAI 账号如果你已经使用过 ChatGPT,那么你的 ChatGPT 账号就是 OpenAI 账号,直接使用即可。如果没有 OpenAI 账号,你需要先进行注册。 由于国内访问的限制,注册可能会稍显复杂。网上有很多教程可以帮助你完成注册,具体内容这里不再赘述。如果你觉得注册过程麻烦,也可以选择购买现成的账号,或者直接购买一个带额度的 API Key。获取 OpenAI API Key登录后,鼠标移动到页面左侧,你会看到一个弹出的侧边栏。 点击 Create new secret key 创建一个新的 API Key,为其命名,点击确定即可。系统会弹出对话框,显示你创建的 Key,记得立即保存该 Key,因为一旦关闭对话框,你将无法再次查看该 Key。完成保存后,点击 Done,就可以在该页面查看新创建的 API Key 了。获取 API 使用额度额度查询点击侧边栏中的 Usage 进入使用页面。在该页面,左侧显示的是每日花费,右侧则显示了剩余额度。额度查询在 Credit Grants 区域,显示了三种颜色:灰色:未使用绿色:已使用红色:已过期只有在灰色区域,即未使用额度时,才能成功调用 API。额度充值点击侧边栏中的 Setting 下的 Billing 进入账单页面。在这里,你可以管理充值相关事项。 充值之前,需要先添加一种付款方式。点击 Payment methods 管理你的支付方式。由于国内的限制,Visa 卡可能无法使用。你可以选择使用国外的信用卡,或者使用虚拟信用卡。推荐使用 WildCard 虚拟信用卡,付款便捷,开卡费 $15.99,充值有 3.5% 的手续费,根据需求使用。 添加支付方式后,返回 Overview 页面,点击 Add to credit balance 进行充值。充值完成后,你可以在 Usage 页面查看可用额度的变化。Python 使用测试配置 Python确保你使用的是 3.7.1 以上版本的 Python。为了方便管理,我使用了 Anaconda 创建了一个虚拟环境。安装 OpenAI 库你需要安装 OpenAI 的 Python 库,使用以下命令:设置你的 API KeyOpenAI 默认会从环境变量中获取 OPENAI_API_KEY,作为 API Key。如果你不想每次都手动设置,可以通过以下两种方式来设置:为所有项目设置在系统环境变量中添加 OPENAI_API_KEY。在 Windows 上,可以按 Win 键搜索 “环境变量” 来打开相关设置界面。完成后,你可以使用命令行命令 echo %OPENAI_API_KEY% 来检查设置是否成功。为单个项目设置在项目目录中创建一个 .env 文件(如果使用 Git,请确保将该文件添加到 .gitignore 中)。然后在文件中写入:OPENAI_API_KEY=你的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": "你是一个富有创造力的编程助手,能够用诗意的方式解释复杂的编程概念。"}, {"role": "user", "content": "请创作一首解释递归概念的诗。"} ] ) print(response.choices[0].message.content) 在 Usage页面 上,你可以查看这次请求的花费和 token 数量。功能介绍(Python为例)文本生成(Text Generation)可以理解语言(GPT-4 也能理解图像),并返回文字。以下是一个请求示例:response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你是一个有用的助手。"}, {"role": "user", "content": "2025年世界大赛的冠军是谁?"}, {"role": "assistant", "content": "洛杉矶道奇队赢得了2025年世界大赛的冠军。"}, {"role": "user", "content": "比赛在哪里举行?"} ] ) 主要的输入是 messages,它是一个消息对象的列表。每个消息对象包含 role(system、user 或 assistant)和 content(内容)。system(可选):用于设置 AI 的行为;user:AI 要回应的信息;assistant:AI 之前的回复或自己的参考信息。图像输入(Image Input)GPT-4 的 vision 版本可以理解图像。你只需在 messages 中的 content 添加图像 URL,并传入参数 type="image_url"。 以下是图像输入的示例:图像输入输出是:图像生成(Image Generation)OpenAI 还支持图像生成。你可以使用 API 请求生成图片,并获取相应的图像链接。 ## Publication Information - [weiwei](https://paragraph.com/@weiwei-8/): Publication homepage - [All Posts](https://paragraph.com/@weiwei-8/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@weiwei-8): Subscribe to updates