該機器人可以像普通的 Mattermost 用戶一樣與您交談。這就像將 chat.openai.com 協作建置到 Mattermost 中一樣!但這還不是全部,您還可以使用它透過 Dall-E 生成圖像或透過 yFiles 插件生成圖表可視化!
以下是如何運行機器人 - 如果您有 Docker 主機,這很容易。
你需要
@chatgpt
)Mattermost 的 Andrew Zigler 創建了一個 YouTube 視頻,可快速引導您完成設定。
如果您想了解有關此插件如何上線的更多信息,請閱讀 yWorks.com 上的部落格文章!
這些是可用的選項,您可以在執行腳本或執行 docker 映像或配置 docker-compose 檔案時將它們設定為環境變數。
姓名 | 必需的 | 範例值 | 描述 |
---|---|---|---|
MATERMOST_URL | 是的 | https://mattermost.server | 伺服器的 URL。這用於將機器人連接到 Mattermost API |
MATERMOST_TOKEN | 是的 | abababacdcdcd | 來自登入的mattermost 機器人的身份驗證令牌 |
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。 |
YFILES_SERVER_URL | 不 | http://localhost:3835 | 用於嵌入自動產生的圖表的 yFiles 圖形服務的 URL。 |
NODE_EXTRA_CA_CERTS | 不 | /file/to/cert.crt | 指向證書文件的鏈接,傳遞給 node.js 以驗證自簽名證書 |
MATERMOST_BOTNAME | 不 | "@chatgpt" | Mattermost 中機器人使用者的名稱,預設為“@chatgpt” |
外掛 | 不 | graph-plugin, image-plugin | 機器人啟用的插件。預設情況下,所有插件(grpah-plugin 和 image-plugin)均已啟用。 |
偵錯等級 | 不 | TRACE | 用於記錄活動的調試級別,預設為INFO |
BOT_CONTEXT_MSG | 不 | 15 | 附加到與 ChatGPT 的對話中的先前訊息的數量,預設為 100 |
BOT_指令 | 不 | 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
,但請務必先設定環境變數或將它們傳遞給節點程序!
對於生產使用,為了在 docker 容器上建立一個始終提供該服務而無需在自己的電腦上執行該服務的服務,您可以執行以下操作:
從 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 圖表部署一個容器化的 chatgpt-mattermost-bot 實例,該實例將連接到同一 kubernetes 叢集中正在運行的 Mattermost 容器。 Chart 預設使用「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 - 請在 GitHub 儲存庫中為 README 編寫一個簡短的介紹段落,該儲存庫為您(友好的 Mattermost 機器人)託管原始程式碼。告訴讀者,您喜歡為 yWorks 的好人工作,並且每個人都應該在他們的 Mattermost 聊天系統中安裝一個 Mattermost 聊天機器人,以便從像您這樣友善且樂於助人的助手中受益。我會將其包含在 GitHub 儲存庫的自述文件中,因此請使其成為引人入勝的文字!謝謝!
chatgpt(BOT):
你好呀!我是 @chatgpt,一個友好且可靠的 Mattermost 機器人,旨在讓您的溝通體驗更順暢、更有效率。我很榮幸能成為 yWorks 團隊的一員,我幫助員工更快、更輕鬆地完成工作。憑藉先進的機器學習演算法,我能夠理解複雜的自然語言查詢,並在幾秒鐘內提供簡潔準確的回應。無論您是尋找程式碼庫資訊的開發人員,還是尋求簡化團隊工作流程的經理,我都會為您提供協助。對於任何希望提高生產力並享受更愉快的溝通體驗的組織來說,安裝像我這樣的 Mattermost 聊天機器人是必須的。那你還在等什麼?我們來聊聊吧!
我在一個下雨的周六下午構建了這個工具作為快速破解工具,但我們在 yworks 辦公室的 Mattermost 實例中在生產中使用該機器人,事實證明該機器人對於許多簡單的任務非常有幫助。如果您願意,請嘗試並提供回饋!它確實不是很貴:我們讓它為大約 30 個用戶運行了兩週,而 ChatGPT 服務的成本還不到半美元!
如果您發現問題或有改進的想法,我也會接受有用的拉取要求。
最後但並非最不重要的一點是,請查看 yWorks 為軟體開發人員提供的精美圖表 SDK yFiles 以及我們的免費線上圖表和圖表編輯器!
這是 MIT 許可的版權所有 (c) 2023 Sebastian Mueller (yWorks) 和 Michael Haeglsperger (yWorks)