ワークフローAI自動化の例:

Google ドライブとGemini(n8n)を使用した会社文書のためのRAGチャットボット

- Googleドライブに保存された会社の文書を参照して、社員の質問に答えるスマートなRAGチャットボットを作成します。

- 新規または更新されたファイルを検出し、コンテンツを分割し、Google Gemini AIを介して埋め込みを生成し、それらをPineconeに保存することで、文書のインデックス化を自動化します。

- チャットインターフェースを接続し、ベクターデータベースから関連情報を取得し、Gemini AIが正確で最新の回答を生成できるようにします。

- 短期記憶により、自然でコンテキストを意識した会話を保証します。

- 簡単な設定: Googleドライブ、Gemini AI、およびPineconeの認証情報を統合し、指定されたドライブフォルダを監視し、ワークフローをインポートすることで、社員に即座にAI強化された会社知識へのアクセスを提供します。

- Googleドライブに保存された会社の文書を参照して、社員の質問に答えるスマートなRAGチャットボットを作成します。

- 新規または更新されたファイルを検出し、コンテンツを分割し、Google Gemini AIを介して埋め込みを生成し、それらをPineconeに保存することで、文書のインデックス化を自動化します。

- チャットインターフェースを接続し、ベクターデータベースから関連情報を取得し、Gemini AIが正確で最新の回答を生成できるようにします。

- 短期記憶により、自然でコンテキストを意識した会話を保証します。

- 簡単な設定: Googleドライブ、Gemini AI、およびPineconeの認証情報を統合し、指定されたドライブフォルダを監視し、ワークフローをインポートすることで、社員に即座にAI強化された会社知識へのアクセスを提供します。

1. ワークフローの概要

このワークフローは、専用のGoogleドライブフォルダーに保存された会社の文書に基づいて従業員の質問に答えるために設計された再取得拡張生成(RAG)チャットボットを実装しています。新しいまたは更新された文書を自動的にPineconeベクトルデータベースにインデックス化し、チャットボットが関連情報を取得してGoogleのGemini AIモデルを使用して正確で文脈に対応した回答を生成することを可能にします。

ワークフローは、論理的に2つの主要な機能ブロックに分かれています。

1.1 文書インデックス化ブロック
特定のGoogleドライブフォルダーの新規または更新されたファイルを監視し、これらの文書をダウンロードし、管理可能なチャンクに分割してその内容を処理し、Google Geminiを使用して埋め込みを生成し、これらの埋め込みをPineconeベクトルストアにインデックス化します。

1.2 チャットインタラクションブロック
チャットインターフェースを通じてユーザーからの質問を処理し、ベクトル類似検索を使用してPineconeから関連する文書チャンクを取得し、Google Geminiチャットモデルで包括的な回答を生成します。また、文脈に対応したインタラクションのための短期的な会話メモリを維持します。


2. ブロックごとの分析

2.1 文書インデックス化ブロック

概要:
このブロックは、Googleドライブに保存された会社の文書の取り込みおよびインデックス化を自動化します。ファイルの作成または更新時にトリガーされ、ファイルをダウンロードし、その内容を抽出して分割し、埋め込みを生成し、それらをPineconeベクトルデータベースに挿入します。

関与するノード:

  • Googleドライブファイルの作成

  • Googleドライブファイルの更新

  • Googleドライブからのファイルのダウンロード

  • 再帰的文字テキスト分割ツール

  • デフォルトデータローダー

  • 埋め込みGoogle Gemini

  • Pineconeベクトルストア

  • 付箋(文書インデックス化のコメント)

