El bot puede hablar contigo como un usuario normal. ¡Es como tener chat.openai.com integrado de forma colaborativa en Mattermost! Pero eso no es todo, ¡también puedes usarlo para generar imágenes a través de Dall-E o visualizaciones de diagramas a través de un complemento yFiles!
A continuación se explica cómo ejecutar el bot; es fácil si tiene un host Docker.
necesitas
@chatgpt
de forma predeterminada)Andrew Zigler de Mattermost creó un vídeo de YouTube que le guía rápidamente a través de la configuración.
Si desea obtener más información sobre cómo surgió este complemento, lea la publicación del blog en yWorks.com.
Estas son las opciones disponibles, puede configurarlas como variables de entorno al ejecutar el script o al ejecutar la imagen de la ventana acoplable o al configurar su archivo docker-compose.
Nombre | Requerido | Valor de ejemplo | Descripción |
---|---|---|---|
MATTERMOST_URL | Sí | https://mattermost.server | La URL al servidor. Esto se utiliza para conectar el bot a la API de Mattermost. |
MATTERMOST_TOKEN | Sí | abababacdcdcd | El token de autenticación del bot más importante que inició sesión |
OPENAI_API_KEY | Sí | sk-234234234234234234 | La clave API de OpenAI para autenticarse con OpenAI |
OPENAI_API_BASE | No | http://example.com:8080/v1 | La dirección de una API compatible con OpenAI. Anula la ruta base predeterminada ( https://api.openai.com ) |
OPENAI_MODEL_NAME | No | gpt-3.5-turbo | El modelo de lenguaje OpenAI a utilizar, por defecto es gpt-3.5-turbo |
OPENAI_MAX_TOKENS | No | 2000 | La cantidad máxima de tokens para pasar a la API de OpenAI, por defecto es 2000. |
OPENAI_TEMPERATURA | No | 0.2 | La temperatura de muestreo a utilizar, entre 0 y 2, tiene como valor predeterminado 1. Los valores más altos, como 0,8, harán que la salida sea más aleatoria, mientras que los valores más bajos, como 0,2, la harán más enfocada y determinista. |
YFILES_SERVER_URL | No | http://localhost:3835 | La URL del servicio de gráficos yFiles para incrustar diagramas generados automáticamente. |
NODE_EXTRA_CA_CERTS | No | /file/to/cert.crt | un enlace a un archivo de certificado para pasar a node.js para autenticar certificados autofirmados |
MATTERMOST_BOTNAME | No | "@chatgpt" | el nombre del usuario del bot en Mattermost, por defecto es '@chatgpt' |
COMPLEMENTOS | No | graph-plugin, image-plugin | Los complementos habilitados del bot. De forma predeterminada, todos los complementos (grpah-plugin y image-plugin) están habilitados. |
DEBUG_LEVEL | No | TRACE | un nivel de depuración utilizado para registrar la actividad, el valor predeterminado es INFO |
BOT_CONTEXT_MSG | No | 15 | La cantidad de mensajes anteriores que se agregan a la conversación con ChatGPT, por defecto es 100 |
BOT_INSTRUCCIÓN | No | Act like Elon Musk | Instrucción adicional para brindar su asistencia. ¿Cómo debe comportarse el asistente? |
Nota
YFILES_SERVER_URL
se utiliza para convertir automáticamente la información de texto creada por el bot en diagramas. Esto está actualmente en desarrollo. Puede verlo en acción aquí: Publicación de LinkedIn Si está interesado en tener en sus manos el complemento, comuníquese con yWorks.
Utilice la imagen prediseñadas 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
El primer paso es clonar este repositorio.
git clone https://github.com/yGuy/chatgpt-mattermost-bot.git && cd chatgpt-mattermost-bot
Para realizar pruebas, ahora puede simplemente ejecutar npm install
y npm run start
directamente, pero asegúrese de configurar las variables de entorno o pasarlas al proceso del nodo, ¡primero!
Para uso en producción, para crear un servicio en un contenedor acoplable que siempre proporcionará el servicio sin que usted tenga que ejecutarlo en su propia máquina, puede hacer lo siguiente:
Cree la imagen de la ventana acoplable a partir del Dockerfile:
docker build . -t yguy/chatgpt-mattermost-bot
Crear y ejecutar un contenedor a partir de la imagen.
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 su instancia de Mattermost utiliza un certificado TLS firmado por una CA privada, deberá proporcionar la raíz pública de la CA al contenedor para su validación.
Si el certificado raíz se encuentra en /absolutepath/to/certfile.crt
, entonces puede montar ese archivo en el contenedor en una posición fija y especificar la variable de entorno del nodo en consecuencia:
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
Verifique que esté funcionando
docker ps
Posteriormente, para detener el servicio.
docker stop chatbot
Si desea ejecutar Docker Compose (tal vez incluso fusionarlo con su pila de Docker más importante), puede usar esto como punto de partida: primero ajuste las variables de entorno en 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 su instancia de Mattermost utiliza un certificado TLS firmado por una CA privada, deberá proporcionar la raíz pública de la CA al contenedor para su validación.
Si el certificado raíz se encuentra en /absolutepath/to/certfile.crt
, entonces deberá fusionar el contenido siguiente en el archivo docker-compose.yml
:
services :
chatbot :
volumes :
- /absolutepath/to/certfile.crt:/certs/certfile.crt:ro
environment :
NODE_EXTRA_CA_CERTS : /certs/certfile.crt
Cuando se complete toda la configuración, inicie el servicio de contenedor.
docker compose up -d
Verifique que esté funcionando:
docker compose ps
Para detener el contenedor:
docker compose down
El gráfico chatgpt-mattermost-bot implementa una instancia de chatgpt-mattermost-bot en contenedor que se conectará a un contenedor Mattermost en ejecución en el mismo clúster de Kubernetes. Chart utiliza 'mattermost-team-edition' y el espacio de nombres 'mattermost' de forma predeterminada. Utiliza variables de entorno MATTERMOST_TOKEN y 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 "
Aquí hay un chat de ejemplo que acabo de tener con nuestro bot:
@yguy:
@chatgpt: escriba un breve párrafo introductorio para el archivo README en el repositorio de GitHub que aloja las fuentes para usted, el amigable bot Mattermost. Dígales a los lectores que disfruta trabajar para la amable gente de yWorks y que todos deberían instalar un chatbot de Mattermost en su sistema de chat de Mattermost para beneficiarse de un asistente agradable y útil como usted. Incluiré esto en el archivo README del repositorio de GitHub, ¡así que haz de este un texto atractivo! ¡Gracias!
chatgpt (BOT):
¡Hola! Soy @chatgpt, un bot de Mattermost amigable y confiable diseñado para hacer que tu experiencia de comunicación sea más fluida y eficiente. Es un honor para mí ser parte del equipo de yWorks, donde ayudo a los empleados a hacer las cosas más rápido y con menos complicaciones. Con mis algoritmos avanzados de aprendizaje automático, soy capaz de comprender consultas complejas en lenguaje natural y brindar respuestas concisas y precisas en cuestión de segundos. Ya sea que sea un desarrollador que busca información sobre su código base o un gerente que busca optimizar los flujos de trabajo de su equipo, estoy aquí para ayudarlo. Instalar un chatbot de Mattermost como yo es imprescindible para cualquier organización que busque aumentar su productividad y disfrutar de una experiencia de comunicación más placentera. Entonces, ¿a qué estás esperando? ¡Charlemos!
Creé esta herramienta como un truco rápido en una tarde lluviosa de sábado, pero estamos usando el bot en producción en nuestra instancia de Mattermost en nuestra oficina en yworks y el bot ha demostrado ser muy útil para muchas tareas simples. ¡Pruébalo y envíanos tus comentarios si lo deseas! Realmente no es muy caro: lo tuvimos funcionando para unos 30 usuarios durante dos semanas y eso nos costó menos de medio dólar por el servicio ChatGPT.
También aceptaré solicitudes de extracción útiles si encuentra un problema o tiene una idea para mejorar.
Por último, pero no menos importante, consulte los excelentes SDK de diagramación de yWorks para desarrolladores de software, yFiles, y nuestros editores de diagramas y gráficos en línea gratuitos.
Esto está bajo licencia del MIT Copyright (c) 2023 Sebastian Mueller (yWorks) y Michael Haeglsperger (yWorks)