《離語》轉載請注明來源:思兔閱讀sto.ist
界麵輸入他們的問題或請求。對用戶輸入文本進行清洗,包括去除標點符
號,進行分詞等。轉化為結構化數據後將預處理後的文本轉換為向量形式,以便於機器理解。將向
量化處理後的用戶問題構建成搜索向量。使用搜索向量與知識庫中已向量化的內容進行匹配,找出
相關的信息。對匹配到的知識庫內容進行排序,選擇最相關的幾個回答候選。為保證性能設置最相
關的問答數量。基於排序和選擇的結果,生成回答,將最終確定的回答返回給用戶。
對於用戶輸入的問題語句進行文本預處理,隨後將其變成機構化數據後向量化,與先前處理文
獻數據類似,因此這裡不再贅述。
知識庫搜索:
以下是通過
weaviate
在名為“water”的集合中搜索與特定查詢文本相近的文檔,並返回相
關文檔的內容和來源,設置
top_k=3,考慮計算機性能與運行速度,隻尋找三個匹配項。
這段代碼最終返回一個包含匹配文檔內容和來源的列表。
在線搜索:
以下是通過在線搜索引擎在互聯網上搜索相關內容,並返回格式化的文檔列表,其中包含每個
搜索結果的摘要內容和來源鏈接的代碼,同樣設置
top_k=3,返回三個匹配項。
通過
duckduckgo
搜索引擎在互聯網上搜索相關內容,並返回格式化的文檔列表,其中包含每
個搜索結果的摘要內容和來源鏈接。代碼利用正則表達式提取搜索結果中的摘要、標題和鏈接信
息,並對結果進行整理和格式化,以便展示給用戶。通過這個函數,用戶可以通過輸入查詢來搜索
互聯網上的相關信息,並查看摘要和鏈接。
streamlit
是一個強大的
python
庫,主要用於機器學習、數據可視化和
web
應用程序的快速
開發。用戶在編寫代碼時可以實時看到應用界麵的變化,快速調試和驗證結果。內置多種交互式組
件(如滑塊、複選框等)方便用戶與應用進行互動。支持快速創建數據可視化圖表,如折線圖、散
點圖、地圖等,展現數據分析結果。
5.3
測試模型與優化
性能評估的目的是通過係統的測試結果來識彆當前實現的短板和潛在改進點。基於這些評估,
可以針對性地對向量知識庫進行優化,從而提高整體模型的準確性和效率。以下是如何根據
chatbot
模式測試的結果對向量知識庫進行優化。
在性能評估過程中,需要關注幾個關鍵指標:
1.準確率:模型響應的正確性。
2.響應時間:從接收到查詢到返回響應的時間。
3.用戶滿意度:基於用戶反饋的滿意度評分。
4.係統穩定性:係統在連續運行時的穩定性和可靠性。
通過以上三種途徑的問答,可以看到,通過向量知識庫和在線搜索與大語言模型本身相結合,
即
rag
技術,均為大語言模型優化了生成回答的準確性,對大語言模型的專業領域知識做了補充和
改善。
基於以上的性能評估結果,可以采取以下步驟對向量知識庫進行優化。
1.增強向量覆蓋範圍:對於準確率低的查詢,分析模型回應錯誤的原因。如果是由於知識庫中
缺少相關信息,可以通過添加更多相關文檔和數據來增強向量知識庫的覆蓋範圍。
2.優化向量生成算法:重新訓練向量生成模型,使用更大的數據集或更複雜的模型架構,以提
高向量的質量和表達能力。
3.調整檢索算法:如果響應時間較長或返回的向量與查詢關聯度不高,考慮優化檢索算法。例
如,采用更快的檢索算法或調整向量匹配邏輯。
4.用戶反饋集成:建立一個機製,允許用戶在使用過程中提供反饋。這些反饋可以直接用於指
導向量知識庫的更新和優化。
5.持續監控和測試:建立持續的性能監控和定期測試機製,確保向量知訣庫的持續優化和模型
性能的穩定性。
5.4
本章小結
向量知識庫後,對向量知識庫的效果進行檢驗,也對本項目進項完善,設計了一個
chatbot
模
式來對向量知識庫進行優化,通過向
chatbot
提問,看基於電力
lca
領域的專業大模型能否回答專
業問題。通過
chatbot
實現了用戶對文獻的檢索功能,最後是通過對模型回答問題的準確率,正確
率進行評估,從而實現將模型不斷優化。