VPoTの岩本 (iwamot) です。
100以上のLLMが使えるSlackbot OSS、Collmboを公開したのでご紹介します。
要点:
- ENECHANGEではChatGPT-in-Slackを便利に使ってきた
- ChatGPT-in-SlackでチャットできるLLMはGPTのみ
- 他のLLMも使えるよう、forkしてLiteLLMを組み込んだ
ENECHANGEではChatGPT-in-Slackを便利に使ってきた
ENECHANGEでは、LLMとチャットできるSlackbotとしてChatGPT-in-Slackを便利に使ってきました。Slack (Salesforce) のseratchさんが開発されたOSSで、さすがのUXです。
Slackbotを社内に公開した2023年5月9日から、もう1年あまりになります。
その間、ユーザーとして使うだけではなく、Azure OpenAIのサポートやFunction Callingのサポートなどのコントリビュートもしてきました。
ChatGPT-in-SlackでチャットできるLLMはGPTのみ
ただ、ChatGPT-in-SlackでチャットできるLLMは、現時点ではGPTのみです。他のLLMのサポート予定もありません。
Claude 3を始め、他のLLMも活発に開発されている状況を考えれば、それらともチャットしてみたいところです。特にClaude 3 Opusは、GPT-4にくらべ高いベンチマーク結果を誇っています。
他のLLMとのチャットをChatGPT-in-Slackに遜色ないUXで実現するには、別の手段が必要です。どうすべきでしょうか。
他のLLMも使えるよう、forkしてLiteLLMを組み込んだ
ぼくの答えは「ChatGPT-in-SlackをforkしてLiteLLMを組み込む」でした。
LiteLLMは、OpenAIと(つまりGPTと)同じインターフェースで100以上のLLMが呼び出せると謳うツールです。GitHubのスター数は9,600を超え、2024年4月のTechnology Radarに掲載されるなど注目を集めています。
ChatGPT-in-Slackをforkし、OpenAIに依存している箇所をLiteLLMに差し替えられたら、オリジナルと遜色ないUXでGPT以外のLLMも呼び出せそうですよね。
ということで、実際に進めて公開したのがCollmboです。
名前には「共に育てるLLM bot」の意味を込めました。「コロンボ」とお読みください。
ちなみにENECHANGEの社内Slackbotは、すでにこのCollmboに置き換え済みです。狙いどおり、ChatGPT-in-Slackに遜色ないUXを維持できています。
ただ、残念ながらLiteLLM側に不具合があるため、Claude 3とのチャットはまだ実現していません。バグレポートは出したので、修正に期待しているところです。
まとめ
今回は、100以上のLLMが使えるSlackbot OSS、Collmboをご紹介しました。
要点:
- ENECHANGEではChatGPT-in-Slackを便利に使ってきた
- ChatGPT-in-SlackでチャットできるLLMはGPTのみ
- 他のLLMも使えるよう、forkしてLiteLLMを組み込んだ
また、本文では触れませんでしたが、Collmboにはカスタムコールバック機能も追加済みです。分析用のログ出力などに活用できます。
「共に育てるLLM bot」ということで、気軽にお試し・フィードバックいただけると幸いです。