投稿する
📚 Dify・n8nハンズオン講座(土曜日チーム)

n8n x PineconeでRAGチャットボット構築入門

n8nとPinecone、Slackを連携させ、Googleドライブ上のPDF資料をナレッジとして活用する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**: ソース資料の保管場所