Le bot peut vous parler comme un utilisateur ordinaire. C'est comme si chat.openai.com était construit de manière collaborative dans Mattermost ! Mais ce n'est pas tout, vous pouvez également l'utiliser pour générer des images via Dall-E ou des visualisations de diagrammes via un plugin yFiles !
Voici comment faire fonctionner le bot – c’est simple si vous disposez d’un hôte Docker.
Vous avez besoin
@chatgpt
par défaut)Andrew Zigler de Mattermost a créé une vidéo YouTube qui vous guide rapidement tout au long de la configuration.
Si vous souhaitez en savoir plus sur la création de ce plugin, lisez l'article de blog sur yWorks.com !
Ce sont les options disponibles, vous pouvez les définir comme variables d'environnement lors de l'exécution du script ou lors de l'exécution de l'image docker ou lors de la configuration de votre fichier docker-compose.
Nom | Requis | Exemple de valeur | Description |
---|---|---|---|
MATTERMOST_URL | Oui | https://mattermost.server | L'URL du serveur. Ceci est utilisé pour connecter le bot à l'API Mattermost |
MATTERMOST_TOKEN | Oui | abababacdcdcd | Le jeton d'authentification du bot le plus important connecté |
OPENAI_API_KEY | Oui | sk-234234234234234234 | La clé API OpenAI pour s'authentifier avec OpenAI |
OPENAI_API_BASE | Non | http://example.com:8080/v1 | L'adresse d'une API compatible OpenAI. Remplace le chemin de base par défaut ( https://api.openai.com ) |
OPENAI_MODEL_NAME | Non | gpt-3.5-turbo | Le modèle de langage OpenAI à utiliser, par défaut gpt-3.5-turbo |
OPENAI_MAX_TOKENS | Non | 2000 | Le nombre maximum de jetons à transmettre à l'API OpenAI, par défaut 2 000 |
OPENAI_TEMPERATURE | Non | 0.2 | La température d'échantillonnage à utiliser, entre 0 et 2, est par défaut de 1. Des valeurs plus élevées comme 0,8 rendront la sortie plus aléatoire, tandis que des valeurs plus faibles comme 0,2 la rendront plus ciblée et déterministe. |
YFILES_SERVER_URL | Non | http://localhost:3835 | L'URL du service graphique yFiles pour l'intégration de diagrammes générés automatiquement. |
NODE_EXTRA_CA_CERTS | Non | /file/to/cert.crt | un lien vers un fichier de certificat à transmettre à node.js pour authentifier les certificats auto-signés |
MATTERMOST_BOTNAME | Non | "@chatgpt" | le nom de l'utilisateur du bot dans Mattermost, par défaut '@chatgpt' |
PLUGINS | Non | graph-plugin, image-plugin | Les plugins activés du bot. Par défaut, tous les plugins (grpah-plugin et image-plugin) sont activés. |
DEBUG_LEVEL | Non | TRACE | un niveau de débogage utilisé pour l'activité de journalisation, par défaut INFO |
BOT_CONTEXT_MSG | Non | 15 | Le nombre de messages précédents ajoutés à la conversation avec ChatGPT est par défaut de 100. |
BOT_INSTRUCTION | Non | Act like Elon Musk | Instruction supplémentaire pour apporter votre aide. Comment l’assistant doit-il se comporter ? |
Remarque
YFILES_SERVER_URL
est utilisé pour convertir automatiquement les informations textuelles créées par le bot en diagrammes. Ceci est actuellement en développement. Vous pouvez le voir en action ici : LinkedIn Post Si vous souhaitez mettre la main sur le plugin, veuillez contacter yWorks !
Utilisez l'image prédéfinie de 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
La première étape consiste à cloner ce dépôt.
git clone https://github.com/yGuy/chatgpt-mattermost-bot.git && cd chatgpt-mattermost-bot
Pour les tests, vous pouvez maintenant simplement exécuter npm install
et npm run start
directement, mais assurez-vous d'abord de définir les variables d'environnement ou de les transmettre au processus de nœud !
Pour une utilisation en production, afin de créer un service sur un conteneur Docker qui fournira toujours le service sans que vous ayez à l'exécuter sur votre propre machine, vous pouvez procéder comme suit :
Créez l'image Docker à partir du Dockerfile :
docker build . -t yguy/chatgpt-mattermost-bot
Créer et exécuter un conteneur à partir de l'image
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
Si votre instance Mattermost utilise un certificat TLS signé par une autorité de certification privée, vous devrez fournir la racine publique de l'autorité de certification au conteneur pour validation.
Si le certificat racine se trouve dans /absolutepath/to/certfile.crt
, vous pouvez alors monter ce fichier dans le conteneur à une position fixe et spécifier la variable d'environnement du nœud en conséquence :
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
Vérifiez qu'il fonctionne
docker ps
Plus tard, pour arrêter le service
docker stop chatbot
Si vous souhaitez exécuter Docker Compose (peut-être même le fusionner avec votre pile Docker la plus importante), vous pouvez l'utiliser comme point de départ : ajustez d'abord les variables d'environnement dans docker-compose.yml
.
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
Si votre instance Mattermost utilise un certificat TLS signé par une autorité de certification privée, vous devrez fournir la racine publique de l'autorité de certification au conteneur pour validation.
Si le certificat racine se trouve dans /absolutepath/to/certfile.crt
, vous fusionnerez le contenu ci-dessous dans le fichier docker-compose.yml
:
services :
chatbot :
volumes :
- /absolutepath/to/certfile.crt:/certs/certfile.crt:ro
environment :
NODE_EXTRA_CA_CERTS : /certs/certfile.crt
Une fois toute la configuration terminée, démarrez le service de conteneur.
docker compose up -d
Vérifiez qu'il fonctionne :
docker compose ps
Pour arrêter le conteneur :
docker compose down
Le graphique chatgpt-mattermost-bot déploie une instance chatgpt-mattermost-bot conteneurisée qui se connectera à un conteneur Mattermost en cours d'exécution dans le même cluster Kubernetes. Chart utilise par défaut « mattermost-team-edition » et l'espace de noms « mattermost ». Utilise les variables d'environnement MATTERMOST_TOKEN et 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 "
Voici un exemple de discussion que je viens d'avoir avec notre bot :
@yguy :
@chatgpt - veuillez écrire un court paragraphe d'introduction pour le README dans le dépôt GitHub qui héberge les sources pour vous, le sympathique bot Mattermost. Dites aux lecteurs que vous aimez travailler pour les gens sympas de yWorks et que tout le monde devrait installer un chatbot Mattermost dans son système de chat Mattermost pour bénéficier d'un assistant sympathique et utile comme vous. Je vais l'inclure dans le README sur le dépôt GitHub, alors faites-en un texte engageant ! Merci!
chatgpt (BOT) :
Bonjour! Je m'appelle @chatgpt, un bot Mattermost convivial et fiable conçu pour rendre votre expérience de communication plus fluide et plus efficace. Je suis honoré de faire partie de l'équipe de yWorks, où j'aide les employés à faire avancer les choses plus rapidement et avec moins de tracas. Grâce à mes algorithmes avancés d'apprentissage automatique, je suis capable de comprendre des requêtes complexes en langage naturel et de fournir des réponses succinctes et précises en quelques secondes. Que vous soyez un développeur recherchant des informations sur votre base de code ou un responsable cherchant à rationaliser les flux de travail de votre équipe, je suis là pour vous aider. Installer un chatbot Mattermost comme moi est un incontournable pour toute organisation cherchant à augmenter sa productivité et à profiter d'une expérience de communication plus agréable. Alors qu'est-ce que tu attends ? Discutons !
J'ai construit cet outil comme un hack rapide un samedi après-midi pluvieux, mais nous utilisons le bot en production dans notre instance Mattermost dans notre bureau de yworks et le bot s'est avéré très utile pour de nombreuses tâches simples. Essayez-le et donnez votre avis si vous le souhaitez ! Ce n'est vraiment pas très cher : nous l'avons fait fonctionner pour environ 30 utilisateurs pendant deux semaines et cela nous a coûté moins d'un demi-dollar pour le service ChatGPT !
J'accepterai également les demandes de tirage utiles si vous rencontrez un problème ou si vous avez une idée d'amélioration.
Enfin et surtout, consultez les SDK de création de diagrammes de yWorks pour les développeurs de logiciels yFiles et nos éditeurs de graphiques et de diagrammes en ligne gratuits !
Ceci est sous licence MIT Copyright (c) 2023 Sebastian Mueller (yWorks) et Michael Haeglsperger (yWorks)