❗ 新版本的GPT-Shell叫做Erin!请访问艾琳的网站了解更多信息! ❗ |
---|
GPT-Shell 是一个基于 OpenAI 的聊天机器人,类似于 OpenAI 的 ChatGPT。
它允许用户与虚拟伴侣交谈。它使用 Nodejs 和 TypeScript 以及现代纱线来创建无缝的对话体验。
它还可以根据您的对话生成图像!
您可以在官方 Discord 服务器上尝试该机器人:
要与 GPT-Shell 交互,用户可以:
/chat-gpt
命令开始与机器人对话/chat-gpt
命令将启动一个新的对话线程,每当用户输入内容时,机器人就会做出响应。
该机器人能够同时处理多个对话,因此您可以根据需要启动任意多个对话。
在这里设置一个不和谐的机器人并将其添加到您的服务器。
适用范围:
机器人权限:
您还需要启用消息内容意图:
您可以尝试在此处 fork replit
或者您可以在您的机器上进行设置。
Nodejs:(18或以上)
Yarn:(安装nodejs后)
pm2:即使在杀死你的终端后也能让你的机器人保持活力。
要使用 GPT-Shell,您需要:
git clone https://github.com/firtoz/GPT-Shell.git
cd GPT-Shell
(在 Windows 中,右键单击文件夹中的某处并选择“在终端中打开”)如果您看到有关 powershell 的内容,请键入cmd
并按 Enter 键,转到更简单的命令行终端。
yarn install
GPT-Shell 正常工作需要以下环境变量。
您可以按照您喜欢的任何方式设置环境变量,或者将 .env.local 文件放置在项目的根目录中(将example.env.local
重命名为.env.local
),确保您的.env.local
如下所示:
# MongoDB:
MONGODB_URI=
DB_NAME=CHAT_DB
# Bot Token from Discord:
BOT_TOKEN=
# Commands:
COMMAND_NAME=chat-gpt
PRIVATE_COMMAND_NAME=chat-gpt-private
CONFIG_COMMAND_NAME=chat-gpt-config
CUSTOM_PROMPT_COMMAND_NAME=chat-gpt-prompt
DRAW_COMMAND_NAME=draw-gpt
# Discord Server Details:
MAIN_SERVER_ID=
LOG_CHANNEL_ID=
MAIN_SERVER_INVITE=
ADMIN_PING_ID=
USE_SAME_API_KEY_FOR_ALL=false
IGNORE_INIT=false
MongoDB:
CHAT_DB
或任何您喜欢的东西。机器人令牌:
命令:
不和谐服务器详细信息:
MAIN_SERVER_ID:机器人所在的 Discord 服务器
LOG_CHANNEL_ID:(可选)日志消息的通道
MAIN_SERVER_INVITE:(可选)理想的不会过期的服务器邀请链接(如果您希望用户将机器人添加到他们的服务器)
USE_SAME_API_KEY_FOR_ALL:(可选)当设置为“true”时,它将允许任何服务器或用户使用机器人,而无需提供自己的 API 密钥。
ADMIN_PING_ID:机器人所有者的 Discord ID(就是你!)
用于让您发送一些特殊命令并配置机器人。
IGNORE_INIT:(可选)当设置为“true”时,启动时不会检查活动线程是否有新消息,因为机器人上次在线。如果您位于许多服务器中,则可能有许多活动线程,因此会达到速率限制。在这种情况下,最好在消息到来时对其进行处理,而不是一次检查多个线程。
附加功能:
WOLFRAM_APP_ID:用于 Wolfram Alpha 功能。
可以在 https://developer.wolframalpha.com/portal/myapps 创建应用程序并获取其 id。
如上所述设置环境变量。
用纱线:
yarn global add pm2
使用 npm:
npm install pm2 -g
对于 debian,使用安装脚本:
apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | sudo -E bash -
yarn dev
这样,每当您更改代码时,它都会重新启动机器人进行更新。
yarn build
进而
yarn start
您还可以运行npm start
或npm run start
来启动机器人。
注意:运行yarn start
、 npm start
或npm run start
将使用PM2启动机器人,并将其命名为“GPT-Shell”。您可以在 package.json 中将“GPT-Shell”替换为您选择的名称。它还将显示 PM2 运行进程的日志并保存它们。
如果您在开发环境中,请使用node .
测试你的代码:
node .
一旦您对更改感到满意,请运行:
pm2 restart GPT-Shell && pm2 logs
要停止机器人,请运行:
yarn run stop
您还可以从 pm2.io 仪表板重新启动它,如下所示:
转到您的服务器,键入 config 命令,然后使用 config.json 设置服务器的 API 密钥。
/chat-gpt-config
从2.0.0开始,机器人具备了长期记忆的能力。
此功能是实验性的,但内部测试表明它对于典型对话非常有效。
由于令牌限制,如果对话有很长的代码,效果就不太好。
工作原理:
为了能够进行设置,请在主服务器上使用 config 命令:
/chat-gpt-config
然后输入松果配置详细信息。
您可以在 https://app.pinecone.io/ 创建一个帐户。
如果你做得正确,你应该看到类似这样的东西:
默认情况下,机器人的行为就像一个乐于助人的软件工程师。
如果您希望机器人有不同的行为,您可以使用自定义提示。
这可以在专用于机器人的新通道、新的对话线程或 DM 中完成。
如果您有权限,可以使用/chat-gpt-prompt
命令,并且可以通过填写表单为机器人设置自定义提示。
该命令可用于:
温度与OpenAI的温度参数相同。 0 表示它变得重复,1 表示它变得有点混乱。 GPT-Shell 的默认值为 0.8。
我们欢迎对 GPT-Shell 做出贡献。如果您对新功能有想法或发现错误,请在 GitHub 上提出问题。我们也将感谢任何赞助或捐赠。
您可以通过我们的 GitHub 赞助商页面赞助我们。
GPT-Shell 是根据 MIT 许可证发布的。