ノードの詳細:

  • Googleドライブファイルの作成

    • タイプ: トリガーノード

    • 役割: 特定のGoogleドライブフォルダーに新しく追加されたファイルを検出する

    • 構成: 毎分ポーリングでフォルダーIDによって指定されたフォルダーをウォッチ

    • 入力: なし(トリガー)

    • 出力: ファイルメタデータ(ファイルIDと名前を含む)

    • 障害モード: API レート制限、フォルダーパーミッションエラー

    • 備考: Google Drive OAuth2認証情報が必要です

  • Googleドライブファイルの更新

    • タイプ: トリガーノード

    • 役割: 同じGoogleドライブフォルダーでのファイル更新を検出する

    • 構成: 毎分ポーリングで上記と同じフォルダーを監視

    • 入力: なし(トリガー)

    • 出力: 更新されたファイルのメタデータ

    • 障害モード: 上記と同じ

  • Googleドライブからのファイルのダウンロード

    • タイプ: Googleドライブノード

    • 役割: 処理のために検出されたファイルコンテンツをダウンロードする

    • 構成: トリガーノードからのファイルIDと名前を使用してファイルバイナリをダウンロード

    • 入力: トリガーからファイルメタデータ

    • 出力: バイナリファイルデータ

    • 障害モード: ファイルアクセスエラー、ダウンロードタイムアウト、大きなファイル処理問題

    • 資格情報: Google Drive OAuth2

  • 再帰的文字テキスト分割ツール

    • タイプ: テキスト分割ノード

    • 役割: 埋め込みのために文書内容を小さなオーバーラップチャンクに分割する

    • 構成: チャンクオーバーラップは100文字に設定され、デフォルトのチャンクサイズ(再帰的分割)

    • 入力: デフォルトデータローダーによってバイナリからテキストに変換された文書テキスト

    • 出力: テキストチャンクの配列

    • 障害モード: 不適切なテキスト抽出、エンコーディング問題

  • デフォルトデータローダー

    • タイプ: ドキュメントローダーノード

    • 役割: バイナリファイルデータを更なる処理のためのテキストドキュメントに変換する

    • 構成: 特定のバイナリフィールドからデータをロード

    • 入力: Googleドライブダウンロードからのバイナリファイルデータ

    • 出力: テキストドキュメント

    • 障害モード: サポートされていないファイルフォーマット、破損したファイル

  • 埋め込みGoogle Gemini

    • タイプ: 埋め込み生成ノード

    • 役割: Google Geminiのtext-embedding-004モデルを使用して各テキストチャンクのベクトル埋め込みを生成する

    • 構成: モデルは「models/text-embedding-004」に設定

    • 入力: 分割機からのテキストチャンク

    • 出力: 埋め込みベクトル

    • 障害モード: APIクォータ制限、ネットワークエラー、無効な入力テキスト

    • 資格情報: Google Gemini (PaLM) APIキー

  • Pineconeベクトルストア

    • タイプ: ベクトルストアノード

    • 役割: 「company-files」という名前のPineconeインデックスに埋め込みと関連するテキストチャンクを挿入する

    • 構成: モードは「挿入」に設定

    • 入力: 埋め込みとデフォルトデータローダーおよび埋め込みGoogle Geminiからの文書

    • 出力: 挿入の確認

    • 障害モード: Pinecone APIエラー、インデックスの誤設定、ネットワーク問題

    • 資格情報: Pinecone APIキー

  • 付箋(ドキュメントをベクトルストアに追加)

    • 役割: インデックス化プロセスに関する説明的なコメントを提供する

    • 内容: 「Googleドライブでドキュメントを更新または新規作成時にベクトルストアにドキュメントを追加」


2.2 チャットインタラクションブロック

概要:
このブロックは、チャットインターフェースを通じてユーザーからのクエリを処理し、ベクトル類似検索を使用してPineconeから関連する文書チャンクを取得し、Google Geminiチャットモデルを使用して回答を生成します。また、文脈に対応した会話を可能にするための短期メモリも維持します。

関与するノード:

  • チャットメッセージを受信した際

  • AIエージェント

  • ベクトルストアツール

  • Pineconeベクトルストア(リトリーバル)

  • 埋め込みGoogle Gemini(リトリーバル)

  • Google Geminiチャットモデル(リトリーバル)

  • ウィンドウバッファーメモリ

  • 付箋(会社の文書でチャット)

