最近大家在訪問 Milvus.io 時是否有發現右下角的客服機器人圖標?
它究竟有什麼功能,又是怎麼實現的呢?今天我要帶大家來了解這個基於 Milvus 的 FAQ 問答機器人-MilMil。
MilMil
是由 Milvus 社區開發的一款基於 Milvus 常見問題的自動問答機器人,旨在收集用戶在使用 Milvus 的過程中遇到的問題,幫助用戶快速查找答案,同時擴展用戶獲取問題答案的途徑。
該問答機器人的數據來自於 Milvus 開源以來所收到的用戶問題,共有兩個問答庫,分別針對 Milvus 1.x 版本和 Milvus 2.x 版本。
考慮到 Milvus 社區面向全球開發者,MilMil 的問答庫中導入的均爲英文問答數據集。
實現
MilMil 的實現是基於 Sentence_Transformers 庫中的 paraphrase-mpnet-base-v2 模型提取問題的語義向量,然後通過 Milvus 檢索相似向量來獲取問答庫中的相似問題,以此來達到查詢相似問題的目的。
具體實現過程如下圖,
藍線表示數據導入過程,黑線
表示查詢過程,即獲取問題答案的過程。
導入數據前我們先準備了一份問答數據集,並通過 BERT 等自然語言處理模型將問答數據集轉化爲語義特徵向量,導入 Milvus 中。Milvus 會給每一個向量分配一個 ID,最後將這些 ID 及其對應的問答數據導入 PostgreSQL 或同類其他關係型數據庫。
當用戶向機器人提出問題時,系統先將用戶提出的問題通過模型轉化爲特徵向量,再通過相似性搜索在 Milvus 庫中查詢與該向量最相似的五條向量並獲取它們的 ID。最後,通過在關係型數據庫中查找這些 ID,得到對應的問題和答案,並返回給用戶。
具體實現可以參考 Milvus 訓練營中的 question answering system 項目。
🤖 QA system:https://github.com/milvus-io/bootcamp/tree/master/solutions/question_answering_system
使用
MilMil 目前已經在 Milvus 官網上線。打開 Milvus 官網的任一文檔頁面,點擊右下角 Milvus 吉祥物的小鳥圖標,即可在對話框中輸入問題進行提問。此外,你還可以通過切換左上角 Milvus 文檔的版本號來切換該 Chatbot 的問答庫版本。
輸入問題點擊發送後,問答機器人會返回與輸入問題相似的三個問題。點擊 See Answers 查看問題對應的答案,或點擊 See More 查看更多的相似問題。如果你沒有獲取到想要的答案,可以點擊回覆框內底部的 Put in your feedback here, 輸入你的郵箱以及問題,後續社區人員會回覆相關問題的文檔和答案等。
非常歡迎大家在使用 Milvus 過程中,通過 MilMil 來查詢問題。如有任何關於該 Chatbot 的問題或意見,也歡迎大家在社區中反饋給我們。
Github @Milvus-io|CSDN @Zilliz Planet|Bilibili @Zilliz-Planet
Zilliz 以重新定義數據科學爲願景,致力於打造一家全球領先的開源技術創新公司,並通過開源和雲原生解決方案爲企業解鎖非結構化數據的隱藏價值。
Zilliz 構建了 Milvus 向量數據庫,以加快下一代數據平臺的發展。Milvus 目前是 LF AI & Data 基金會的畢業項目,能夠管理大量非結構化數據集。我們的技術在新藥發現、計算機視覺、推薦引擎、聊天機器人等方面具有廣泛的應用。