跳至主要内容

GPT-4.5 API 教程:从零开始使用 OpenAI 的 API

学习如何连接 OpenAI API、创建 API 密钥、设置 Python 环境,并使用 GPT-4.5 构建一个基础聊天机器人。
· 8分钟 阅读

使用 AI 探索

GPT-4.5 提升了上下文理解、语气调节与摘要能力,非常适合用于聊天机器人、写作工具、客服自动化以及教育类应用。

在本教程中,我将提供通过 OpenAI API 使用 GPT-4.5 的分步指导。我们将用 Python 和其 API 构建一个由 GPT-4.5 驱动的聊天机器人,让我们以远低于月度订阅费用的成本与 GPT-4.5 进行对话。

什么是 GPT-4.5?

GPT-4.5 是 OpenAI 最新的语言模型,旨在提升对话流畅度、上下文理解与事实准确性。与以往模型相比,它能提供更自然的回复、更佳的语气适配,并减少幻觉,因此非常适合聊天机器人、内容生成与任务自动化等应用。

不过,与 OpenAI 的 o 系列模型不同,GPT-4.5 不依赖逐步推理,因此在数学或编程等复杂问题求解方面并非最佳选择。如果您的应用需要推理型模型,您可以阅读这篇关于OpenAI O1 API的教程。

gpt-4.5 vs o-series models

想深入了解 GPT-4.5 的优势、局限与基准对比,请查看我们对GPT-4.5的完整解读。

GPT-4.5 API:如何连接 OpenAI 的 API

本节将带您完成连接 OpenAI API 的步骤,包括创建 API 密钥和设置 Python 环境。

创建 API 密钥

要使用 OpenAI API,我们需要创建一个 API 密钥。该密钥用于在 API 中对我们的 Python 客户端进行身份验证。

1. 前往OpenAI API 密钥页面。

2. 如果您还没有 OpenAI 账户,需要先登录或创建一个账户。

3. 点击 "Create new secret key" 按钮。

Creating a new API key for OpenAI's API

4. 您可以为它选择一个名称,但保留默认选项也可以。

5. 点击 "Create secret key" 按钮。

Key creation form for OpenAI's API

6. 当密钥显示出来时,请复制它。之后将无法再次查看。如果丢失,您可以随时删除并重新创建一个新的。

Copying the API key for the OpenAI's API

7. 在您将编写 Python 代码的同一文件夹中创建一个名为 .env 的文件,并按以下格式粘贴该密钥:

OPENAI_API_KEY=<paste_your_key_here>

API 定价

OpenAI API 并非免费。根据您使用的模型,费用各不相同。完整的定价详情可在其定价页面上查看。

这些费用不同于在在线界面上使用 ChatGPT 的订阅费用。使用 API 时,我们按消息计费,而不是每月固定收费。对于常规使用,这可能是访问其模型的更便宜方式。

在本教程中,我们将使用他们的最新模型 GPT-4.5。这是最先进的通用模型。

GPT 4.5 pricing card

定价不是按消息,而是按 token 计费。当我们向大语言模型发送消息时,消息会被拆分为token。没有将单词精确转换为 token 的可靠公式,但大致可以估算为 1 个 token 约等于 3/4 个英文单词。

这意味着上述定价大致相当于 750,000 个英文单词。

要使用 API,我们需要为账户充值。这可以在OpenAI 的账单页面完成。

Python 环境设置

OpenAI 提供了一个 Python 客户端,方便与其 API 交互。要使用它,我们需要安装该客户端,以及一些用于加载之前创建的密钥的包。

我们将使用Anaconda 创建一个 Python 环境来安装所需依赖。这样做更干净,能避免与我们可能已有的其他 Python 包发生冲突。

安装 Anaconda 后,我们可以使用终端命令创建环境:

conda create -n gpt45 -y python=3.9

该命令会创建一个名为 gpt45 的环境,并使用 3.9 版本的 Python。-y 选项用于在创建过程中对所有问题自动回答 yes。

接下来,使用以下命令激活环境:

conda activate gpt45

最后,我们安装必要的依赖。

  • pip install openai:安装 OpenAI 的 Python 库。
  • pip install python-dovenv:安装一个包,用于从我们之前创建的 .env 文件中加载 API 密钥。

发出第一个 API 请求

现在我们可以开始编写 Python 代码,向 OpenAI API 发起请求。

