背景:n8nとRAG知識ベースとの統合の課題
n8nは強力なオープンソースの自動ワークフローツールとして支持を集めている。パイレーツ・オブ・カリビアン』の元ビジュアルデザイナー、ヤン・オーバーハウザーによって2019年に設立されたこのツールは、Zapierのようなツールよりも柔軟でコストのかからない自動化ソリューションを提供することを目指している。 自由で持続可能、オープンで実用的」であることを理念とするn8nは、以下のような作業フローを自動化するというアイデアを中心に据えている。 視覚化とコード デュアルモードでは、異なるアプリケーションを接続して複雑なプロセスを自動化できる(公式ドキュメント:https://docs.n8n.io/)。一度使い慣れれば、簡単なワークフローを構築するのは非常に速く、ワンクリックでパブリックネットワークにワークフローを公開できるサポートは、大きな利便性を提供する。
n8nはしばしば「オートメーションのレゴ」と形容され、その柔軟性と組み合わせ可能性を強調している。
しかし、AIアプリケーションの普及が進む中で、n8nにRAG(Retrieval-Augmented Generation)知識ベースを効率的に統合する方法という共通のニーズが浮上してきた。RAGは、情報検索とテキスト生成を組み合わせた技術であり、大規模な言語モデルが質問に答える際に外部の知識ベースを参照できるようにすることで、より正確で文脈に沿った回答を提供することができる。RAGは情報検索とテキスト生成を組み合わせた技術で、質問に答える際に大規模な言語モデルが外部の知識ベースを参照することを可能にし、より正確で文脈に即した回答を提供します。
n8nで直接ビルドする ラグ ナレッジベースは比較的複雑なプロセスであることが証明されている。1つはファイルのアップロード、ベクトル化、データベースへの保存を処理するため、もう1つはRAGベースのQ&Aインタラクションを実装するためである。
例:左がファイルアップロードのワークフロー、右がRAG Q&Aのワークフロー。
たとえうまく構築できたとしても、このネイティブ・ソリューションは、経験という点では満足のいくものではありません。そこで私たちは、人気のあるFastGPTのような、外部の成熟した知識ベース・ソリューションをn8nにプラグインすることは可能だろうか?
ソリューション:FastGPTとMCPプロトコルの活用
FastGPTは、特にその強力なRAG機能と使いやすさで知られ、高い評価を得ているオープンソースのLLMアプリケーション・プラットフォームです。FastGPTの最近のアップデート(GitHubをフォロー:https://github.com/labring/FastGPT)では、MCP(Meta Component Protocol)のサポートというエキサイティングな機能が追加されました。
エムシーピー 異なるAIアプリケーションやサービス間の相互運用性の問題を解決するために設計されたFastGPTは、MCPクライアントとして他のサービスへのアクセスをサポートするだけでなく、MCPサーバーとしても機能し、その機能(知識ベースなど)を他のMCP互換プラットフォームに公開する「ユニバーサルソケット」プロトコルとして理解することができます。
偶然にも、n8nは最近MCPプロトコルを正式にサポートしました。つまり、MCPを通してFastGPTのナレッジベース機能を公開し、n8nの "ツール "として直接アクセスすることが可能です。このソリューションは完全に実現可能であることが証明されており、インターフェースプロセスは非常にスムーズです。FastGPTの成熟したRAG実装を使用することで、統合された知識ベースQ&Aの結果は非常に良好です。
手術の全過程は以下のステップに要約できる:
- n8n環境(ローカルまたはサーバー)をデプロイします。
- FastGPT を MCP をサポートするバージョンにデプロイまたはアッ プグレードします。
- FastGPT で MCP-Server を作成して設定し、サービスを外部に提供します。
- n8nワークフローでこのFastGPT MCP-Serverにアクセスします。
FastGPT の展開またはアップグレード
FastGPTはバージョンv4.9.6からMCPをサポートしており、最新の安定版(執筆時点ではv4.9.7-fix2)の使用を推奨しています。以下は docker-compose
デプロイやアップグレードの方法(プリインストールされたDocker環境が必要)。
以下の2つの書類を用意する必要がある:
- FastGPT 最新
docker-compose.yml
ドキュメンテーション - FastGPT 最新
config.json
ドキュメンテーション
どちらのファイルもFastGPTのGitHubリポジトリから入手できる:
docker-compose-pgvector.yml
https://github.com/labring/FastGPT/blob/main/deploy/docker/docker-compose-pgvector.ymlconfig.json
https://raw.githubusercontent.com/labring/FastGPT/refs/heads/main/projects/app/data/config.json
注:GitHubに直接アクセスできない場合は、他の入手方法を探すか、国内のミラーソースを利用することができる。
以下の手順は、新規導入とアップグレードに適用されます:
- アップグレードする場合は、まず古いものをバックアップしてください!
docker-compose.yml
および関連するデータ量。 - 入手可能な最新のデータは、以下のサイトから入手する。
docker-compose.yml
歌で応えるconfig.json
ファイルは同じディレクトリに置かれる。
ある config.json
この文書では、以下の点に特に注意を払う必要がある。 mcp.server.host
設定項目。
- FastGPTとn8nの両方がローカルのDocker環境にデプロイされている場合は
mcp.server.host
はマシンのローカルIPアドレスに設定され、ポートは通常3005
. - クラウドサーバーに配備されている場合は、サーバーのエクストラネットIPアドレスまたはドメイン名に設定する必要がある。
コンフィギュレーションが正しいことを確認したら、ファイル・ディレクトリーでターミナルかコマンド・ラインを開き、以下のコマンドを実行する:
docker-compose up -d
下図のようなログ出力が表示され、コンテナがすべて正常に動作している場合は、デプロイまたはアップグレードが成功したことを意味します。
ヒント:Dockerイメージの取り出しに問題がある場合は、以下のように docker-compose.yml
ファイルで、公式ミラーのアドレスを国内のミラーリポジトリのアドレス (例: AliCloud ミラー) に置き換えてください。
FastGPT で MCP サービスを作成する
FastGPT のデプロイまたはアップグレードに成功したら、ブラウザ ( デフォルトは http://127.0.0.1:3000
).
に移動する。 ワークベンチ -> MCPサービス -> 新規サービスMCP-Serverはここで作成し、その機能を外部に公開することができます。ここでは、その機能を外部に公開するMCP-Serverを作成できます。
サービスを作成したら 経営上この MCP サービスに「ツール」を追加できることがわかります。これらのツールは、FastGPT で作成されたボット、ワークフローなどのアプリケー ションです。
ここで重要な問題があります。FastGPTで作成された「知識ベース」を、それ自体が独立したツールとしてMCPサービスに直接追加することはできないようです。ナレッジベースにアクセスできるボットをツールとしてMCPサービスに追加した場合、n8n側はMCPから呼び出されたときに、ナレッジベースから取得したオリジナルのフラグメントではなく、ボット内のビッグモデルによって処理(要約、書き換えなど)されたコンテンツを取得する可能性があります。これは、特に元のテキストを正確に引用する必要があるシナリオでは、期待通りにならないかもしれません。
賢い回避策は、FastGPTの ワークフロー 機能ナレッジベース検索を実行し、必要に応じてレスポンスフォーマットを指定することをコア機能とするシンプルなワークフローを FastGPT で作成できます。
具体的な手順は以下の通り:
- FastGPT で新しいワークフローを作成します。
- のみを追加 ナレッジベース検索 ノードと 指定された対応 ノード(または必要に応じて他の論理ノード)。
- コンフィグ ナレッジベース検索 ノードで、ターゲットとなる知識ベースを選択し、関連するパラメータ(最小関連度、最大引用数など)を設定する。
- コンフィグ 指定された対応 ノードは、検索結果の出力方法を決定する(たとえば、元のテキストブロックを直接出力する)。
- の右上隅をクリックする。 保存と公開.
重要:ワークフロー名は英語表記を推奨し、必ずアプリケーションの説明を記入してください。この情報はn8nに表示され、ツールの識別に役立ちます。
ワークフローの作成と公開が完了したら、次の手順に進みます。 MCPサービス 管理インターフェイス。
- 新しいMCPサービスを作成する(または既存のサービスを編集する)。
- 先ほど作成したナレッジベース検索を含むワークフローを、このサービスの下にツールとして追加します。
追加が終わったら 使い始める.
ポップアップ・ウィンドウで SSE 列のアドレスをコピーします。このアドレスは、作成した FastGPT MCP-Server のアクセス ポイントです。
n8n で FastGPT MCP サービスにアクセスする
ここで、n8nのワークフロー編集画面に切り替える。
- 適切なノードを選択する。 AIエージェント ノードの 工具 設定セクションでプラス記号をクリックします。 +.
- 検索し、正式に提供されたものを追加する MCPクライアントツール ノード
- ある MCPクライアントツール の設定画面で
- 先ほど FastGPT からコピーした SSE アドレスを サーバーURL フィールド
- このToolノードに説明的な名前を設定することができます(例えば
FastGPT Knowledge Base via MCP
)を簡単に呼び出すことができます。
一度設定すれば、n8nのチャットダイアログボックス(または他のトリガー)でテストすることができます。ナレッジベースへの呼び出しが必要な質問を発行します。設定が正しければ、n8n が FastGPT MCP サービスを正常に起動し、回答のベースとして FastGPT のナレッジベースから関連情報を取得することがわかります。
前述したように、FastGPTのRAG知識ベースは、一般的に軽量LLMアプリケーション・プラットフォームにおいて非常に効果的であると考えられています。
また、FastGPT のワークフロー名と導入セットが n8n 側にツール情報として表示され、エージェ ントが使用するツールを理解し選択するのに役立つことがわかります。
広がるアイデアと代替アクセス
ワークフローにカプセル化された)FastGPT知識ベースにMCPを介してn8nにアクセスすることは、効率的で柔軟なアプローチです。これに基づき、拡張も可能です:
- FastGPT の設定 プラグイン もしかしたら ナレッジベース付きボット それ自体がMCPサービスとして外部にパッケージされている。
- FastGPT の API FastGPTは、OpenAI APIフォーマットと互換性のあるインターフェースとして、作成したアプリケーション(例えば、知識ベースを持つボット)を公開することができます。
このAPIアプローチは、n8nのFastGPT知識ベースへのアクセスにも使用できます:
- n8nの AIエージェント ノード(またはLLMを呼び出す必要のある他のノード)に、新しい チャットモデル.
- オプション OpenAI対応チャットモデル タイプ
- 構成資格情報:
Base URL
FastGPT が提供する API アドレスを入力します。API Key
FastGPT アプリケーションに対応する API キーを入力します。
Model Name
任意に記入でき、実際のモデルは FastGPT ボット内で設定された通りになります。
このようにして、n8nはリクエストをFastGPTのAPIエンドポイントに送り、FastGPTはそれを処理して結果を返します。これは、FastGPTのBot(とその知識ベース)を外部のビッグモデル・サービスとして呼び出すことと同じです。
MCPとAPIのアプローチを比較する:
- MCP方式::
- 長所:n8nの "ツール "の概念により合致している、エージェントの他のツールと組み合わせて使用できる、よりネイティブである。
- 短所:セットアップの手順が比較的多い(ワークフローの作成、MCPサービスの設定)。
- APIメソッド::
- 長所: セットアップは比較的簡単で、APIアドレスとキーを取得するだけです。
- 不利な点:n8nでは、組み合わせ可能な「ツール」ではなく、外部モデルへの呼び出しとして動作します。モデルの設定(温度、max_tokensなど)は、n8n側とFastGPT側で調整する必要があります。
開発者は、特定のニーズや好みに基づいて、適切な統合方法を選択することができる。
出版と応用
FastGPT ナレッジベースがどのように統合されているかに関係なく、n8n ワークフローのデバッグが終了したら、外部使用のために公開することは簡単です。
例えば チャットメッセージ トリガーノードとして使用される場合:
- ダブルクリック チャットメッセージ ノード
- オープン チャットの公開 オプション
- システムは公開チャットURLリンクを生成します。
- 忘れないでほしい。 セーブ さらに アクティベート ワークフロー。
この公開チャット・ページは、モバイル・デバイスのブラウザーからアクセスして使用することもできる。
n8nが提供するこのパブリックチャットページは、パスワードアクセスの設定、ユーザーによるファイルのアップロードなど、多くのカスタマイズにも対応していることは特筆に値する。
このため、n8nは、MVP(Minimum Viable Product:実用最小限の製品)製品のプロトタイプを迅速に構築したり、個人やチームの効率を高めるAIワークフローを構築したりするのに理想的です。
とは別に チャットメッセージ n8nの他のトリガーノード(Webhookなど)の多くも、エクストラネットアクセスへのパブリッシングをサポートしており、非常に高い自由度を提供しています。n8nがローカルに配置されている場合、エクストラネットへのアクセスはイントラネットへの侵入などの手法で実現できる。
結論:n8nの価値提案
この種のローコード/ノーコード自動化ツールについて議論する際によくある質問は、「なぜコードで実装しないのか」というものだ。プログラミングに慣れ親しんだ開発者にとっては、コードを使う方がより簡単でコントロールしやすいように思える。
確かにn8nのようなツールには学習曲線があり、使い始めるまでに時間がかかるかもしれない。n8nの強力なノードエコシステムとコミュニティサポートは、単純なものから複雑なものまで、幅広い自動化のニーズに応えることができ、アイデアを素早く軌道に乗せることができる。
もちろん、高度なカスタマイズを必要とするエンタープライズレベルのプロジェクトや、非常に高いパフォーマンスを必要とするプロジェクト、複雑なロジックを含むプロジェクトでは、純粋なコード開発が必要です。しかし、多くの自動化シナリオ、内部ツールの構築、ラピッドプロトタイピング、その他のニーズに対して、n8nとその類似ツールは、非常に効率的で柔軟なオプションを提供します。MCPなどのプロトコルを介してFastGPTのような優れたAIアプリケーションを統合することで、n8nの能力の境界はさらに広がります。