如果已經建好 RAG,接著我們就可以在 n8n 裡跟他對話了,用這篇來跟大家介紹該怎麼跟你的 RAG 對話。
Step 1: 建立新的工作流
建立新的工作流,並設定起始點是 Chat Trigger,這樣就可以直接在 n8n 裡測試對話了,當然正式服務還是串像 Line 這樣的即時通訊軟體更好。
Step 2: 串接你的 RAG
建立 Question and Answer Chain 節點,在接收 Chat 傳過來的訊息後,加上以下設定:
prompt 會抓前一個節點過來的訊息 {{$json.chatInput}},然後點 Add Option,在 System Prompt Template 加上以下提示詞,這是用來定義 AI 身份的
你是公司客服,專長是網站開發相關領域。
閱讀公司簡介及 FAQ 資料庫,了解公司的服務範疇的相關內容,並以專業的角度親切地回答使用者問題。
一律用繁體中文回應,但英文專有名詞則保留原文。
Context: {context}
接著點擊節點左下的線連結 AI Model,這邊我用 OpenAI 的 gpt model,你也可以選擇你喜歡的。
點擊右下的點,在 Vector Store Retriever 設定要回傳的 Chunks 數,這邊要注意太少的話可能會遺漏上下文而不完整,太多的話會造成 LLM 分心,不僅速度變慢還會消耗更多的 token,一般的話設定在 3~5 即可。
Step 4: 設定向量資料庫檢索器
在 Vector Store Retriever 點擊新增節點 Supabase Vector Store,並設定連線,記得一定要已經儲存向量資料。
這裡要連結你建立的向量資料表,另外在 Query Name 設定 match_nhi_drug_1536,這也是之前有建立的。
設定 Embedding 模型:
在 Supabase Vector Store 下方新增節點,選擇 Embeddings OpenAI(這邊也可以依據你的喜好選擇別的)。
Step 5: 測試與結果
以上都設定好了,就可以來詢問 AI 啦,這邊我在對話視窗內輸入「請問你們服務項目」,過一點時間就會得到回傳的結果了,看是不是跟你提供給 AI 的一樣,這樣就可以避免 AI 有幻覺了。
完成的工作流如下:
資料參考:
n8n 教學 (五):讓 AI 參考向量資料庫回答 (RAG)
另外我在天地人有開一門「3 小時掌握自動化工作新手應用實作 – n8n AI Agent」,輸入折扣碼 TC1600UY 還可以額外獲得 NT$500 優惠喔。