❗ Die neue Version von GPT-Shell heißt Erin! Erfahren Sie mehr auf Erins Website! ❗ |
---|
GPT-Shell ist ein OpenAI-basierter Chatbot, der dem ChatGPT von OpenAI ähnelt.
Es ermöglicht Benutzern, sich mit einem virtuellen Begleiter zu unterhalten. Es verwendet NodeJS und Typescript sowie modernes Garn, um ein nahtloses Gesprächserlebnis zu schaffen.
Es kann auch Bilder basierend auf Ihrem Gespräch generieren!
Sie können den Bot auf dem offiziellen Discord-Server ausprobieren:
Um mit GPT-Shell zu interagieren, können Benutzer:
/chat-gpt
um eine Konversation mit dem Bot zu beginnen Der Befehl /chat-gpt
startet einen neuen Konversationsthread und wann immer der Benutzer etwas eingibt, antwortet der Bot.
Der Bot ist in der Lage, mehrere Konversationen gleichzeitig zu verwalten, sodass Sie so viele Konversationen starten können, wie Sie möchten.
Richten Sie hier einen Discord-Bot ein und fügen Sie ihn Ihrem Server hinzu.
Geltungsbereiche:
Bot-Berechtigungen:
Sie müssen außerdem den Message Content Intent aktivieren:
Sie können versuchen, die Antwort hier zu forken
Oder Sie können es auf Ihrem Computer einrichten.
Nodejs: (18 oder höher)
Garn: (nach der Installation von nodejs)
pm2: Damit Ihr Bot auch nach dem Abschalten Ihres Terminals am Leben bleibt.
Um GPT-Shell zu verwenden, müssen Sie Folgendes tun:
git clone https://github.com/firtoz/GPT-Shell.git
cd GPT-Shell
(Klicken Sie unter Windows mit der rechten Maustaste irgendwo in den Ordner und wählen Sie „Im Terminal öffnen“). Wenn Sie etwas über PowerShell sehen, geben Sie cmd
ein und drücken Sie die Eingabetaste, um zum einfacheren Befehlszeilenterminal zu gelangen.
yarn install
Die folgenden Umgebungsvariablen sind erforderlich, damit GPT-Shell ordnungsgemäß funktioniert.
Sie können die Umgebungsvariablen beliebig festlegen oder eine .env.local-Datei im Stammverzeichnis Ihres Projekts platzieren ( example.env.local
in .env.local
umbenennen). Stellen Sie sicher, dass Ihre .env.local
Datei so aussieht :
# 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
oder alles verwenden, was Ihnen gefällt.Bot-Token:
Befehle:
Details zum Discord-Server:
MAIN_SERVER_ID: Der Discord-Server, auf dem der Bot lebt
LOG_CHANNEL_ID: (Optional) Der Kanal für Protokollnachrichten
MAIN_SERVER_INVITE: (Optional) Der im Idealfall nicht ablaufende Servereinladungslink (wenn Sie möchten, dass Benutzer den Bot zu ihrem Server hinzufügen)
USE_SAME_API_KEY_FOR_ALL: (Optional) Wenn es auf „true“ gesetzt ist, kann jeder Server oder Benutzer den Bot verwenden, ohne eigene API-Schlüssel bereitstellen zu müssen.
ADMIN_PING_ID: Discord-ID des Bot-Besitzers (das sind Sie!)
Damit können Sie einige spezielle Befehle senden und den Bot konfigurieren.
IGNORE_INIT: (Optional) Wenn auf „true“ gesetzt, werden aktive Threads beim Start nicht auf neue Nachrichten überprüft, seit der Bot das letzte Mal online war. Wenn Sie sich auf vielen Servern befinden, gibt es möglicherweise viele aktive Threads, sodass die Geschwindigkeit begrenzt wäre. In diesem Fall ist es besser, Nachrichten so zu bearbeiten, wie sie eingehen, anstatt viele Threads gleichzeitig zu prüfen.
Extras:
WOLFRAM_APP_ID: Wird für die Wolfram Alpha-Fähigkeit verwendet.
Sie können unter https://developer.wolframalpha.com/portal/myapps eine App erstellen und deren ID abrufen.
Richten Sie die Umgebungsvariablen wie oben beschrieben ein.
Mit Garn:
yarn global add pm2
Mit npm:
npm install pm2 -g
Verwenden Sie unter Debian das Installationsskript:
apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | sudo -E bash -
yarn dev
Auf diese Weise wird der Bot bei jeder Änderung des Codes neu gestartet, um die Aktualisierung durchzuführen.
yarn build
und dann
yarn start
Sie können auch npm start
oder npm run start
ausführen, um den Bot zu starten.
HINWEIS: Durch Ausführen von yarn start
, npm start
oder npm run start
wird der Bot mit PM2 gestartet und erhält den Namen „GPT-Shell“. Sie können „GPT-Shell“ in package.json durch einen Namen Ihrer Wahl ersetzen. Außerdem werden Protokolle für die laufenden PM2-Prozesse angezeigt und gespeichert.
Wenn Sie sich in einer Entwicklungsumgebung befinden, verwenden Sie node .
So testen Sie Ihren Code:
node .
Sobald Sie mit den Änderungen zufrieden sind, führen Sie Folgendes aus:
pm2 restart GPT-Shell && pm2 logs
Um den Bot zu stoppen, führen Sie Folgendes aus:
yarn run stop
Sie können es auch über das pm2.io-Dashboard neu starten, wie unten gezeigt:
Gehen Sie zu Ihrem Server, geben Sie den Befehl config ein und legen Sie mithilfe der Konfiguration den API-Schlüssel für Ihren Server fest.
/chat-gpt-config
Ab 2.0.0 verfügt der Bot über die Fähigkeit, ein Langzeitgedächtnis zu haben.
Diese Funktionalität ist experimentell, aber interne Tests zeigen, dass sie für typische Gespräche recht gut funktioniert.
Funktioniert aufgrund von Token-Einschränkungen nicht so gut, wenn die Konversation lange Codeteile enthält.
So funktioniert es:
Um dies einzurichten, verwenden Sie den Befehl config auf dem Hauptserver:
/chat-gpt-config
Geben Sie dann die Konfigurationsdetails für den Tannenzapfen ein.
Sie können ein Konto unter https://app.pinecone.io/ erstellen.
Wenn Sie es richtig gemacht haben, sollten Sie etwa Folgendes sehen:
Standardmäßig verhält sich der Bot wie ein hilfsbereiter Softwareentwickler.
Wenn Sie möchten, dass sich der Bot anders verhält, können Sie eine benutzerdefinierte Eingabeaufforderung verwenden.
Dies kann in einem neuen, dem Bot gewidmeten Kanal, einem neuen Konversationsthread oder in Direktnachrichten erfolgen.
Sie können den Befehl /chat-gpt-prompt
verwenden, wenn Sie über die entsprechenden Berechtigungen verfügen, und Sie können die benutzerdefinierte Eingabeaufforderung für den Bot festlegen, indem Sie das Formular ausfüllen.
Dieser Befehl kann verwendet werden in:
Die Temperatur entspricht dem Temperaturparameter von OpenAI. 0 bedeutet, dass es sich wiederholt, 1 bedeutet, dass es etwas chaotisch wird. Der Standardwert ist 0,8 für GPT-Shell.
Wir freuen uns über Beiträge zu GPT-Shell. Wenn Sie eine Idee für eine neue Funktion haben oder einen Fehler gefunden haben, öffnen Sie bitte ein Issue auf GitHub. Wir würden uns auch über jede Patenschaft oder Spende freuen.
Sie können uns hier über unsere GitHub-Sponsorenseite sponsern.
GPT-Shell wird unter der MIT-Lizenz veröffentlicht.