🧠

AIチャットボット開発の気づき(1)

に公開

RAG のデータソースとして Slack を利用する

LLM と RAG を利用した Slackボット OssansNavi の開発・運用で得たノウハウを共有するシリーズ記事です
初回は 2024年3月頃の開発内容で、その後の OssansNavi のコアとなるコンセプト部分の話です。

次の記事: (2) 人を繋ぐ AI

一般に LLM で RAG を利用する場合はデータソースとなるベクトルDBが必要です。
しかしベクトルDBの運用にはコストが伴うため、例えば Slack に日々投稿されるメッセージ全てをベクトルDBに保持して RAG のデータソースとして利用するのは多大なるコストと労力が必要です。

そこで OssansNavi はベクトルDBを利用せずに RAG を実現する手法を採用しました。
詳しくは技術勉強会で発表した資料「RAGにベクトルDBは必要ない!DBも不要で運用めちゃ楽な RAG Chatbot を作った話」を参照ください

ユーザーの質問から LLM に様々なパターンの検索キーワードを考えてもらい、それらで Slackグループ内を検索します。

この方法ならば、キーワード検索可能なあらゆるデータソースを RAG で利用可能です。

2024年3月当時からは未来の話ですが、2024年末に Anthropic が MCP(Model Context Protocol)を公開しました。
OssansNavi が LLM を通して Slackグループ内のリソースを利用する手法はある種で MCP 的な発想と通じるところがあります。

Discussion