n8n x PineconeでRAGチャットボット構築入門
学習ポイント
- Googleドライブのファイルをバイナリデータとして取得し、Vector Storeへ保存するフロー
- Pineconeでのインデックス作成と、Embedding(次元数1536の設定など)の重要性
- Slack AppのAPI設定・権限譲渡(Scopes)からWebhooksによる双方向通信の確立方法
この動画では、n8nを活用して「Slackから自社情報を回答するAI Bot」を構築する手順を解説しています。主な内容は、Googleドライブからのデータ取得、Pineconeへのナレッジ登録、そしてSlackとの連携設定の3点です。
Googleドライブとデータのダウンロード
最初に、Googleドライブの特定フォルダを監視するトリガーを設定します。ファイルが作成・追加された際に、その「File ID」を元に「Download File」アクションを実行し、PDFやドキュメントをバイナリデータとしてn8n内に取り込みます。
Pineconeへのデータ登録とRAGの設定
取得したデータは、Vector Storeである「Pinecone」に保存します。
**インデックス作成**: Pinecone上でデータベースの箱(Index)を作成します。OpenAIの `text-embedding-3-small` を使用する場合、次元数(Dimension)は必ず `1536` に設定する必要があります。
**チャンク分割**: データをAIが扱いやすいサイズに分割します。動画内では、推奨値としてチャンクサイズ `500` 前後での設定例を紹介しています。
Slack APIとの連携設定
Slack上でBotを動作させるために、Slack API(App)の設定を行います。
**Scopesの設定**: `app_mentions:read`(メンションの取得)、`chat:write`(メッセージ送信)、`channels:join` などの権限を付与し、ワークスペースにインストールします。
**Event Subscriptions**: n8nのWebhook URLをSlack側に登録します。テスト用URLと本番用(Production)URLの違いに注意し、疎通確認(Verification)を行うことで、Slackへの投稿がリアルタイムでn8nに伝わるようになります。
AIエージェントの構成
「AI Agent」ノードを使用し、OpenAIのモデルとPineconeのツールを接続します。システムプロンプトに「RAGを活用して回答してください」と記述することで、登録した自社資料に基づいた精度の高い回答をSlackに返却する仕組みを構築します。
**紹介されたツール・サービス**
**n8n**: ワークフロー自動化プラットフォーム
**Pinecone**: ベクトルデータベース(ナレッジ保存用)
**OpenAI API**: エンベディングおよびLLM(頭脳)として利用
**Slack API**: チャットインターフェースとして利用
**Google Drive**: ソース資料の保管場所