3 个版本

0.1.2 2023年4月14日
0.1.1 2023年2月15日
0.1.0 2023年2月12日

#14 in #slash-command

MIT 许可证

21KB
246

Discord x OpenAI

注意:这些文档目前是最基本的,但将在未来更新更多详细信息。

discord-openai 将各种 OpenAI 模型带入您的 Discord 频道。目前 Chat-GPT API 不可用,但是一旦端点公开,它将集成到这个机器人中。一旦机器人加入您的 Discord 频道,您就可以使用 /davinci 刀片命令。

入门指南

discord-openai 添加到您的 Discord 频道非常简单直接。如果您之前已将 Discord 机器人添加到频道,这将花费大约 5 分钟。如果您是 Discord 机器人频道的新手,安装和设置过程将接近 15 分钟。

要设置 Discord OpenAI,您需要设置一个新的 Discord 机器人并获取一个OpenAI API 密钥

创建新机器人后,启用以下作用域和权限。

作用域

- bot
- applications.commands

机器人权限

- Read Messages/View Channels
- Send Messages

一旦启用这些权限,您可以通过邀请机器人到您的服务器。一旦机器人成功加入服务器,剩下的只是启动 discord-openai

安装 discord-openai

首先,请确保您已安装Rust,这将允许您安装 / 编译程序。安装 Rust 后,您可以使用 cargo(Rust 软件包管理器)或直接从源代码安装 discord-openai。要使用 cargo 安装,只需在终端中输入以下命令。

cargo install discord-openai

要从源代码安装,您可以运行以下命令。

git clone https://github.com/0xKitsune/discord-openai.git
cd discord-openai
cargo install --path .

恭喜,现在一切已安装。

运行程序

要运行 discord-openai,您需要一个 Discord 机器人令牌和一个 OpenAI API 密钥。当 discord-openai 运行时,它通过命令行参数或环境变量查找这些值。

如果您想使用命令行参数,可以在终端运行以下命令来启动程序,将 <占位符> 替换为您自己的API密钥和机器人令牌。

discord-openai --openai_api_key <api_key> --bot_token <token>

如果您想通过环境变量运行程序,只需设置一个名为 DISCORD_OPENAI_BOT_TOKEN 的环境变量作为机器人令牌,以及名为 OPENAI_API_KEY 的环境变量作为API密钥。

设置环境变量后,您可以在终端中运行以下命令来启动程序。

discord-openai

启动程序后,您应该在终端中看到 您的机器人名称在这里!。为确保一切正常工作,您可以在服务器的任何频道中使用 /ping 斜杠命令,您的机器人应该会回复 Pong 信息。

使用Docker运行

如果您正在使用环境变量,请在名为 Dockerfile 的文件中设置环境变量,将 DISCORD_OPENAI_BOT_TOKEN 用于机器人令牌,以及 OPENAI_API_KEY 用于API密钥。

将环境变量添加到Dockerfile后,要使用docker运行程序,只需构建镜像并使用以下命令运行容器。

sudo docker -t <your-image-name> . 
sudo docker run -t <your-image-name>

如果您选择不在 Dockerfile 中设置环境变量,可以在启动容器时作为命令行参数传递机器人令牌和API密钥,如下所示。

sudo docker -t <your-image-name> .
sudo docker run -t <your-image-name> --openai_api_key <api_key> --bot_token <token>

您可以使用此Dockerfile在任何支持Docker的机器或云服务提供商上部署。

斜杠命令使用

一旦 discord-openai 启动并运行,您可以使用 /davinci 斜杠命令来提问、生成代码片段以及您能想到的任何其他内容。目前,discord-openai 使用 OpenAI 的 text-davinci-003 模型,但其他模型将作为额外的斜杠命令添加,包括一旦可用,ChatGPT。

您还可以使用 /ping 斜杠命令在任何时候检查 discord-ai 是否正在运行。

当前限制

  • 如前所述,discord-openai 使用 text-davinci-003 模型。将来,随着OpenAI发布更多模型,这些模型将集成到程序中。

  • 通过OpenAI API,无法使用一个模型同时跟踪多个对话。因此,您只能一次提问一个问题,而不是同时进行多个对话。随着OpenAI API的更新,discord-openai 也会进行更新。

依赖项

~15–28MB
~437K SLoC