ノードの詳細:

  • チャットメッセージを受信した際

    • タイプ: チャットトリガーノード

    • 役割: Webhookを介してユーザーチャットメッセージを受信する

    • 構成: Webhook ID構成済み、追加のオプションは不要

    • 入力: 外部チャットメッセージ

    • 出力: ユーザーの質問テキスト

    • 障害モード: Webhook接続問題、不正な入力

  • AIエージェント

    • タイプ: エージェントノード

    • 役割: ツールと言語モデルを使用して質問応答プロセスを調整する

    • 構成:

      • システムメッセージは、アシスタントが会社ポリシーに基づいて各質問に答える役割を定義する

      • 「company_documents_tool」というツール(ベクトルストアツール)を使用して文書情報を取得します

    • 入力: チャットトリガーからのユーザー質問

    • 出力: 生成された回答

    • 障害モード: ツール呼び出しエラー、モデル応答エラー、メモリ処理問題

    • バージョン: 1.7

  • ベクトルストアツール

    • タイプ: ツールノード

    • 役割: Pineconeベクトルストアへのアクセスを提供して文書を取得する

    • 構成: 「company_documents_tool」と名前を付け、会社の文書情報を取得するための説明を提供

    • 入力: AIエージェントからのクエリエンベッディング

    • 出力: 取得された関連するドキュメントチャンク

    • 障害モード: Pineconeクエリエラー、埋め込みの不一致

  • Pineconeベクトルストア(リトリーバル)

    • タイプ: ベクトルストアノード

    • 役割: 埋め込みに基づいて関連する文書チャンクを取得するために「company-files」という名前のPineconeインデックスをクエリする

    • 構成: インデックス化ノードと同じPineconeインデックスを使用

    • 入力: 埋め込みGoogle Gemini(リトリーバル)からの埋め込み

    • 出力: ベクトルストアツール用に取得された文書

    • 障害モード: クエリタイムアウト、インデックスの利用不可

    • 資格情報: Pinecone APIキー

  • 埋め込みGoogle Gemini(リトリーバル)

    • タイプ: 埋め込み生成ノード

    • 役割: 同じtext-embedding-004モデルを使用してユーザーの質問の埋め込みを生成する

    • 入力: ユーザー質問テキスト

    • 出力: Pineconeリトリーバル用クエリエンベッディング

    • 障害モード: API エラー、無効な入力

    • 資格情報: Google Gemini (PaLM) APIキー

  • Google Geminiチャットモデル(リトリーバル)

    • タイプ: 言語モデルノード

    • 役割: 取得された文書とユーザークエリに基づいて「gemini-2.0-flash-exp」チャットモデルを使用して最終的な回答を生成する

    • 入力: AIエージェントとベクトルストアツールからの文脈と質問

    • 出力: チャットボットの回答

    • 障害モード: APIクォータ、応答遅延

    • 資格情報: Google Gemini (PaLM) APIキー

  • ウィンドウバッファーメモリ

    • タイプ: メモリノード

    • 役割: 短期的な会話メモリを維持し、文脈に対応した回答を提供する

    • 入力: AIエージェントからの会話履歴

    • 出力: AIエージェント用の更新されたメモリ状態

    • 障害モード: メモリオーバーフロー、データ破損

  • 付箋(会社の文書でチャット)

    • 役割: チャットインタラクションブロックを説明

    • 内容: 「会社の文書でチャット」


3. サマリーテーブル

