應用場景與解決方案

Dify 搭建網站 AI 客服機器人教程:知識庫配置、嵌入程式碼與日常運營

6 個步驟 9 分鐘閱讀 21 次閱讀 0
本文目錄

網站上的客服機器人可以回答團隊每天都在重複回答的問題,例如套餐、價格、發貨、付款方式和配置步驟,而且全天候線上,還能用訪客的語言回覆。Dify 是一個開源的 AI 應用開發平台,提供視覺化編輯器、內建知識庫和現成的網站嵌入功能。本文使用自託管的 Dify 搭建一個根據你自己的文件回答問題的聊天機器人,以聊天氣泡的形式嵌入網站,並介紹讓它越用越好的日常工作:檢視對話記錄、最佳化回答、保持知識庫內容最新。

請先按照 Dify、n8n 與 AI Agent 伺服器配置要求安裝好 Dify(官方 Docker Compose 部署、HTTPS 反向代理和安全檢查清單)。下文的選單名稱以 Dify 1.x 為準,不同版本之間可能有變化。如果使用雲端 AI 模型,訪客的訊息會傳送給該服務商:請僅在服務商支援的地區使用,並在隱私政策中加以說明。

步驟 1:設定 Dify 的公網訪問地址

嵌入程式碼和檔案連結使用的是 Dify 中配置的地址。如果這些地址仍指向 IP 地址或 localhost,網站上的聊天氣泡將無法載入。請把它們改為你的 HTTPS 域名並重啟:

# In dify/docker/.env, set your HTTPS domain:
CONSOLE_API_URL=https://dify.example.com
CONSOLE_WEB_URL=https://dify.example.com
SERVICE_API_URL=https://dify.example.com
APP_API_URL=https://dify.example.com
APP_WEB_URL=https://dify.example.com
FILES_URL=https://dify.example.com

# Then apply the change:
cd dify/docker && docker compose up -d

步驟 2:接入模型

在 Settings > Model Provider(設定 > 模型供應商)中安裝要使用的模型供應商。如果使用本地模型,請安裝 Ollama 供應商並新增兩個模型:一個對話模型和一個嵌入模型。

ollama pull qwen2.5:7b
ollama pull nomic-embed-text

# Dify runs in Docker, so Ollama must accept connections from containers
# (OLLAMA_HOST=0.0.0.0 plus the firewall rules from the Ollama guide). Check:
curl -s http://172.17.0.1:11434/api/tags | head -c 300; echo

# In Dify, add both models with the base URL:  http://172.17.0.1:11434
#   qwen2.5:7b        model type: LLM
#   nomic-embed-text  model type: Text Embedding

Ollama 端的配置請參閱使用 Ollama 部署本地大模型。然後在系統模型設定中把這兩個模型設為預設模型。你也可以同時新增雲端服務商,再為每個應用分別選擇使用哪個模型。

步驟 3:建立知識庫

  1. 開啟 Knowledge(知識庫),建立一個知識庫,上傳常見問題、產品頁面、價格、發貨和付款說明以及配置教程。
  2. 普通文件保持預設的通用分段方式即可。對於 FAQ 檔案,請每段只寫一個問題及其答案,讓每組問答成為一個獨立的分段。
  3. 索引方式選擇“高質量”並使用你的嵌入模型,檢索方式選擇混合檢索或向量檢索,然後儲存,等待 Dify 處理檔案。
  4. 使用召回測試功能輸入真實的客戶問題,檢查能否返回正確的段落。

乾淨、最新的文件比任何引數設定都重要:刪除舊的價目表,重要的答案要完整寫出來,不要依賴散落在各處的零星提及。較大規模部署的架構選型,請參閱在獨立伺服器上搭建私有 AI 客服知識庫。

步驟 4:建立聊天機器人

在 Studio(工作室)中新建一個 Chatbot(聊天助手)類型的應用。在編輯器中把知識庫新增為上下文,選擇對話模型並設定較低的溫度(約 0.3),然後編寫提示詞:

You are the online assistant of ACME Hosting.
Answer only with information from the context. If the context does not contain
the answer, say you are not sure and suggest contacting support at [email protected].
Keep answers under 120 words and reply in the visitor's language.
Never promise discounts, refunds or delivery times that are not in the context.
If the question is unrelated to our products and services, politely decline.

再新增一段對話開場白,附上三四個推薦問題,並開啟引用功能,以便檢視每個回答引用了哪份文件。釋出之前,請在預覽面板中用至少 20 個來自工單和聊天記錄的真實問題進行測試。

步驟 5:釋出並嵌入網站

釋出應用後,選擇嵌入到網站的選項,並選擇聊天氣泡樣式。Dify 會為你的應用生成具體程式碼,大致如下:

<script>
  window.difyChatbotConfig = {
    token: 'your-app-token',
    baseUrl: 'https://dify.example.com'
  }
</script>
<script src="https://dify.example.com/embed.min.js" id="your-app-token" defer></script>
<style>
  #dify-chatbot-bubble-button { background-color: #009aff !important; }
</style>

把它貼上到網站模板的 </body> 閉合標籤之前。WordPress 網站可以藉助頁首頁尾程式碼外掛完成,無需修改主題。如果想要整頁聊天介面或自建前端,同一個應用還提供公開網頁和 API。

步驟 6:日常運營

  • 每週複查對話:在應用的日誌中查詢機器人答不上來的問題和回答錯誤的情況,然後修正對應的文件。
  • 善用標註回覆:針對高頻問題儲存一條稽核過的答案,開啟標註回覆後,每當有人提出相似的問題,機器人就會直接返回這條答案。
  • 關注監測頁面:留意訊息量、活躍使用者數和 Token 用量,接入付費模型時尤其如此。
  • 及時更新知識庫:價格、套餐或政策變更時同步更新,並刪除過期檔案。
  • 提供人工客服:在開場白中寫明人工客服的聯絡方式,退款、投訴和帳戶變更等事項仍交由團隊人工處理。
  • 防止濫用:公開的聊天機器人可能被惡意刷訊息。如果發現異常流量,請在 Nginx 或 CDN 上按 IP 對 Dify 的 API 路徑進行限速。

常見問題

選 Dify 還是 AnythingLLM?

Dify 面向對外發布 AI 應用:公開的聊天氣泡、API、工作流、日誌和標註。如果只是給自己團隊搭建內部文件助手,AnythingLLM 上手更快,請參閱使用 AnythingLLM 搭建私有 RAG 知識庫問答機器人。

網站上不顯示聊天氣泡怎麼辦?

開啟瀏覽器的開發者控制臺檢視。最常見的原因是步驟 1 中的 URL 仍指向 IP 地址或 http://,導致瀏覽器在 HTTPS 網站上攔截了該指令碼;也可能是安全外掛或內容安全策略(CSP)攔截了來自其他域名的指令碼。

同一個機器人能在 Telegram 上回覆嗎?

可以。Dify 應用提供 API,可供其他工具呼叫。也可以直接在 n8n 中搭建 Telegram 機器人,請參閱使用 n8n 搭建 AI 客服 Telegram 機器人。

如果按以上步驟操作後問題仍未解決,請提交工單聯絡 IMIDC 7×24 技術支援,並附上伺服器 IP、Dify 版本和域名、在 dify/docker 目錄下執行 docker compose ps 的輸出,以及瀏覽器控制台中的報錯資訊,方便工程師快速定位。

這篇文章有幫助嗎?

相關教程