本文介紹如何使用Dify、雲原生數據倉庫AnalyticDB PostgreSQL版的Supabase和LLM構建一個AI客服系統,幫助在線服裝店高效處理售後諮詢、訂單查詢和個性化回覆。通過結合Dify的工作流能力、Supabase的實時數據存儲與LLM的自然語言理解能力,實現快速自動化響應,顯著減輕人工客服壓力並提升客户滿意度。
一、背景
雲原生數據倉庫AnalyticDB PostgreSQL版Supabase提供強大的數據庫功能和實時數據處理能力,高度兼容PostgreSQL向量數據庫。Dify是一個開源的LLM應用開發平台,支持快速構建基於RAG架構的智能應用。通過將雲原生數據倉庫AnalyticDB PostgreSQL版Supabase與Dify集成,您可以輕鬆構建高效的AI客服系統,為用户提供實時、精準的服務。
本文以在線服務裝店為例,介紹如何構建AI客服系統。該系統可以處理售後諮詢、獲取訂單信息並生成個性化回覆,從而減輕人工客服壓力,提升響應速度和客户滿意度。主要優勢如下:
- 數據驅動的精準回覆:AI基於Supabase中真實、結構化的訂單和物流數據生成回覆,確保信息準確無誤。
- AI理解:AI不僅讀取數據,還能分析客户意圖和情緒,主動安撫客户。
- 高效自動化處理:傳統客服需手動查系統再打字回覆,而Dify+Supabase組合實現了秒級自動化響應,釋放人工客服資源以應對更復雜的場景。
二、前提條件
- 已創建Supabase項目。
- 本文以通義千問為例,需要獲取API Key作為調用大模型的鑑權憑證。
三、操作步驟
步驟一:部署Dify
您可以在雲端託管或本地部署Dify,本文介紹本地部署Dify的方法。
1.依次執行以下命令部署Dify。
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
2.訪問http://<IP地址>/install註冊用户並登錄。IP地址為運行Dify的服務器IP地址。
步驟二:接入大模型
1.鼠標懸浮於右上角頭像處,單擊設置。
2.單擊左側導航欄的模型供應商,選擇並安裝模型供應商。本文示例選擇通義千問。
3.安裝完成後,在待配置區域,找到對應模型,並單擊設置,輸入API Key並保存。
步驟三:配置Supabase
1.在Dify界面安裝Supabase插件,作為外部存儲或向量存儲的一部分。
- 單擊右上角的插件,然後單擊左側的搜索Marketplace。
- 搜索supabase,根據提示完成安裝。
2.授權Dify操作Supabase項目。 - 獲取Supabase項目的URL和service role key。查詢方法請參見獲取API Keys。
- 在插件列表中找到已安裝的Supabase,單擊卡片,並選擇API Key授權配置。
- 在彈出框中配置授權信息,單擊保存。
步驟四:準備Supabase測試數據
創建orders表,並插入測試數據。
您可以在Supabase Dashboard頁面左側導航欄單擊SQL Editor,複製以下SQL語句並單擊Run,快速插入測試數據。
CREATE TABLE IF NOT EXISTS orders (
order_id TEXT PRIMARY KEY, --訂單號
customer_name TEXT NOT NULL, --用户姓名
product_name TEXT NOT NULL, --商品名稱
product_size TEXT NOT NULL, --商品尺碼
current_status TEXT NOT NULL, --物流狀態
last_updated TIMESTAMP WITH TIME ZONE NOT NULL, --最後一次更新的時間
estimated_delivery DATE --預計送達日期
);
INSERT INTO orders (
order_id,
customer_name,
product_name,
product_size,
current_status,
last_updated,
estimated_delivery
) VALUES (
'ORD12345',
'張***',
'法式復古藍色連衣裙',
'M',
'已到達【杭州市】分撥中心,等待發往【寧波市】',
'2025-08-16 14:20:00+08',
'2025-08-20'
);
步驟五:創建電商客服工作流
1.在Dify界面,單擊上方的工作室>Chatflow,然後創建應用。
2,按照以下過程配置節點。相關節點的配置操作,請參見workflow。
本示例中問題分類器中配置了三個問題分類,包括“物流”、“顏色”和“尺寸”,您可根據需要添加對應分類。分類器用於識別物流狀態查詢諮詢,提取具體訂單號,“物流”分類下的流程節點配置如下:
| 節點 | 配置信息 |
|---|---|
| 參數提取器 | 輸入變量:sys.query。提取參數:名稱:order_id。類型:String。描述:客户的訂單號,必須是以 "ORD" 開頭的字母數字組合,例如 ORD12345, ORD67890。只提取符合此格式的字符串。必填:是。 |
| GET ROWS | 配置此節點,AI助手向Supabase發起API請求,查詢物流狀態。添加節點時,選擇工具>Supabase>Get Rows。在節點配置右側,選擇已配置的API Keys。輸入變量:Table Name:orders,Limit:100,Filter:order_id |
| 模板轉換 | 輸入變量,變量值選擇Get Rows下的json。 |
| LLM | AI助手將查詢到的物流信息與客户情緒結合,根據提示詞生成回覆。上下文:選擇模板轉換下的output。SYSTEM:將以下提示詞複製到SYSTEM,並在<context></context>XML標籤內輸入“/”插入上下文。使用以下上下文作為你所學習的知識,放在<context></context> XML標籤內。<context><請在此處輸入“/”插入上下文></context>當回答用户時:如果你不知道,就説你不知道。如果你不確定時不知道,尋求澄清。避免提及你從上下文中獲取的信息。並根據用户問題的語言進行回答。 |
| 直接回復 | 回覆:選擇LLM下的text。 |
測試示例
用户問題
你好,我訂單號 #ORD12345 的那件連衣裙,物流沒更新了,急着穿,什麼時候能到?會不會丟件了
AI回覆
您好,關於您的訂單 #ORD12345,目前物流狀態顯示商品已到達杭州市分撥中心,預計將在 2 天內送達寧波市。請您放心,商品在運輸過程中有完善的追蹤系統,不會丟
四、瞭解更多
歡迎搜索釘釘羣號101930027031入羣與技術專家交流