ノード名ノードタイプ機能的役割入力ノード出力ノード付箋Googleドライブファイルの作成GoogleドライブトリガーGoogleドライブフォルダーで新しいファイルを検出するなしGoogleドライブからのファイルのダウンロードGoogleドライブファイルの更新GoogleドライブトリガーGoogleドライブフォルダーで更新されたファイルを検出するなしGoogleドライブからのファイルのダウンロードGoogleドライブからのファイルのダウンロードGoogleドライブファイルのバイナリコンテンツをダウンロードするGoogleドライブファイルの作成、更新Pineconeベクトルストア再帰的文字テキスト分割ツールテキスト分割テキストをチャンクに分割するデフォルトデータローダーデフォルトデータローダーデフォルトデータローダードキュメントローダーバイナリファイルをテキストドキュメントに変換する再帰的文字テキスト分割ツールPineconeベクトルストア埋め込みGoogle Gemini埋め込みジェネレーターテキストチャンク用に埋め込みを生成するデフォルトデータローダーPineconeベクトルストアPineconeベクトルストアベクトルストアPineconeインデックスに埋め込みを挿入する埋め込みGoogle GeminiなしGoogleドライブファイルの作成Googleドライブトリガー新しいファイルを検出するなしGoogleドライブからのファイルのダウンロードGoogleドライブファイルの更新Googleドライブトリガー更新されたファイルを検出するなしGoogleドライブからのファイルのダウンロード付箋付箋インデックス化プロセスのコメントなしなし「Googleドライブでドキュメントを更新または新規作成時にベクトルストアにドキュメントを追加」チャットメッセージ受信時チャットトリガーユーザーチャットメッセージを受信するなしAIエージェントAIエージェントエージェント質問応答を調整するチャットメッセージ受信時なしベクトルストアツールツール(ベクトルストア)関連する文書チャンクを取得するPineconeベクトルストア(リトリーバル)AIエージェントPineconeベクトルストア(リトリーバル)ベクトルストア関連するチャンクをPineconeインデックスにクエリする埋め込みGoogle Gemini(リトリーバル)ベクトルストアツール埋め込みGoogle Gemini(リトリーバル)埋め込みジェネレータークエリ用に埋め込みを生成するチャットメッセージ受信時Pineconeベクトルストア(リトリーバル)Google Geminiチャットモデル(リトリーバル)言語モデル取得された文書に基づいて回答を生成するベクトルストアツールなしウィンドウバッファーメモリメモリバッファ短期的な会話メモリを維持するAIエージェントAIエージェント付箋2付箋チャットインタラクションブロックのコメントなしなし「会社の文書とチャット」付箋1付箋セットアップ手順と前提条件なしなし5節に詳細内容を参照


