GitHubリポジトリから学習するAIコードアシスタント - n8n ワークフロー

この強力なn8nワークフローを使って、インテリジェントなAIアシスタントを構築しましょう。OpenAIとGitHubを連携させ、カスタムn8nテンプレートを活用してソースコードからナレッジベース(RAG)を作成します。

ワークフロープレビュー

自動化の準備はいいですか?

このn8nワークフローテンプレートをダウンロードして、今すぐ使い始めましょう。

こんな方におすすめ


  • 開発者およびDevOpsチーム: 大規模なコードベースに関する、迅速かつコンテキストを理解した回答を必要としている方。

  • テクニカルライター: GitHubに保存されているドキュメントファイルに対して、自動的に問い合わせる方法を探している方。

  • オートメーションエンジニア: n8nのAIエージェントノードやRAGパターンを活用した高度なサンプルを探している方。

  • n8nテンプレートを探索しているユーザー: 特に複雑なAI連携に焦点を当てている方。

概要

大量のソースコードやドキュメントの管理は、特定の技術的な詳細を見つけ出すことを困難にしがちです。この革新的なn8nワークフローは、GitHubリポジトリをAIエージェントが検索可能なナレッジベースに変換することで、この問題を解決します。

この堅牢なn8nテンプレートは、プロセスを「同期フロー(データのインデックス化)」と「リアルタイム対話フロー(質問への回答)」の2つの主要フェーズに分けています。n8nがいかにシームレスに、大規模なバイナリデータ処理、テキスト分割、埋め込み生成、ベクトルストアを、単一で一貫性のあるn8nワークフロー内で処理できるかを示しています。このn8nノード構成を利用することで、開発者はコードベースに対して対話形式で問い合わせることができ、検索時間を劇的に短縮し、生産性を向上させることができます。

仕組み

この包括的なn8nワークフローは、以下の2つの明確なステージで動作します。

ステージ1:データ同期(インデックス化)


  1. インデックス化の開始: このプロセスは、Sync Data n8nトリガー(手動トリガーノード)から開始されます。

  2. 設定: Config n8nノードが、GitHubリポジトリ内のrepoownerreponamesubpathなどの重要パラメータを定義します。

  3. ファイル取得: GitHubList files n8nノードがこれらのパラメータを使用して、指定されたパス内のすべての関連ファイルを識別します。

  4. ダウンロードとロード: HTTPリクエストGet File n8nノードが各ファイルの実際のコンテンツをダウンロードします。

  5. 前処理: Default Data Loaderがバイナリデータを処理し、Recursive Character Text Splitterがコンテンツをベクトル埋め込みに適した、より小さく管理しやすいチャンク(100文字の重複あり)に分割します。

  6. 埋め込みと保存: Embeddings OpenAI n8nノードがこれらのチャンクのベクトル埋め込みを計算します。最後に、Simple Vector Store1 n8nノードが、source-codeというキーでインデックス化されたベクトルデータをインメモリナレッジベースに挿入します。

ステージ2:対話型AIエージェント


  1. 会話の開始: ユーザーが質問をすると、When chat message received n8nトリガーによってワークフローが起動されます。

  2. AIエージェントの起動: コアとなるAI Agent n8nノードがクエリを受け取り、推論のためにOpenAI Chat Model1を活用します。

  3. メモリとコンテキスト: Window Buffer Memory n8nノードが会話履歴を維持します。

  4. RAG検索: エージェントは、専用のVector Store Tool n8nノード(projectsource_toolという名前)を使用して、インデックス化されたナレッジベース(Simple Vector Store)に対して類似性検索(トップK=5)を実行します。この検索ステップは、文脈の根拠付け(コンテキストのグラウンディング)に不可欠です。

  5. 応答生成: エージェントはリポジトリから関連するコンテキストスニペットを受け取り、ユーザーの質問に対して正確で技術的な回答を生成し、複雑なn8nワークフローが完了します。

インストールガイド

これらのn8nテンプレートを使用して、この強力なn8nワークフローをデプロイするには、次の手順に従ってください。


  1. JSONのインポート: 提供されたJSONデータをコピーし、ワークフローセクション(JSONからインポート)経由でn8nインスタンスにインポートします。

  2. 認証情報の設定: 必要な認証情報が設定されていることを確認してください。

GitHub API: ワークフローがリポジトリの内容を一覧表示および取得できるように、GitHubアカウントを接続します。
OpenAI API: Embeddings OpenAIノードおよびOpenAI Chat Modelノード用にOpenAIの認証情報を設定します。これはインデックス化とクエリの両方で不可欠です。

  1. パラメータの設定: Config n8nノードを開き、リポジトリに応じてパラメータを更新します。

repoowner: GitHubリポジトリの所有者。
repo
name: リポジトリ名。
* sub_path: インデックス化したいリポジトリ内の特定のディレクトリパス(例: workflowsdocs)。

  1. 初期同期: チャットエージェントを使用する前に、Sync Data n8nトリガーを一度実行し、ベクトルストアにGitHubコンテンツを事前に入力してください。

ノード詳細

Sync Data (手動トリガー): インデックス化側ワークフローの開始n8nトリガー。ナレッジベースを手動で更新するために使用されます。
Config (Set): インデックス化フロー全体で使用される環境変数(repoownerreponamesubpath)を動的に設定するために使用される基本的なn8nノードです。
List files (GitHub): このn8nノードは、設定されたGitHubリポジトリパスからファイルの一覧を取得し、ダウンロードに必要なファイル詳細を提供します。
Get File (HTTPリクエスト): GitHub n8nノードによって提供されるdownload
urlを使用してファイルの実際のコンテンツをダウンロードし、埋め込み処理の準備をします。
Recursive Character Text Splitter: 重要なRAG前処理n8nノード。大容量ファイルを効率的に小さなチャンクに分割し、埋め込みとベクトル検索に最適化します。チャンクの重複は100に設定されています。
Embeddings OpenAI / Embeddings OpenAI1: このn8nノードの2つのインスタンス。OpenAIサービスを利用して、テキストチャンクと受信クエリを高次元の数値ベクトルに変換する役割を担います。
Simple Vector Store / Simple Vector Store1 (インメモリベクトルストア): これらのn8nノードは、キーsource-codeを使用してRAGナレッジベースを維持します。一方はinsertモード(インデックス化用)、もう一方はdefaultモード(検索取得用)に設定されています。
When chat message received (チャットトリガー): AIエージェント側の開始n8nトリガー。n8nチャットインターフェースでのユーザー操作を待ち受けます。
AI Agent (LangChain Agent): n8nワークフローの主要な頭脳部分。ソースコードに基づいた技術的な質問に対してprojectsourcetoolを使用するように指示するシステムメッセージが設定されています。
Vector Store Tool: AIエージェントがナレッジベースとどのように対話するかを定義するn8nノード。最も関連性の高いドキュメントチャンク5件(topK=5)を取得するように特別に設定されています。

関連するn8nワークフロー

無料

ノード: 14 ノード
更新済み: 12月 26 2025
すべて表示
作成者

I am Nguyen Trung Nghia, a Software Engineer passionate about AI Automation. I build intelligent automation systems that help businesses reduce costs, increase productivity, and scale faster with the power of AI technology.

特徴*