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

Dify x n8n連携!RAGチャットボット構築入門

n8nを活用して、Googleドライブ内の資料から回答を生成するRAG(検索拡張生成)システムを構築し、Slack上でAIボットとして運用する方法を解説します。

学習ポイント

  • n8nにおける各ノードの接続方法と情報の受け渡し(インプット・アウトプット)の基本法則
  • Pinecone(ベクトルデータベース)とOpenAIを連携させたRAGシステムの構築手順
  • Slackをトリガーとして、AIが資料を元に自動回答するワークフローの実装方法

動画では、n8nを使って社内ドキュメントを学習させたAIボットをSlackで稼働させる手順を、実演を交えて解説しています。

1. ナレッジの蓄積フロー(RAGの構築)

Googleドライブ内の特定のフォルダを監視し、新しいPDFファイルが作成された際に自動で処理を開始するフローです。

  • **Google Drive Trigger**: フォルダを毎分監視し、新規ファイルを検知。

  • **File Download**: 検知したファイルをバイナリデータとして取得。

  • **Recursive Character Text Splitter**: 長い文章を適切なサイズ(チャンク)に分割します。

  • **Pinecone Vector Store**: OpenAIのEmbedding APIを使用してテキストをベクトル化し、Pineconeデータベースへ保存します。

2. Slack応答フローの実装

ユーザーがSlackでボットにメンションを飛ばした際に、蓄積されたナレッジから回答を生成するフローです。

  • **Slack Trigger**: メンションをトリガーにメッセージ内容を取得。

  • **AI Agent Node**: OpenAIのモデル(GPT-4o等)を使用。このノードには「Tool」としてPineconeを接続します。

  • **Vector Store Tool**: 質問に関連する文章をPineconeから検索(Retrieve)し、AIにコンテキストとして渡します。

  • **Slack Send Message**: 生成された回答をSlackの指定したチャンネルへ返信します。

3. n8nでの開発のポイント

n8nはDifyなどの他ツールと異なり、ノードを一つずつ実行(Execute Step)して前段の情報を確定させながら構築を進める必要があります。また、保存は自動ではないため、こまめな「Save」が推奨されます。

**紹介されたツール・サービス:**

  • **n8n**: ワークフロー自動化プラットフォーム

  • **Pinecone**: ベクトルデータベース(RAGの記憶部分)

  • **OpenAI API**: テキストのベクトル化およびLLMによる回答生成

  • **Slack**: ユーザーインターフェースとしてのチャットツール

  • **Google Drive**: ソースドキュメントの保管場所