大家好!我為一家留學簽證諮詢公司,打造了一個下班時間運作的 WhatsApp 助理,並寫下了它的運作方式。希望這篇文章能幫助到正在建構類似系統的人。
這個助理的功能包括:僅根據諮詢公司提供的服務、文件、入學時間和辦公室等內部資料來回答學生問題。它絕不會虛構費用、語言成績或簽證成功率,而是將這些敏感問題轉交給顧問處理。
這篇文章分享如何為留學簽證諮詢公司,打造一個下班時間運作的 WhatsApp AI 助理。該助理能根據公司資料回答學生問題、收集潛在客戶資訊,並支援多語言對話,有效提升客戶服務效率。作者也詳細說明了建構過程、使用的技術棧以及遇到的挑戰與解決方案。

大家好!我為一家留學簽證諮詢公司,打造了一個下班時間運作的 WhatsApp 助理,並寫下了它的運作方式。希望這篇文章能幫助到正在建構類似系統的人。
這個助理的功能包括:僅根據諮詢公司提供的服務、文件、入學時間和辦公室等內部資料來回答學生問題。它絕不會虛構費用、語言成績或簽證成功率,而是將這些敏感問題轉交給顧問處理。
它會一次一個問題地收集學生的姓名、所需服務、國家和最佳通話時間。此外,助理能以學生使用的相同語言(英語、印地語或旁遮普語)進行回覆。
這個助理的建構方式是將 WAHA 部署在 Docker 中,與 n8n 並行運作(這僅是演示,生產環境應使用官方雲端 API)。其工作流程為:Webhook → 過濾器 → 設定 → AI 代理 → HTTP 請求回傳至 WAHA。
AI 代理使用了 Gemini 3.5 Flash Lite 模型,並透過聊天 ID 鍵控的 PostgreSQL 聊天記憶體來儲存對話。它還包含一個名為 save_lead 的資料表工具,模型會自行呼叫此工具,並透過 $fromAI() 填入所有欄位。
為了讓等待時間感覺更自然,系統設計了兩個並行分支來處理「已讀」和「正在輸入...」狀態。整個系統在 EC2 上自行託管,並使用 Caddy 處理 HTTPS。
在建構過程中,我遇到了一些問題。WhatsApp 現在將發送者 ID 以 @lid 形式發送,而非電話號碼,這導致我的白名單過濾器失效。同時在環境變數和儀表板中設定 WAHA webhook,則會導致每條訊息都收到兩次。
一個已停用的 Gemini 模型和 503「高需求」錯誤曾導致機器人靜默。我透過失敗重試、錯誤時繼續執行和備用回覆來解決了這個問題。此外,如果提示詞中沒有明確指示「僅在 save_lead 成功後才確認」,模型會告訴學生他們的資料已儲存,即使實際上並沒有。
包含設定程式碼片段的完整文章,請參考 DEV Community 上的「Building a WhatsApp Enquiry Assistant with n8n and an LLM That Answers From a Business’s Own Documents」。
覺得值得一看?分享給朋友。
以上為 AI 自動翻譯導讀。原文版權歸 n8n Community 所有, 建議透過「閱讀原文」前往原始網站,以取得最完整資訊並支持原作者。
43 個來源、每 2 小時更新,太多看不完。電子報每週挑最值得看的幾則,附上 Max 的看法。