Dieses Repository enthält einen C#-basierten Slack-GPT-Bot, der das OpenAI-GPT-Modell verwendet, um die Fragen der Benutzer zu beantworten. Die Implementierung basiert auf Slack Sockets API, was bedeutet, dass der Bot nicht auf einem Server hosten muss. Der Bot kann auf jeder Maschine ausgeführt werden.
Hat dir dieses Tool gefallen? Geben Sie uns einen Besuch :) https://prographers.com//
-context
OpenAIKey
-Variable in appsettings.json
ein.Hinweis: Die Verwendung der OpenAI -API erfordert ein bezahltes/Testkonto. Weitere Informationen zu Preisgestaltung finden Sie hier.
Bevor Sie den Slack GPT -Bot ausführen können, müssen Sie die entsprechenden Berechtigungen für Ihren Slack -Bot konfigurieren. Befolgen Sie diese Schritte, um die erforderlichen Berechtigungen einzurichten:
app_mentions:read
: Ermöglicht dem Bot, erwähnte Ereignisse zu lesen.chat:write
: Ermöglicht dem Bot Nachrichten.groups:history
: Ermöglicht dem Bot, Nachrichten in privaten Kanälen zu lesen.channels:history
: Ermöglicht dem Bot, Nachrichten in öffentlichen Kanälen zu lesen.SlackBotToken
.SlackAppToken
und fügen Sie die connections:write
den Bereich.app_mention
-Ereignis mit den app_mentions:read
den Abschnitt "Abonnieren von Bot -Ereignissen" unterhalb des Umschusses. dotnet run --project Slack-GPT-Socket
Oder finden Sie #Docker, um weitere Informationen zum Hosting zu erhalten.
Sie können Ihre Nachricht mit dem Namen des Modells ohne Parameter z. B. starten:
@GPT-4 Turbo Wie geht es dir heute?
Verwendet GPT-3.5-Turbo anstelle des Standard-GPT-4-Modells. Weitere Aliase finden Sie in GPTClient.
Es gibt einige integrierte Parameter. Verwenden Sie /gpt help
um sie zu sehen. Sie können die Parameter in appsettings.json
-Datei oder pro Anforderung ändern.
Weitere Informationen zu den Standardeinstellungen oder appsettings.Example.json
finden Sie unter gptdefaults.cs.
Vordefinierte Befehle
Sie können Ihnen den Bot für benutzerdefinierte Parameter hinzufügen, um die Eingabe für jede abgegebene Anforderung zu minimieren. Fügen Sie dazu die IT -Definition in den Abschnitt GptCommands
in appsettings.json
hinzu. Zum Beispiel:
"GptCommands" : {
"Commands" : [
{
"Command" : " -refactor " ,
"Description" : " Tells GPT to refactor provided code " ,
"Prompt" : " Given the following code, refactor it to be more readable and maintainable. Please provide code documentation for all members in the code and comments where appropriate. "
},
{
"Command" : " -prographers " ,
"Description" : " A command to add infomation about Prographers " ,
"Prompt" : " Prographers is software-house company that specializes in 3D product configurators. Prographers exists since 2016 and currently hires around 20 people. Prographers solutions focus on Web applications that are used by companies to configure their products. Applications produced are focusing on high-quality graphics and design, resulting in great products that customers awe. Prographers is located in Warsaw, Poland. "
}
}
Verwendung:
@GPT -4 -PROBROPROREL Was wissen Sie über Prographen?
@Gpt -4 -refactor
public class Foo { public void Bar() { Console.WriteLine("Hello World"); } }
Dynamische Befehle
In ähnlicher Weise können Sie dynamische Befehle erstellen. Rufen Sie dazu die /gpt commands add -command "prompt" "description" -global
-Befehl mit dem Befehlsnamen und der Eingabeaufforderung hin.
-command
wie dieser Befehl aufgerufen wird. EG: -prographers
-prompt
die Eingabeaufforderung, die für diesen Befehl verwendet wird. EG: Prographers is software-house company...
-description
Die Beschreibung des Befehls. ZB: A command to add infomation about Prographers
Dies ist optional.-global
Flag wird den Befehl allen Benutzern zur Verfügung stellen. Andernfalls ist es für den Benutzer verfügbar, der es erstellt hat. Verwenden Sie /gpt commands help
um weitere Informationen über die Befehle anzuzeigen.
Sie können den Docker -Container mit dem folgenden Befehl starten:
docker run -v ./appsettings.json:/app/appsettings.json --restart always ghcr.io/prographers/slack-gpt:latest
Sie können auch die Datei docker-compose.yml
verwenden, um den Container abzulösen. Docker Compose zieht das Bild automatisch aus der GitHub -Containerregistrierung und startet den Container, wenn dies geschieht. Es wird Wachtturm verwenden, um dies zu tun.
docker-compose up -d
Bitte denken Sie daran, die Datei appsettings.json in das gleiche Verzeichnis wie den Befehl für beide Fälle zu setzen.
Beide Bilder werden an keiner Port aufgenommen und können von außen nicht zugegriffen werden. Die einzige Möglichkeit, auf den Container zuzugreifen, ist die Slack -API. Der Container wird auch als Nicht-Root-Benutzer ausgeführt und hat keinen Zugriff auf das Hostsystem.
git clone https://github.com/Prographers/Slack-GPT.git
cd Slack-GPT
dotnet restore
Benachrichtigungsnachrichten!
Fadenunterstützung!
Fehlermeldungen!