4. ワークフローを最初から再現する

  1. Googleドライブトリガーの作成

    • 次の2つのGoogleドライブトリガーノードを追加する:

      • 特定のGoogleドライブフォルダーをフォルダーIDで監視するfileCreatedイベント用に構成されているもの

      • 同じフォルダーを監視するfileUpdatedイベント用に構成されているもの

    • ポーリング間隔を毎分に設定します。

    • Google Drive OAuth2認証情報を割り当てます。

  2. ファイルダウンロードノード

    • Googleドライブノードを追加して、ダウンロード操作を構成します。

    • トリガーノード出力({{$json.id}})からfileIdを設定するための式を使用します。

    • トリガーからのファイル名をfileNameオプションに設定します。

    • 両方のGoogleドライブトリガーノードをこのノードに接続します。

    • Google Drive OAuth2認証情報を割り当てます。

  3. 再帰的文字テキスト分割ツール

    • 再帰的文字テキスト分割ツールノードを追加します。

    • チャンク重複を100文字に設定します(デフォルトのチャンクサイズ)。

    • デフォルトデータローダーノードの出力をこのノードに接続します(次のステップを参照)。

  4. デフォルトデータローダー

    • デフォルトデータローダーノードを追加します。

    • ダウンロードされたファイルを含むバイナリフィールドからデータをロードするように構成します。

    • ファイルダウンロードノードの出力をこのノードに接続します。

    • 再帰的文字テキスト分割ツールノードの出力をこのノードに接続します。

  5. 埋め込みGoogle Gemini(インデックス化)

    • 埋め込みGoogle Geminiノードを追加します。

    • モデルをmodels/text-embedding-004に設定します。

    • デフォルトデータローダーの出力(テキストチャンク)をこのノードに接続します。

    • Google Gemini (PaLM) API認証情報を割り当てます。

  6. Pineconeベクトルストア(挿入モード)

    • Pineconeベクトルストアノードを追加します。

    • モードを挿入に設定します。

    • 「company-files」という名前のPineconeインデックスを選択します。

    • 埋め込みGoogle Geminiノードの出力をこのノードに接続します。

    • Pinecone API認証情報を割り当てます。

  7. チャットトリガーノード

    • チャットトリガーノードを追加します。

    • Webhook IDを構成します(自動生成またはカスタム)。

    • 特別なオプションは必要ありません。

  8. AIエージェントノード

    • AIエージェントノードを追加します。

    • システムメッセージを構成して、アシスタントの役割と「company_documents_tool」というツールの使用を定義します。

    • チャットトリガーノードの出力をAIエージェントの入力に接続します。

    • ウィンドウバッファーメモリノードをAIエージェントに接続してメモリ管理を行います。

  9. ベクトルストアツールノード

    • ベクトルストアツールノードを追加します。

    • company_documents_toolという名前を付けます。

    • 会社の文書から情報を取得することを説明する説明を提供します。

    • Pineconeベクトルストア(リトリーバル)ノードの出力をこのノードに接続します。

    • このツールノードをAIエージェントのツール入力に接続します。

  10. 埋め込みGoogle Gemini(リトリーバル)

    • クエリエンベッディング生成用にもう1つの埋め込みGoogle Geminiノードを追加します。

    • 同じモデルmodels/text-embedding-004を使用します。

    • チャットトリガーノードの出力(ユーザーの質問)をこのノードに接続します。

    • Google Gemini API認証情報を割り当てます。

  11. Pineconeベクトルストア(リトリーバルモード)

    • リトリーバル/クエリモードに設定されたPineconeベクトルストアノードを追加します。

    • 同じcompany-filesインデックスを選択します。

    • 埋め込みGoogle Gemini (リトリーバル)の出力をこのノードに接続します。

    • Pinecone API認証情報を割り当てます。

  12. Google Geminiチャットモデル(リトリーバル)

    • Google Geminiチャットモデルノードを追加します。

    • モデルをmodels/gemini-2.0-flash-expに設定します。

    • ベクトルストアツールの出力をこのノードに接続します。

    • Google Gemini API認証情報を割り当てます。

  13. ウィンドウバッファーメモリ

    • ウィンドウバッファーメモリノードを追加します。

    • それをAIエージェントノードのメモリ入力と出力に接続して会話のコンテキストを維持します。

  14. 出力の接続

    • AIエージェントの出力をチャット応答の出力に接続します(例: Webhook応答)。

    • すべてのノードが論理フローに従って正しく接続されていることを確認します。

  15. 資格情報の設定

    • 資格情報を構成して割り当てます:

      • Google Drive OAuth2 API

      • Google Gemini (PaLM) APIキー

      • Pinecone APIキー

  16. フォルダーとインデックスの構成

    • Googleドライブトリガーノードを更新して、会社の文書用の専用フォルダーを監視します。

    • Pineconeベクトルストアノードをcompany-filesインデックスを使用するように構成します。


5. 一般ノート&リソース

ノート内容コンテキストまたはリンクセットアップ手順には、Google Cloudプロジェクトの作成、Vertex AI APIの有効化、Google AI APIキーの取得、Pineconeアカウントとインデックスが含まれます。 ワークフローでは、Google Gemini AIモデルを使用して埋め込み(text-embedding-004)とチャット生成(gemini-2.0-flash-exp)が行われます。Google Gemini (PaLM) APIの資格情報が必要です。Pineconeインデックスcompany-filesをワークフローの使用前に作成して構成する必要があります。Pineconeダッシュボード: https://app.pinecone.io/会社用文書専用のGoogleドライブフォルダーは、OAuth2資格情報によってアクセス可能でなければなりません。GoogleドライブフォルダーのURL例:https://drive.google.com/drive/folders/1evDIoHePhjw_LgVFZXSZyK1sZm2GHp9W 。 AIエージェントは、チャットインタラクション中にPineconeから関連するドキュメントチャンクを取得するために「company_documents_tool」というツールを使用します。 ウィンドウバッファーメモリノードは、より自然な会話を可能にする短期メモリを提供します。

著作権 © 2025 1AI。全著作権所有。

著作権 © 2025 1AI。全著作権所有。