봇은 일반 Mattost 사용자처럼 사용자와 대화할 수 있습니다. Chat.openai.com을 Mattermost에 공동으로 구축하는 것과 같습니다! 하지만 그게 다가 아닙니다. Dall-E를 통해 이미지를 생성하거나 yFiles 플러그인을 통해 다이어그램 시각화를 생성하는 데 사용할 수도 있습니다!
봇을 실행하는 방법은 다음과 같습니다. Docker 호스트가 있으면 쉽습니다.
당신은 필요
@chatgpt
)Mattermost의 Andrew Zigler는 설정 과정을 빠르게 안내하는 YouTube 동영상을 만들었습니다.
이 플러그인이 어떻게 활성화되었는지 자세히 알아보려면 yWorks.com의 블로그 게시물을 읽어보세요!
사용 가능한 옵션은 다음과 같습니다. 스크립트를 실행하거나 docker 이미지를 실행하거나 docker-compose 파일을 구성할 때 환경 변수로 설정할 수 있습니다.
이름 | 필수의 | 예시 값 | 설명 |
---|---|---|---|
MATTERMOST_URL | 예 | https://mattermost.server | 서버의 URL입니다. 이는 봇을 Mattermost API에 연결하는 데 사용됩니다. |
MATTERMOST_TOKEN | 예 | abababacdcdcd | 로그인한 importantbot의 인증 토큰 |
OPENAI_API_KEY | 예 | sk-234234234234234234 | OpenAI로 인증하기 위한 OpenAI API 키 |
OPENAI_API_BASE | 아니요 | http://example.com:8080/v1 | OpenAI 호환 API의 주소입니다. 기본 기본 경로( https://api.openai.com )를 재정의합니다. |
OPENAI_MODEL_NAME | 아니요 | gpt-3.5-turbo | 사용할 OpenAI 언어 모델, 기본값은 gpt-3.5-turbo 입니다. |
OPENAI_MAX_TOKENS | 아니요 | 2000 | OpenAI API에 전달할 최대 토큰 수, 기본값은 2000입니다. |
OPENAI_TEMPERATURE | 아니요 | 0.2 | 사용할 샘플링 온도(0과 2 사이)의 기본값은 1입니다. 0.8과 같이 값이 높을수록 출력이 더 무작위로 만들어지고, 0.2와 같이 값이 낮을수록 더 집중적이고 결정적이게 됩니다. |
YFILES_SERVER_URL | 아니요 | http://localhost:3835 | 자동 생성된 다이어그램을 삽입하기 위한 yFiles 그래프 서비스의 URL입니다. |
NODE_EXTRA_CA_CERTS | 아니요 | /file/to/cert.crt | 자체 서명된 인증서를 인증하기 위해 node.js에 전달할 인증서 파일에 대한 링크 |
MATTERMOST_BOTNAME | 아니요 | "@chatgpt" | Mattermost의 봇 사용자 이름, 기본값은 '@chatgpt'입니다. |
플러그인 | 아니요 | graph-plugin, image-plugin | 봇의 활성화된 플러그인. 기본적으로 모든 플러그인(grpah-plugin 및 image-plugin)이 활성화되어 있습니다. |
DEBUG_LEVEL | 아니요 | TRACE | 활동 로깅에 사용되는 디버그 수준, 기본값은 INFO |
BOT_CONTEXT_MSG | 아니요 | 15 | ChatGPT와의 대화에 추가되는 이전 메시지 수는 기본적으로 100개입니다. |
BOT_INSTRUCTION | 아니요 | Act like Elon Musk | 도움을 주기 위한 추가 지침. 보조자는 어떻게 행동해야 합니까? |
참고
YFILES_SERVER_URL
은 봇이 생성한 텍스트 정보를 다이어그램으로 자동 변환하는 데 사용됩니다. 현재 개발 중입니다. 실제로 작동하는 모습은 여기에서 볼 수 있습니다: LinkedIn 포스트 플러그인을 직접 사용해보고 싶다면 yWorks에 문의하세요!
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
첫 번째 단계는 이 저장소를 복제하는 것입니다.
git clone https://github.com/yGuy/chatgpt-mattermost-bot.git && cd chatgpt-mattermost-bot
테스트를 위해 이제 npm install
및 npm run start
직접 실행할 수 있지만 먼저 환경 변수를 설정하거나 노드 프로세스에 전달해야 합니다!
프로덕션 용도의 경우, 자신의 머신에서 실행할 필요 없이 항상 서비스를 제공하는 도커 컨테이너에 서비스를 생성하려면 다음을 수행할 수 있습니다.
Dockerfile에서 Docker 이미지를 빌드합니다.
docker build . -t 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
yguy/chatgpt-mattermost-bot
Mattermost 인스턴스가 사설 CA에서 서명한 TLS 인증서를 사용하는 경우 검증을 위해 CA의 공개 루트를 컨테이너에 제공해야 합니다.
루트 인증서가 /absolutepath/to/certfile.crt
에 있는 경우 해당 파일을 컨테이너의 고정 위치에 탑재하고 이에 따라 노드 환경 변수를 지정할 수 있습니다.
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
실행 중인지 확인하세요.
docker ps
나중에 서비스를 중지하려면
docker stop chatbot
docker compose를 실행하려면(가장 중요한 docker 스택과 병합할 수도 있음) 다음을 시작점으로 사용할 수 있습니다. 먼저 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
Mattermost 인스턴스가 사설 CA에서 서명한 TLS 인증서를 사용하는 경우 검증을 위해 CA의 공개 루트를 컨테이너에 제공해야 합니다.
루트 인증서가 /absolutepath/to/certfile.crt
에 있는 경우 아래 내용을 docker-compose.yml
파일에 병합합니다.
services :
chatbot :
volumes :
- /absolutepath/to/certfile.crt:/certs/certfile.crt:ro
environment :
NODE_EXTRA_CA_CERTS : /certs/certfile.crt
모든 구성이 완료되면 컨테이너 서비스를 시작합니다.
docker compose up -d
실행 중인지 확인합니다.
docker compose ps
컨테이너를 중지하려면 다음 안내를 따르세요.
docker compose down
chatgpt-mattermost-bot 차트는 동일한 kubernetes 클러스터에서 실행 중인 importantmost 컨테이너에 연결되는 컨테이너화된 chatgpt-mattermost-bot 인스턴스를 배포합니다. 차트는 기본적으로 'mattermost-team-edition'과 'mattermost' 네임스페이스를 사용합니다. 환경 변수 MATTERMOST_TOKEN 및 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 "
다음은 방금 봇과 나눈 채팅의 예입니다.
@yguy:
@chatgpt - 친숙한 Mattermost 봇인 여러분을 위해 소스를 호스팅하는 GitHub 저장소의 README에 대한 짧은 소개 단락을 작성해 주세요. 독자들에게 yWorks에서 좋은 사람들을 위해 일하는 것이 즐겁고 모든 사람이 Mattermost 채팅 시스템에 Mattermost 챗봇을 설치해야 당신처럼 훌륭하고 유용한 비서의 혜택을 누릴 수 있다고 말하세요. GitHub 저장소의 README에 이 내용을 포함할 예정이므로 흥미로운 텍스트로 만드세요! 감사해요!
chatgpt (BOT):
안녕! 저는 귀하의 커뮤니케이션 경험을 더욱 원활하고 효율적으로 만들기 위해 설계된 친절하고 신뢰할 수 있는 Mattermost 봇인 @chatgpt입니다. 저는 yWorks 팀의 일원이 되어 직원들이 더 빠르고 덜 번거롭게 일을 처리할 수 있도록 돕는 일을 하게 된 것을 영광으로 생각합니다. 고급 기계 학습 알고리즘을 사용하면 복잡한 자연어 쿼리를 이해하고 몇 초 만에 간결하고 정확한 응답을 제공할 수 있습니다. 코드베이스에 대한 정보를 찾는 개발자이든, 팀의 작업 흐름을 간소화하려는 관리자이든 제가 도와드리겠습니다. 저와 같은 Mattermost 챗봇을 설치하는 것은 생산성을 높이고 보다 즐거운 커뮤니케이션 경험을 즐기려는 모든 조직에게 필수입니다. 그래서 당신은 무엇을 기다리고 있습니까? 채팅하자!
저는 비오는 토요일 오후에 빠른 해킹을 위해 이 도구를 만들었습니다. 하지만 우리는 yworks 사무실의 Mattermost 인스턴스에서 프로덕션 중인 봇을 사용하고 있으며 봇은 많은 간단한 작업에 매우 도움이 되는 것으로 입증되었습니다. 시도해 보시고 마음에 들면 피드백을 제공해 주세요! 실제로 비용이 많이 들지 않습니다. 약 30명의 사용자를 대상으로 2주 동안 실행했는데 ChatGPT 서비스 비용이 0.5달러 미만이었습니다!
문제를 발견하거나 개선을 위한 아이디어가 있으면 도움이 되는 풀 요청도 수락하겠습니다.
마지막으로, 소프트웨어 개발자 yFiles를 위한 yWorks의 훌륭한 다이어그램 작성 SDK와 무료 온라인 그래프 및 다이어그램 편집기를 확인하세요!
이것은 MIT 라이선스에 따릅니다. Copyright (c) 2023 Sebastian Mueller(yWorks) 및 Michael Haeglsperger(yWorks)