從 GitHub 儲存庫學習的 AI 程式碼助理 - n8n 工作流程

使用這個強大的 n8n 工作流程來建構一個智慧型的 AI 助理。串接 OpenAI 和 GitHub,並利用自訂的 n8n 範本,由你的原始碼建立知識庫 (RAG)。

工作流預覽

準備好自動化了嗎?

下載此 n8n 工作流程範本並立即開始使用。

適用對象


  • 開發人員與 DevOps 團隊: 需要針對大型程式碼庫快速獲得帶有上下文的答案。

  • 技術文件撰寫者: 正在尋找一種自動化的方式來查詢儲存在 GitHub 上的文件。

  • 自動化工程師: 正在尋找使用 n8n AI Agent 節點及 RAG 模式的進階範例。

  • 探索 n8n 範本的使用者: 特別是那些專注於複雜 AI 串接的用戶。

總覽

管理大量的原始碼或文件時,要找到特定的技術細節通常很具挑戰性。這個創新的 n8n 工作流程透過將你的 GitHub 儲存庫變成 AI 代理程式可搜尋的知識庫來解決這個問題。

這個穩健的 n8n 範本將流程拆分為兩個關鍵階段:同步流程(資料索引)和即時對話流程(回答問題)。它展示了 n8n 如何在單一、連貫的 n8n 工作流程中,無縫處理大型二進位資料、文字分割、向量嵌入生成和向量儲存。透過使用這個 n8n 節點設定,開發人員可以用對話的方式查詢他們的程式碼庫,大幅減少搜尋時間並提升生產力。

運作方式

這個完整的 n8n 工作流程分兩個不同的階段運行:

階段 1:資料同步(索引)


  1. 啟動索引: 流程由 Sync Data n8n 觸發器(一個手動觸發節點)啟動。

  2. 設定配置: Config n8n 節點用來定義 GitHub 儲存庫中的關鍵參數,例如 repoowner(儲存庫擁有者)、reponame(儲存庫名稱)和 subpath(子路徑)。

  3. 檔案擷取: GitHubList files n8n 節點會使用這些參數來識別指定路徑下的所有相關檔案。

  4. 下載與載入: HTTP RequestGet 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 檢索: 代理程式會使用名為 projectsource_tool 的專用 Vector Store Tool n8n 節點,對已索引的知識庫(Simple Vector Store)執行相似度搜尋(檢索前 K=5 筆)。這個檢索步驟對於提供上下文基礎至關重要。

  5. 生成回應: 代理程式接收來自儲存庫的相關上下文片段,然後針對用戶的問題生成精確的技術性回答,從而完成這個複雜的 n8n 工作流程。

安裝指南

要使用這些 n8n 範本來部署這個強大的 n8n 工作流程,請遵循以下步驟:


  1. 匯入 JSON: 複製提供的 JSON 資料,並透過工作流程(Workflows)區塊(從 JSON 匯入 Import from JSON)匯入到你的 n8n 實例中。

  2. 憑證設定: 確保你已設定好必要的憑證:

GitHub API: 連接你的 GitHub 帳號,以允許工作流程列出和擷取儲存庫內容。
OpenAI API:Embeddings OpenAIOpenAI Chat Model n8n 節點設定你的 OpenAI 憑證。這對於資料索引和後續查詢都至關重要。

  1. 設定參數: 開啟 Config n8n 節點,並根據你的儲存庫更新參數:

repoowner:GitHub 儲存庫的擁有者。
repo
name:儲存庫的名稱。
* sub_path:你希望建立索引的儲存庫內的特定目錄路徑(例如 workflowsdocs)。

  1. 初始同步: 在使用聊天代理程式之前,先執行一次 Sync Data n8n 觸發器,用你的 GitHub 內容來填入向量儲存庫。

節點詳情

Sync Data (手動觸發): n8n 工作流程中負責資料索引部分的啟動觸發器,用於手動重新整理知識庫。
Config (Set): 一個基礎的 n8n 節點,用於動態設定在整個索引流程中使用的環境變數(repoownerreponamesubpath)。
List files (GitHub): 這個 n8n 節點會從設定好的 GitHub 儲存庫路徑中擷取檔案列表,提供後續下載所需的檔案細節。
Get File (HTTP Request): 使用 GitHub n8n 節點提供的 download
url 下載檔案的實際內容,為後續的嵌入(embedding)做準備。
Recursive Character Text Splitter: 一個關鍵的 RAG 預處理 n8n 節點,它能高效地將大檔案分割成小區塊,以優化向量搜尋。此處設定的區塊重疊量為 100。
Embeddings OpenAI / Embeddings OpenAI1: 這個 n8n 節點的兩個實例,負責使用 OpenAI 服務將文字區塊和接收到的查詢轉換成高維度的數值向量。
Simple Vector Store / Simple Vector Store1 (記憶體向量儲存庫): 這些 n8n 節點使用 source-code 這個鍵來維護 RAG 知識庫。一個設定為 insert(插入)模式(用於索引),另一個設定為 default(預設)模式(用於搜尋檢索)。
When chat message received (聊天觸發器): AI 代理程式部分的啟動觸發器,用於監聽 n8n 聊天介面中的用戶互動。
AI Agent (LangChain 代理程式): n8n 工作流程的核心大腦。設定了系統訊息,指導它根據原始碼回答技術問題時,要使用 projectsourcetool
Vector Store Tool: 定義 AI 代理程式如何與知識庫互動的 n8n 節點,專門設定為檢索最相關的前 5 個文件區塊(topK=5)。

相關 n8n 工作流程

免費

節點: 14 節點
更新时间: 2025年12月26日
建立者

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.

精選*