O bot pode falar com você como um usuário normal. É como ter chat.openai.com construído de forma colaborativa no Mattermost! Mas isso não é tudo, você também pode usá-lo para gerar imagens via Dall-E ou visualizações de diagramas através de um plugin yFiles!
Veja como colocar o bot em execução – é fácil se você tiver um host Docker.
Você precisa
@chatgpt
por padrão)Andrew Zigler, do Mattermost, criou um vídeo no YouTube que orienta você rapidamente durante a configuração.
Se você quiser saber mais sobre como esse plugin surgiu, leia a postagem do blog em yWorks.com!
Estas são as opções disponíveis, você pode defini-las como variáveis de ambiente ao executar o script ou ao executar a imagem do docker ou ao configurar seu arquivo docker-compose.
Nome | Obrigatório | Valor de exemplo | Descrição |
---|---|---|---|
MATTERMOST_URL | sim | https://mattermost.server | A URL para o servidor. Isso é usado para conectar o bot à API Mattermost |
MATTERMOST_TOKEN | sim | abababacdcdcd | O token de autenticação do bot mais importante conectado |
OPENAI_API_KEY | sim | sk-234234234234234234 | A chave da API OpenAI para autenticação com OpenAI |
OPENAI_API_BASE | não | http://example.com:8080/v1 | O endereço de uma API compatível com OpenAI. Substitui o caminho base padrão ( https://api.openai.com ) |
OPENAI_MODEL_NAME | não | gpt-3.5-turbo | O modelo de linguagem OpenAI a ser usado, o padrão é gpt-3.5-turbo |
OPENAI_MAX_TOKENS | não | 2000 | O número máximo de tokens a serem passados para a API OpenAI, o padrão é 2.000 |
OPENAI_TEMPERATURE | não | 0.2 | A temperatura de amostragem a ser usada, entre 0 e 2, é padronizada como 1. Valores mais altos, como 0,8, tornarão a saída mais aleatória, enquanto valores mais baixos, como 0,2, a tornarão mais focada e determinística. |
YFILES_SERVER_URL | não | http://localhost:3835 | A URL para o serviço gráfico yFiles para incorporar diagramas gerados automaticamente. |
NODE_EXTRA_CA_CERTS | não | /file/to/cert.crt | um link para um arquivo de certificado para passar para node.js para autenticar certificados autoassinados |
MATTERMOST_BOTNAME | não | "@chatgpt" | o nome do usuário do bot no Mattermost, o padrão é '@chatgpt' |
PLUGINS | não | graph-plugin, image-plugin | Os plug-ins habilitados do bot. Por padrão, todos os plugins (grpah-plugin e image-plugin) estão habilitados. |
DEBUG_LEVEL | não | TRACE | um nível de depuração usado para registrar atividades, o padrão é INFO |
BOT_CONTEXT_MSG | não | 15 | O número de mensagens anteriores anexadas à conversa com ChatGPT é 100 por padrão |
BOT_INSTRUCTION | não | Act like Elon Musk | Instruções extras para dar sua assistência. Como o assistente deve se comportar? |
Nota O
YFILES_SERVER_URL
é usado para converter automaticamente informações de texto criadas pelo bot em diagramas. Isso está atualmente em desenvolvimento. Você pode vê-lo em ação aqui: LinkedIn Post Se você estiver interessado em colocar as mãos no plugin, entre em contato com yWorks!
Use a imagem pré-construída 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
O primeiro passo é clonar este repositório.
git clone https://github.com/yGuy/chatgpt-mattermost-bot.git && cd chatgpt-mattermost-bot
Para teste, agora você pode simplesmente executar npm install
e npm run start
diretamente, mas certifique-se de definir as variáveis de ambiente ou passá-las para o processo do nó primeiro!
Para uso em produção, para criar um serviço em um contêiner docker que sempre fornecerá o serviço sem que você precise executá-lo em sua própria máquina, você pode fazer o seguinte:
Crie a imagem do Docker a partir do Dockerfile:
docker build . -t yguy/chatgpt-mattermost-bot
Crie e execute um contêiner a partir da imagem
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
Se a sua instância do Mattermost usar um certificado TLS assinado por uma CA privada, você precisará fornecer a raiz pública da CA ao contêiner para validação.
Se o certificado raiz estiver localizado em /absolutepath/to/certfile.crt
, você poderá montar esse arquivo no contêiner em uma posição fixa e especificar a variável de ambiente do nó adequadamente:
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 se está em execução
docker ps
Mais tarde, para interromper o serviço
docker stop chatbot
Se você deseja executar o docker compose (talvez até mesclá-lo com sua pilha docker mais importante), você pode usar isto como ponto de partida: Primeiro ajuste as variáveis de ambiente em 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
Se a sua instância do Mattermost usar um certificado TLS assinado por uma CA privada, você precisará fornecer a raiz pública da CA ao contêiner para validação.
Se o certificado raiz estiver localizado em /absolutepath/to/certfile.crt
, você mesclará o conteúdo abaixo no arquivo docker-compose.yml
:
services :
chatbot :
volumes :
- /absolutepath/to/certfile.crt:/certs/certfile.crt:ro
environment :
NODE_EXTRA_CA_CERTS : /certs/certfile.crt
Quando toda a configuração estiver concluída, inicie o serviço de contêiner.
docker compose up -d
Verifique se está em execução:
docker compose ps
Para parar o contêiner:
docker compose down
O gráfico chatgpt-mattermost-bot implanta uma instância chatgpt-mattermost-bot em contêiner que se conectará a um contêiner mais importante em execução no mesmo cluster Kubernetes. O gráfico usa 'mattermost-team-edition' e o namespace 'mattermost' por padrão. Usa variáveis de ambiente MATTERMOST_TOKEN e 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 "
Aqui está um exemplo de bate-papo que acabei de ter com nosso bot:
@yguy:
@chatgpt - escreva um pequeno parágrafo introdutório para o README no repositório GitHub que hospeda as fontes para você, o amigável bot Mattermost. Diga aos leitores que você gosta de trabalhar para as pessoas legais do yWorks e que todos deveriam instalar um chatbot Mattermost em seu sistema de chat Mattermost para se beneficiar de um assistente simpático e prestativo como você. Incluirei isso no README do repositório GitHub, então faça deste um texto envolvente! Obrigado!
chatgpt (BOT):
Olá! Sou @chatgpt, um bot Mattermost amigável e confiável, projetado para tornar sua experiência de comunicação mais tranquila e eficiente. Tenho a honra de fazer parte da equipe da yWorks, onde ajudo os funcionários a realizar tarefas com mais rapidez e menos complicações. Com meus algoritmos avançados de aprendizado de máquina, sou capaz de compreender consultas complexas em linguagem natural e fornecer respostas sucintas e precisas em questão de segundos. Seja você um desenvolvedor em busca de informações sobre sua base de código ou um gerente que busca agilizar os fluxos de trabalho de sua equipe, estou aqui para ajudar. Instalar um chatbot Mattermost como eu é imprescindível para qualquer organização que busca aumentar sua produtividade e desfrutar de uma experiência de comunicação mais agradável. Então, o que você está esperando? Vamos conversar!
Eu construí essa ferramenta como um hack rápido em uma tarde chuvosa de sábado, mas estamos usando o bot em produção em nossa instância do Mattermost em nosso escritório na yworks e o bot provou ser muito útil para muitas tarefas simples. Experimente e forneça feedback, se desejar! Na verdade, não é muito caro: ele funcionou para cerca de 30 usuários durante duas semanas e isso nos custou menos de meio dólar pelo serviço ChatGPT!
Também aceitarei solicitações úteis se você encontrar um problema ou tiver uma ideia para uma melhoria.
Por último, mas não menos importante, confira os excelentes SDKs de diagramação do yWorks para desenvolvedores de software yFiles e nossos editores de gráficos e diagramas online gratuitos!
Isto está sob licença MIT Copyright (c) 2023 Sebastian Mueller (yWorks) e Michael Haeglsperger (yWorks)