基于Dify 知識庫的實驗demo:從0到1構建智能商品分類系統(tǒng)

0 評論 738 瀏覽 4 收藏 8 分鐘

在AI技術加速滲透各行各業(yè)的當下,如何將“智能”真正嵌入業(yè)務流程,成為產(chǎn)品人繞不開的命題。本文以Dify知識庫為核心,復盤一個從0到1構建智能商品分類系統(tǒng)的實驗demo,供大家參考。

最近接到了一個新的任務:根據(jù)商家提供的商品名稱,實現(xiàn)商品的自動歸類。這篇文章記錄了我從屢屢踩坑到最終用Dify跑通一個可行Demo的完整實驗過程,干貨滿滿。

一、最初的挑戰(zhàn):為成千上萬的商品自動“安家”

想象一下,你面對著成千上萬個商品,需要為它們精準地打上三級分類標簽,比如把“新款純棉透氣T恤”分到“服裝 > 男裝 > T恤”下。手動操作不僅枯燥,還容易出錯。于是,我們自然想到了用 AI 來自動化這個過程。但問題也隨之而來:商品分類體系太龐大了,AI 如何才能準確、高效地完成任務呢?

二、彎路與啟示:兩次失敗的嘗試

在找到最佳方案前,我和團隊也踩了不少坑。這里分享兩個典型的“彎路”,希望能幫大家在未來的項目中少走一些。

彎路一:簡單粗暴的“一步到位”法

我們最開始的想法很簡單:把商品名和所有三級分類的列表一起扔給大模型,讓它直接選。想象很美好,現(xiàn)實很殘酷,結果呢?模型直接“罷工”了。因為幾萬條分類數(shù)據(jù)遠遠超出了大模型的上下文長度限制。這就像讓一個人一口氣背下整本字典再去查字,根本不現(xiàn)實。

彎路二:層層遞進的“逐級問詢”法

既然一次性不行,那就分步走。我們嘗試先讓模型判斷一級分類,再判斷二級,最后確定三級。這個方法雖然能跑通,但體驗極差:

  • 成本高:一次分類要調用三次模型,令牌(Token)消耗飛漲。
  • 速度慢:三次串行請求,用戶等待時間太長。
  • 不穩(wěn)定:任何一步出錯,后面就全錯了,像多米諾骨牌一樣。

這兩次嘗試讓我們明白,單純依賴大模型的“蠻力”是行不通的。

三、真正的突破口:“檢索”與“生成”的黃金組合

在反思之后,我們找到了真正的突破口——這正是 Dify 知識庫的核心價值所在,即檢索增強生成(RAG)。

說白了,就是我們不再強迫大模型去“背誦”所有知識,而是給他一本“開卷”的參考書,讓他根據(jù)問題快速“查閱”并作出判斷。

我們的“智慧優(yōu)選”方案分為兩步:

  1. 第一步:向量檢索我們將所有的三級分類名稱和描述存入Dify知識庫。當輸入一個商品名時,系統(tǒng)會利用向量檢索,快速從知識庫中找出語義上最相似的一小撮候選分類(比如10個)。
  2. 第二步:大模型精選然后,我們把商品名和這10個候選分類一起交給大模型,讓它在這個小范圍內(nèi)做個“優(yōu)中選優(yōu)”的決策。任務難度大大降低,準確率自然飆升。

這個方案不僅速度快、成本低,而且效果出奇地好,成為了我們的最終選擇。

[建議此處插入流程圖:商品名稱 -> 向量檢索(Dify知識庫) -> Top K 候選分類 -> 大模型精選 -> 最終分類]

當然在實踐過程中,我們也踩了很多坑。比如,單純導入商品名稱到知識庫中,召回率也比較低。后來我們把類目屬性名稱也一并導入到知識庫中,在檢索前使用大模型對檢索詞進行改寫,獲得了非常不錯的效果。

四、讓系統(tǒng)“活”起來:知識庫的動態(tài)更新

商品分類不會一成不變,總會有新增、修改或廢棄。如果知識庫不能同步更新,AI 的判斷就會慢慢“過時”。

為此,我們專門在 Dify 中編排了一個專用的數(shù)據(jù)管理工作流。這個工作流通過 API 接口,實現(xiàn)了對知識庫中三級分類數(shù)據(jù)的自動化管理:

  • 新增分類:當業(yè)務后臺增加一個新品類時,自動調用API將其添加入知識庫。
  • 更新分類:當某個分類的描述或名稱變更時,自動調用API更新知識庫中的對應條目。
  • 刪除分類:當某個分類被廢棄時,自動調用API將其從知識庫中移除。

通過這種方式,我們的知識庫與業(yè)務系統(tǒng)實現(xiàn)了實時聯(lián)動,變成了一個能自我進化的“活”系統(tǒng),保證了AI決策的時效性和準確性。

五、利其器善其事:我的模型推薦清單

工欲善其事,必先利其器。在“智慧優(yōu)選”方案中,Embedding 模型和 Rerank 模型的選擇至關重要。

1. Embedding 模型

它的任務是把文本轉成向量,決定了我們能“撈”回多少相關的候選者。

開源首選:BAAI/bge-large-zh-v1.5。目前中文語義理解的佼佼者,追求極致效果的首選。

2. Rerank 模型

它能對召回的候選集進行二次排序,把最匹配的那個推到最前面。

開源首選:BAAI/bge-reranker-large。與bge-embedding是“黃金搭檔”,配合使用效果拔群。

大家可以根據(jù)自己的業(yè)務需求和技術棧,選擇合適的模型組合進行測試。

結語

回顧整個過程,從最初的屢屢碰壁,到最終找到“檢索+生成”并結合動態(tài)數(shù)據(jù)維護的驗證demo,我深刻體會到:構建一個強大的人工智能應用,關鍵在于巧妙地組合利用工具,而不是迷信單一技術。

當然,從Demo走向生產(chǎn),還有很長的路要走。

希望今天的分享,能對正在探索 AI 應用邊界的你有所啟發(fā)。

本文由 @dify實驗室 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!