使用 Python 和 ChatGPT API 开发一个智能聊天程序

背景

在这篇博客中,我将向大家介绍如何使用 Python 和 ChatGPT API 开发一个智能聊天程序。 ChatGPT 是一种基于人工智能技术的自然语言处理工具,它可以生成自然流畅的语言并进行对话。使用 ChatGPT API,我们可以轻松地将这种人工智能技术集成到我们的 Python 应用程序中。

使用

以下是实现智能聊天程序的步骤:

步骤 1:安装必要的 Python 库

在开始之前,我们需要安装一些必要的 Python 库。在终端中运行以下命令:

pip install openai
pip install python-dotenv
pip install Flask

这些库分别是:

  • openai:提供了对 ChatGPT API 的访问和控制;
  • python-dotenv:用于将 API 密钥等敏感信息保存在环境变量中;
  • Flask:用于实现 Web 应用程序。

步骤 2:获取 API 密钥

在使用 ChatGPT API 之前,我们需要获取一个 API 密钥。您可以通过访问 https://platform.openai.com/account/api-keys 来获取 API 密钥。在这里,您需要提供有关您的应用程序的一些信息,例如应用程序名称、应用程序描述和应用程序 URL 等。一旦您的申请被批准,您将收到一个 API 密钥,用于授权您的应用程序访问 ChatGPT API。

获取ChatGPT API key

步骤 3:创建 Flask 应用程序

现在,我们将使用 Flask 框架创建一个 Web 应用程序。

首先新建一个空白目录,然后新建 .env 文件,填入你刚刚申请的 API key

OPENAI_API_KEY = '[YOUR_API_KEY]'

在您的代码编辑器中创建一个名为 app.py 的文件,并在其中编写以下代码:

from flask import Flask, request, jsonify
from dotenv import load_dotenv
import openai
import os

# 加载环境变量
load_dotenv()

# 设置OpenAI API密钥
openai.api_key = os.getenv("OPENAI_API_KEY")

# 初始化Flask应用程序
app = Flask(__name__)

# 定义POST路由
@app.route('/chat', methods=['POST'])
def chat():
    # 获取POST请求的消息
    message = request.json['message']

    # 使用ChatGPT API生成响应消息
    response = openai.Completion.create(
        engine="text-davinci-002",
        prompt=message,
        max_tokens=1024,
        n=1,
        stop=None,
        temperature=0.5
    )

    # 将响应消息发送回客户端
    return jsonify(response.choices[0].text.strip())

在这里,我们首先加载了我们保存 API 密钥的 .env 文件。然后,我们初始化了一个 Flask 应用程序并定义了一个名为 chat 的路由。在这个路由中,我们使用 POST 请求获取消息,然后使用 ChatGPT API 生成响应消息。最后,我们将响应消息作为 JSON 对象发送回客户端。

步骤 4:运行应用程序

现在,我们已经完成了 Flask 应用程序的编写,我们可以通过以下命令在终端中启动应用程序:

python -m flask --app app.py run

这将在 http://127.0.0.1:5000/ 启动 Web 应用程序。现在,我们可以使用任何 HTTP 客户端(例如 Postman 或 cURL)向 http://127.0.0.1:5000/chat 发送 POST 请求来测试我们的应用程序。 在发送 POST 请求时,我们需要将消息作为 JSON 对象的一部分包含在请求体中。例如,如果我们想让 ChatGPT 回答“你好”,我们可以使用以下命令:

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"message":"你好"}' \
  http://127.0.0.1:5000/chat

或者使用 Postman

postman发送post数据

这将返回一个 JSON 对象,其中包含 ChatGPT 生成的响应消息。

ChatGPT API 使用源码参考:https://github.com/openHacking/ChatGPT-API-Demo

总结

在这篇博客中,我们使用 Python 和 ChatGPT API 创建了一个智能聊天程序。我们使用 Flask 框架创建了一个 Web 应用程序,并使用 openai 库和 ChatGPT API 生成响应消息。最后,我们通过发送 POST 请求来测试我们的应用程序。这个例子展示了如何使用 ChatGPT API 来实现智能聊天功能,以及如何将 ChatGPT 集成到 Python 应用程序中。

参考

评论