最近,对话式 AI 变得越来越流行,原因很容易理解。凭借自动执行日常任务、提供客户支持甚至生成创意内容的能力,对话式 AI 正在迅速改变我们与技术交互的方式。OpenAI 的 ChatGPT 是当今可用的最强大的对话式 AI 工具之一,这是一种经过训练的语言模型,可以通过非常类似于人类的答案来响应自然语言查询。

在这篇博文中,我们将探讨如何通过 Python 释放 ChatGPT 新 API 的强大功能,以创建可以与用户聊天、回答问题甚至生成创意输出的对话应用程序。通过分步说明和大量示例,我们将向您展示如何在 Python 中开始使用 ChatGPT API。使用 WinMend Auto Shutdown 自动关闭您的 PC无论您是希望为您的企业创建聊天机器人的开发人员、探索 AI 前沿的研究人员,还是渴望探索自然语言处理前沿的好奇爱好者,这篇文章都适合您。因此,让我们开始使用 OpenAI 的 ChatGPT API 和 Python 构建强大的对话代理!

检索 OpenAI API 密钥

为了能够在 Python 应用程序中使用 OpenAI 的 API,我们需要先从 OpenAI 仪表板检索 API 密钥。

要检索您的 OpenAI API 密钥,您需要在 https://openai/ 创建一个用户帐户并访问 OpenAI 仪表板中的 API 密钥部分以创建一个新的 API 密钥。

此密钥是秘密的,不得与任何其他人共享。稍后在实现 Python 脚本以访问 OpenAI 的 API 时,我们将需要使用此密钥。

设置 Python 项目

让我们开始设置 Python 项目。开始创建一个新的项目文件夹,并在此文件夹中创建一个新文件 py-chatgpt.py:

$ mkdir py-chatgpt
$ cd py-chatgpt
$ touch py-chatgpt.py

确保安装或升级 openai python 包:

$ pip install --upgrade openai

我们将使用 openai 包来访问 ChatGPT API。

实现应用程序逻辑

将以下 Python 代码插入 py-chatgpt.py:

import openai

openai.api_key = "[INSERT YOU OPENAI API KEY HERE]"

history = []

while True:
    user_input = input("Your input: ")

    messages = []
    for input_text, completion_text in history:
        messages.append({"role": "user", "content": input_text})
        messages.append({"role": "assistant", "content": completion_text})

    messages.append({"role": "user", "content": user_input})

    completion = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=messages
    )

    completion_text = completion.choices[0].message.content
    print(completion_text)

    history.append((user_input, completion_text))

    user_input = input("Would you like to continue the conversation? (Y/N) ")
    if user_input.upper() == "N":
        break
    elif user_input.upper() != "Y":
        print("Invalid input. Please enter 'Y' or 'N'.")
        break

这是代码的细分:

  • 第一行导入 OpenAI 库。

  • 第二行将 OpenAI API 密钥设置为用户需要插入的值(如上所述,从 OpenAI 仪表板检索)

  • 该history变量被初始化为一个空列表。该列表将用于存储对话历史记录。

  • 然后代码使用该语句进入无限循环while True。

  • 该input()函数提示用户输入他们的输入,然后将其存储在user_input变量中。

  • 该messages列表被初始化为一个空列表。它用于存储用户和聊天机器人之间交换的消息。

  • 循环for用于遍历存储在history列表中的对话历史记录。循环以正确的顺序将每条消息附加到消息列表,用户messages后跟聊天机器人响应。

  • 然后将用户的最新消息添加到messages列表中。

  • 调用该openai.ChatCompletion.create()方法以生成来自聊天机器人的响应。该方法有两个参数:要使用的 GPT-3 模型("gpt-3.5-turbo"在本例中)和到目前为止交换的消息列表 ( messages)。该gpt-3.5-turbo模型是 ChatGPT 也使用的语言模型。

  • 聊天机器人生成的响应存储在completion_text变量中。

  • 使用函数将聊天机器人的响应打印到控制台print()。

  • 用户和聊天机器人之间交换的最新消息附加到列表中history。

  • 系统会提示用户决定是继续还是结束使用该input()功能的对话。用户的响应存储在user_input变量中。

  • 如果用户输入“N”(不区分大小写),则break语句退出循环,程序结束。

  • 如果用户输入除“Y”或“N”以外的任何内容,则会打印一条错误消息,语句break退出循环,程序结束。

运行应用程序

您可以使用 python 命令后跟文件名来运行 Python 脚本:

$ python py-chatgpt.py

现在你被要求提供第一个输入。响应将从 ChatGPT 的语言模型中检索并作为输出提供:

在每次回复后,系统都会询问您是否应该继续对话。如果您想继续,您需要输入“Y”。然后系统会要求您提供下一个输入。

由于 gpt-3.5-turbo 模型还能够将对话的历史考虑在内,您可以根据迄今为止发生的对话的上下文提出后续问题。

结论

总之,使用 OpenAI 的新 gpt-3.5-turbo 语言模型实现聊天机器人是向用户提供自动响应并增强用户体验的绝佳方式。按照这篇博文中概述的步骤,您可以使用 Python 和 OpenAI 的 API 轻松创建自己的聊天机器人。通过自定义使用的 GPT 模型并调整脚本以适合您的特定用例,您可以创建一个可以以自然且引人入胜的方式与用户交流的聊天机器人。借助 OpenAI 的强大功能和 Python 的多功能性,创建聊天机器人的可能性是无限的。那么为什么不立即尝试创建您自己的聊天机器人呢!

更多推荐

释放 OpenAI 的 ChatGPT API 的力量:使用 Python 轻松进行命令行对话