先创建一个名为 script.py 的文件。这将是我们编写代码的地方。

然后,导入相关包:

from openai import OpenAI
from dotenv import load_dotenv
import os

接着,加载 API 密钥并初始化客户端:

load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
client = OpenAI(api_key=api_key)

最后,发送一条消息。我们先发送 "Hello":

completion = client.chat.completions.create(
    model="gpt-4.5-preview",
    messages=[
        {
            "role": "user",
            "content": "Hello"
        }
    ]
)
print(completion.choices[0].message.content)

model 参数用于指定我们要使用的模型。要尝试其他模型,请替换为相应的名称。

我们可以使用以下命令运行脚本:

python script.py

结果如下:

Hello! How can I help you today?

使用 Python 创建 GPT-4.5 聊天机器人

本节我们在前面脚本的基础上,创建一个可交互的聊天机器人,让我们在终端中与 GPT-4.5 对话。

为此,我们需要将脚本修改为:

  1. 接收用户输入。
  2. 跟踪对话,将此前消息与新提示一起发送。
  3. 循环执行,直到用户退出。

让用户输入提示词

要在终端读取用户输入,我们使用 input() 函数。调用时会等待用户输入文本,然后返回该文本。

prompt = input("> ")
print(prompt)

在终端运行时效果如下:

> Hello
Hello

聊天循环

为实现聊天功能,我们使用一个循环,直到提示词等于 "exit" 才结束。主循环逻辑如下:

while True:
  prompt = input("> ")
  if prompt == "exit":
    exit()
  # Prompt processing goes here

处理提示词

模型不会保留我们此前发送消息的历史。它会将每条消息视为新的。因此,要获得聊天行为,我们需要在发送新提示时一并提供至今的所有消息。这可以通过维护聊天历史来实现。

来自用户的消息应采用以下格式:

{
  "role": "user",
  "content": <user prompt>
}

模型的回答应当使用 "assistant" 角色。

{
  "role": "assistant",
  "content": <model answer>
}

基于以上思路,完整的聊天实现如下:

from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")

client = OpenAI(api_key=api_key)

# Initialize the chat history
chat_history = []
while True:
    prompt = input("> ")
    if prompt == "exit":
        exit()
    # Add the user message to the chat history
    chat_history.append({
        "role": "user",
        "content": prompt,
    })
    # Send the full chat history
    completion = client.chat.completions.create(
        model="gpt-4.5-preview", messages=chat_history
    )
    # Display the answer
    answer = completion.choices[0].message.content
    print(answer)
    # Add the answer to the chat history
    chat_history.append({
        "role": "assistant",
        "content": answer,
    })

聊天示例

要试用该聊天程序,我们可以通过以下命令运行:

python script.py

随后在终端输入提示词即可开始对话。下面是一个聊天示例:

GPT-4.5 chatbot example

该示例展示了两个提示词。首先,我们让模型给出一个 Python 中 for 循环的示例。随后,为了测试聊天历史是否正确传递,我们让它在 Javascript 中“做同样的事”。

由于我们提供了聊天历史,模型能够理解“做同样的事”的含义,并给出了 Javascript 中 for 循环的示例。

结语

在本教程中,我们学习了如何使用 Python 设置并与 OpenAI 的 GPT-4.5 模型进行对话。我们了解了如何创建 OpenAI API 密钥并在 Python 环境中使用它,从而在 OpenAI 订阅平台之外与 GPT-4.5 交互。

我们涵盖了使用 Anaconda 设置 Python 环境、安装必要的包,以及向 OpenAI API 发出第一个请求。

最后,我们通过维护对话历史,构建了一个简单的基于终端的交互式聊天机器人。

François Aubry

作者

François Aubry

全栈工程师,CheapGPT 创始人。我一直热爱教学。从学生时代起,我就积极寻找机会为同学提供辅导与帮助。这份热情促使我攻读博士学位,并在此期间担任助教,以支持我的学术追求。那些年里,我在传统课堂环境中收获了极大的成就感,既建立联系也促进学习。随着在线学习平台的兴起,我也看到了数字教育的变革潜力。事实上,我曾参与我们大学一款此类平台的建设。我致力于将传统教学理念与创新的数字方法相融合。我的热情在于打造既有吸引力、信息量充足,又能让当代学习者轻松获取的课程。

主题