透過 Telegram 建立的 PDF 文件 RAG 聊天機器人 - n8n 工作流程

使用這個完整的 n8n 工作流程,在 Telegram 上建立一個檢索增強生成 (RAG) 聊天機器人。將 PDF 建立索引至 Pinecone,並使用 Groq 大型語言模型來回答查詢。

工作流預覽

準備好自動化了嗎?

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

適用對象

-
尋找穩健的 RAG n8n 範本的技術使用者和開發人員。
需要即時查詢大量文件或知識庫的企業。
尋求 Groq、Pinecone 和 n8n 進階整合範例的自動化專家。
希望透過 Telegram 部署一個安全、可搜尋的知識機器人團隊。

總覽

這個精密的 n8n 工作流程,透過將原始 PDF 文件轉換為可搜尋的知識庫,解決了非結構化資料的可存取性問題。它利用向量資料庫 (Pinecone) 和最尖端的語言模型 (Groq) 的強大功能,即時提供準確且具備上下文感知能力的答案。當使用者傳送文件時,n8n 節點邏輯會智慧地處理並建立資料索引。當使用者傳送問題時,n8n 觸發器會啟動 RAG 程序,確保回覆內容皆有依據所提供的文件。這個特定的 n8n 工作流程是結合複雜 AI 操作與使用者友善聊天介面的絕佳範例。

運作方式

整個自動化程序從在 Telegram 平台上設定的 n8n 觸發器開始。這個穩健的 n8n 工作流程在兩種截然不同的模式下運行:


  1. 文件建立索引(知識庫建置):

「Telegram 觸發器 (Telegram Trigger)」接收到傳入訊息。
「檢查是否為文件 (Check If is a document)」n8n 節點判斷訊息中是否包含檔案。
如果存在文件,則「Telegram 取得檔案 (Telegram get File)」n8n 節點會下載該二進位資料。
一個「改為 application/pdf (Change to application/pdf)」程式碼 n8n 節點,確保檔案的中繼資料被正確設定,以便進行 PDF 解析。
使用「遞迴字元文字分割器 (Recursive Character Text Splitter)」將文件分割成可管理的區塊。
「OpenAI 嵌入 (Embeddings OpenAI)」為這些區塊生成向量表示(嵌入)。
「Pinecone 向量儲存庫 (Pinecone Vector Store)」(使用『插入』模式)將區塊和嵌入配對儲存到指定的 Pinecone 索引中。
透過「Telegram 資料庫回覆 (Telegram Response about Database)」傳送確認訊息。


  1. 問題回答(RAG 檢索):

如果訊息是文字查詢,流程將跳過文件處理步驟,直接進入「問答鏈 (Question and Answer Chain)」。
此鏈路使用使用者的訊息作為查詢。
連接到專用的「Pinecone 向量儲存庫1 (Pinecone Vector Store1)」(設定為檢索模式)的「向量儲存檢索器 (Vector Store Retriever)」,會根據語意相似度擷取最相關的文件區塊。
擷取到的上下文內容連同使用者的原始查詢,會傳遞給「Groq 聊天模型 (Groq Chat Model)」(利用 llama-3.1 這類高效能的大型語言模型)。
大型語言模型會生成一個有依據的回覆。
最後使用「Telegram 回覆 (Telegram Response)」n8n 節點將最終回覆傳送給使用者。

安裝指南

要部署這個專門的 n8n 範本解決方案,請遵循以下步驟:


  1. 匯入工作流程: 複製提供的 JSON 資料,並使用 n8n 實例中的『新增 (New)』->『從 JSON 匯入 (Import from JSON)』功能將其貼上。

  2. 設定憑證:

Telegram: 為「Telegram 觸發器 (Telegram Trigger)」、「Telegram 取得檔案 (Telegram get File)」以及「Telegram 回覆 (Telegram Response)」n8n 節點設定 Telegram API 憑證(機器人 Token)。
OpenAI: 為負責生成嵌入的 n8n 節點(「OpenAI 嵌入 (Embeddings OpenAI)」)設定 OpenAI API 憑證。
Groq: 為「Groq 聊天模型 (Groq Chat Model)」n8n 節點設定 Groq API 憑證。
Pinecone: 為兩個「Pinecone 向量儲存庫 (Pinecone Vector Store)」n8n 節點設定 Pinecone API 憑證,並確保它們指向正確的索引(在此 n8n 工作流程範例中命名為 'telegram')。

  1. 啟用觸發器: 確保「Telegram 觸發器 (Telegram Trigger)」已正確設定,並且工作流程狀態設為『啟用 (Active)』,以便開始監聽傳入訊息。

節點詳情

此 n8n 工作流程依賴幾個核心和專業節點:

Telegram 觸發器 (Telegram Trigger) (n8n 觸發器):
功能: 在已設定的 Telegram 機器人聊天中收到訊息更新時,啟動 n8n 工作流程。
關鍵設定: 專門監聽 message 更新。
檢查是否為文件 (Check If is a document) (If n8n 節點):
功能: 根據訊息負載中是否存在附件($json.message.document 存在)來路由流程。
關鍵設定: 條件檢查文件物件是否存在。
Telegram 取得檔案 (Telegram get File):
功能: 使用 Telegram API 提供的檔案 ID 下載實際的二進位檔案內容。
改為 application/pdf (Change to application/pdf) (程式碼 n8n 節點):
功能: 關鍵的中間步驟,用於程式化地將下載的二進位檔案的 MIME 類型設定為 application/pdf,確保被 LangChain 資料載入器正確處理。
遞迴字元文字分割器 (Recursive Character Text Splitter):
功能: 將大型 PDF 文字內容分割成適合建立嵌入和檢索的小型、重疊的區塊。
關鍵設定: 區塊大小 (Chunk Size) 設定為 3000,區塊重疊 (Chunk Overlap) 設定為 200。
OpenAI 嵌入 (Embeddings OpenAI):
功能: 將文件區塊轉換為儲存在 Pinecone 中的數值向量,用於語意搜尋。
Pinecone 向量儲存庫 (Pinecone Vector Store)(插入模式):
功能: 處理後文件的目的地,將文字區塊及其對應的嵌入資料插入到 'telegram' 索引中。
Groq 聊天模型 (Groq Chat Model):
功能: 在 RAG 鏈中作為大型語言模型 (LLM) 組件。
關鍵設定: 使用 llama-3.1-70b-versatile 模型以獲得高品質、快速的回應。
向量儲存檢索器 (Vector Store Retriever):
功能: 對 Pinecone 向量儲存庫1 (Pinecone Vector Store1) 執行相似度搜尋查詢,以提取相關的上下文內容給 LLM。
問答鏈 (Question and Answer Chain):
功能: 調度 RAG 程序,結合使用者的查詢、擷取的上下文內容以及 Groq 聊天模型 (Groq Chat Model) 的輸出,以擬定最終答案。

相關 n8n 工作流程

免費

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

Engineer who likes to code as hobby

精選*