Der Bot kann wie ein normaler Mattermost-Benutzer mit Ihnen sprechen. Es ist, als hätte man chat.openai.com gemeinsam in Mattermost integriert! Aber das ist noch nicht alles, Sie können damit auch Bilder über Dall-E oder Diagrammvisualisierungen über ein yFiles-Plugin generieren!
So bringen Sie den Bot zum Laufen – das ist ganz einfach, wenn Sie einen Docker-Host haben.
Du brauchst
@chatgpt
)Andrew Zigler von Mattermost hat ein YouTube-Video erstellt, das Sie schnell durch die Einrichtung führt.
Wenn Sie mehr darüber erfahren möchten, wie dieses Plugin ins Leben gerufen wurde, lesen Sie den Blogbeitrag auf yWorks.com!
Dies sind die verfügbaren Optionen. Sie können sie als Umgebungsvariablen festlegen, wenn Sie das Skript oder das Docker-Image ausführen oder Ihre Docker-Compose-Datei konfigurieren.
Name | Erforderlich | Beispielwert | Beschreibung |
---|---|---|---|
MATTERMOST_URL | Ja | https://mattermost.server | Die URL zum Server. Dies wird verwendet, um den Bot mit der Mattermost API zu verbinden |
MATTERNOST_TOKEN | Ja | abababacdcdcd | Am wichtigsten ist das Authentifizierungstoken des angemeldeten Bots |
OPENAI_API_KEY | Ja | sk-234234234234234234 | Der OpenAI-API-Schlüssel zur Authentifizierung bei OpenAI |
OPENAI_API_BASE | NEIN | http://example.com:8080/v1 | Die Adresse einer OpenAI-kompatiblen API. Überschreibt den Standard-Basispfad ( https://api.openai.com ) |
OPENAI_MODEL_NAME | NEIN | gpt-3.5-turbo | Das zu verwendende OpenAI-Sprachmodell ist standardmäßig gpt-3.5-turbo |
OPENAI_MAX_TOKENS | NEIN | 2000 | Die maximale Anzahl der an die OpenAI-API zu übergebenden Token beträgt standardmäßig 2000 |
OPENAI_TEMPERATURE | NEIN | 0.2 | Die zu verwendende Probenahmetemperatur liegt zwischen 0 und 2 und ist standardmäßig 1. Höhere Werte wie 0,8 machen die Ausgabe zufälliger, während niedrigere Werte wie 0,2 sie fokussierter und deterministischer machen. |
YFILES_SERVER_URL | NEIN | http://localhost:3835 | Die URL zum yFiles-Grafikdienst zum Einbetten automatisch generierter Diagramme. |
NODE_EXTRA_CA_CERTS | NEIN | /file/to/cert.crt | ein Link zu einer Zertifikatsdatei, die zur Authentifizierung selbstsignierter Zertifikate an node.js übergeben wird |
MATTERNOST_BOTNAME | NEIN | "@chatgpt" | der Name des Bot-Benutzers in Mattermost, standardmäßig „@chatgpt“ |
Plugins | NEIN | graph-plugin, image-plugin | Die aktivierten Plugins des Bots. Standardmäßig sind alle Plugins (grpah-plugin und image-plugin) aktiviert. |
DEBUG_LEVEL | NEIN | TRACE | Eine Debug-Ebene, die zum Protokollieren von Aktivitäten verwendet wird. Der Standardwert ist INFO |
BOT_CONTEXT_MSG | NEIN | 15 | Die Anzahl der vorherigen Nachrichten, die mit ChatGPT an die Konversation angehängt werden, beträgt standardmäßig 100 |
BOT_INSTRUCTION | NEIN | Act like Elon Musk | Zusätzliche Anweisung, Ihnen zu helfen. Wie soll sich der Assistent verhalten? |
Hinweis: Die
YFILES_SERVER_URL
wird zum automatischen Konvertieren von vom Bot erstellten Textinformationen in Diagramme verwendet. Dies befindet sich derzeit in der Entwicklung. Sie können es hier in Aktion sehen: LinkedIn-Beitrag Wenn Sie daran interessiert sind, das Plugin in die Hände zu bekommen, kontaktieren Sie bitte yWorks!
Verwenden Sie das vorgefertigte Image von ghcr.io/yguy/chatgpt-mattermost-bot
docker run -d --restart unless-stopped
-e MATTERMOST_URL=https://mattermost.server
-e MATTERMOST_TOKEN=abababacdcdcd
-e OPENAI_API_KEY=234234234234234234
--name chatbot
ghcr.io/yguy/chatgpt-mattermost-bot:latest
Der erste Schritt besteht darin, dieses Repo zu klonen.
git clone https://github.com/yGuy/chatgpt-mattermost-bot.git && cd chatgpt-mattermost-bot
Zum Testen können Sie jetzt einfach npm install
und npm run start
direkt ausführen. Stellen Sie jedoch sicher, dass Sie zuerst die Umgebungsvariablen festlegen oder sie an den Knotenprozess übergeben!
Für den Produktionseinsatz können Sie Folgendes tun, um einen Dienst auf einem Docker-Container zu erstellen, der den Dienst immer bereitstellt, ohne dass Sie ihn auf Ihrem eigenen Computer ausführen müssen:
Erstellen Sie das Docker-Image aus der Docker-Datei:
docker build . -t yguy/chatgpt-mattermost-bot
Erstellen Sie einen Container aus dem Image und führen Sie ihn aus
docker run -d --restart unless-stopped
-e MATTERMOST_URL=https://mattermost.server
-e MATTERMOST_TOKEN=abababacdcdcd
-e OPENAI_API_KEY=234234234234234234
--name chatbot
yguy/chatgpt-mattermost-bot
Wenn Ihre Mattermost-Instanz ein von einer privaten Zertifizierungsstelle signiertes TLS-Zertifikat verwendet, müssen Sie dem Container zur Validierung das öffentliche Stammverzeichnis der Zertifizierungsstelle bereitstellen.
Wenn sich das Stammzertifikat unter /absolutepath/to/certfile.crt
befindet, können Sie diese Datei an einer festen Position im Container bereitstellen und die Knotenumgebungsvariable entsprechend angeben:
docker run -d --restart unless-stopped
-v /absolutepath/to/certfile.crt:/certs/certfile.crt
-e NODE_EXTRA_CA_CERTS=/certs/certfile.crt
-e MATTERMOST_URL=https://mattermost.server
-e MATTERMOST_TOKEN=abababacdcdcd
-e OPENAI_API_KEY=234234234234234234
--name chatbot
yguy/chatgpt-mattermost-bot
Überprüfen Sie, ob es ausgeführt wird
docker ps
Später, um den Dienst zu beenden
docker stop chatbot
Wenn Sie Docker Compose ausführen möchten (vielleicht sogar mit Ihrem wichtigsten Docker-Stack zusammenführen), können Sie dies als Ausgangspunkt verwenden: Passen Sie zunächst die Umgebungsvariablen in docker-compose.yml
an.
MATTERMOST_URL : https://mattermost.server
MATTERMOST_TOKEN : abababacdcdcd
OPENAI_API_KEY : sk-234234234234234234
# Set this if using a custom username for the bot, default = @chatgpt
MATTERMOST_BOTNAME : " @chatgpt "
# Console logging output level, default = INFO
DEBUG_LEVEL : TRACE
# Node environment, default = production
NODE_ENV : production
Wenn Ihre Mattermost-Instanz ein von einer privaten Zertifizierungsstelle signiertes TLS-Zertifikat verwendet, müssen Sie dem Container zur Validierung das öffentliche Stammverzeichnis der Zertifizierungsstelle bereitstellen.
Wenn sich das Stammzertifikat unter /absolutepath/to/certfile.crt
befindet, würden Sie den folgenden Inhalt in die Datei docker-compose.yml
einbinden:
services :
chatbot :
volumes :
- /absolutepath/to/certfile.crt:/certs/certfile.crt:ro
environment :
NODE_EXTRA_CA_CERTS : /certs/certfile.crt
Wenn die gesamte Konfiguration abgeschlossen ist, starten Sie den Containerdienst.
docker compose up -d
Überprüfen Sie, ob es ausgeführt wird:
docker compose ps
So stoppen Sie den Container:
docker compose down
Das Chatgpt-Mattermost-Bot-Diagramm stellt eine containerisierte Chatgpt-Mattermost-Bot-Instanz bereit, die eine Verbindung zu einem laufenden Mattermost-Container im selben Kubernetes-Cluster herstellt. Chart verwendet standardmäßig „mattermost-team-edition“ und den Namensraum „mattermost“. Verwendet die Umgebungsvariablen MATTERNOST_TOKEN und OPENAI_API_KEY.
helm upgrade chatgpt-mattermost-bot ./helm/chatgpt-mattermost-bot
--create-namespace
--install
-n mattermost
-f ./helm/chatgpt-mattermost-bot/values.yaml
--set config.MATTERMOST_TOKEN= " $MATTERMOST_TOKEN "
--set config.OPENAI_API_KEY= " $OPENAI_API_KEY "
Hier ist ein Beispiel-Chat, den ich gerade mit unserem Bot geführt habe:
@yguy:
@chatgpt – bitte schreiben Sie einen kurzen einleitenden Absatz für die README-Datei im GitHub-Repo, das die Quellen für Sie, den freundlichen Mattermost-Bot, hostet. Sagen Sie den Lesern, dass es Ihnen Spaß macht, für die netten Leute bei yWorks zu arbeiten, und dass jeder einen Mattermost-Chatbot in seinem Mattermost-Chat-System installieren sollte, um von einem netten und hilfsbereiten Assistenten wie Ihnen zu profitieren. Ich werde dies in die README-Datei im GitHub-Repo aufnehmen, also machen Sie daraus einen ansprechenden Text! Danke!
chatgpt (BOT):
Hallo! Ich bin @chatgpt, ein freundlicher und zuverlässiger Mattermost-Bot, der Ihre Kommunikation reibungsloser und effizienter gestalten soll. Es ist mir eine Ehre, Teil des Teams von yWorks zu sein, wo ich Mitarbeitern dabei helfe, Dinge schneller und mit weniger Aufwand zu erledigen. Mit meinen fortschrittlichen Algorithmen für maschinelles Lernen bin ich in der Lage, komplexe Abfragen in natürlicher Sprache zu verstehen und in Sekundenschnelle prägnante und genaue Antworten zu geben. Egal, ob Sie als Entwickler nach Informationen zu Ihrer Codebasis suchen oder als Manager die Arbeitsabläufe Ihres Teams optimieren möchten, ich bin hier, um Ihnen zu helfen. Die Installation eines Mattermost-Chatbots wie mir ist ein Muss für jedes Unternehmen, das seine Produktivität steigern und ein angenehmeres Kommunikationserlebnis genießen möchte. Worauf warten Sie noch? Lass uns chatten!
Ich habe dieses Tool als schnellen Hack an einem regnerischen Samstagnachmittag erstellt, aber wir verwenden den Bot in der Produktion in unserer Mattermost-Instanz in unserem Büro bei yworks und der Bot hat sich bei vielen einfachen Aufgaben als sehr hilfreich erwiesen. Probieren Sie es aus und geben Sie uns Feedback, wenn Sie möchten! Es ist wirklich nicht sehr teuer: Wir haben es zwei Wochen lang für etwa 30 Benutzer laufen lassen und das hat uns weniger als einen halben Dollar für den ChatGPT-Dienst gekostet!
Ich nehme auch hilfreiche Pull-Requests entgegen, wenn Sie ein Problem finden oder eine Idee für eine Verbesserung haben.
Schauen Sie sich zu guter Letzt die feinen Diagramm-SDKs von yWorks für Softwareentwickler, yFiles, und unsere kostenlosen Online-Grafik- und Diagrammeditoren an!
Dies steht unter MIT-Lizenz. Copyright (c) 2023 Sebastian Mueller (yWorks) und Michael Haeglsperger (yWorks)