第277章 延遲
字數:7280 加入書籤
《離語》轉載請注明來源:思兔閱讀sto.ist
本章介紹了研究所選文獻數據的獲取來源和途徑。通過
python
爬取的方式獲取大部分文獻數
據與元數據,對元數據進行基本處理,為後續分析提供幫助,豐富向量知識庫的數據儲備。隨後為
了最大程度提高向量知識庫的可信程度,對文獻數據進行篩選,選出帶有流程圖,數據,輸入輸出
的英文文獻,作為最後使用的數據。精細篩選後,使用
unstructured
庫進行數據預處理使其轉化
為結構化數據。
4.2
向量知識庫的構建
向量知識庫構建是一個將處理過的數據嵌入向量知識庫的過程,主要用於將不同類型的數據轉
化為向量,並進行存儲和檢索。其流程如圖
4.1
所示。
圖
4.1
向量知識庫構建流程
對收集到的數據進行清洗、去重、分類,提取分割文本,以確保數據的質量和有效性。消除噪
聲數據,提高數據的一致性和準確性。將預處理後的數據轉化為向量,將向量化後的數據存儲到向
量知識庫中,並利用向量數據庫進行高效的存儲和檢索。向量數據庫是一種專門用於存儲和檢索向
量數據的數據庫係統,可以根據語義或上下文含義查找最相似或相關的數據。
測試流程包括以下幾個步驟:
測試設計:根據目標領域定義測試用例,包括典型問題、邊緣情況和錯誤輸入。
環境搭建:搭建測試環境,包括聊天界麵和後端模型處理係統。
執行測試:記錄模型的回應。
評估結果:根據預設的標準(如準確性、響應時間、用戶滿意度)評估模型表現。
優化模型:根據測試結果對模型進行調整和優化。
5.2
智能交互組件
chatbot
chatbot
是一種人工智能程序,它設計用於模擬人類對話,並且能夠基於事先編程或機器學習
技術來進行智能對話交流。chatbot
通常被用於客戶服務、信息查詢、娛樂等各種場景,可以通過
文本或語音與用戶進行交互。
chatbot
的一些特點和作用包括:
1自動化交互:chatbot
可以自動回答用戶提出的問題,執行指定的任務,無需人工幹,減少
人力成本和時間消耗。
2實時響應:chatbot
能夠在任何時間、任何地點提供服務,隨時響應用戶的問題和需求。
3個性化服務:chatbot
可以根據用戶的需求和曆史數據提供個性化的服務和建議,提高用戶
體驗。
4多渠道支持:chatbot
可以在多種通信渠道上運行,如網頁、應用程序、社交媒體平台等,
為用戶提供多樣化的對話途徑。
本項目選擇
openai
的
gpt
模型作為
chatbot
的大語言模型基座,gpt
模型基於
transformer
架構,相較於其他模型,這種架構允許模型在處理長文本時保持較好的性能,同時具有良好的並行
化能力,使得模型的訓練和推理速度得到提升。
5.2.1
chatbot
後端
基於先前構建的針對電力
lca
領域的向量知識庫構建
chatbot
測試模型性能,主要設計思路是
為了實現檢索功能,大致可分為知識庫檢索功能和在線搜索。
chatbot
功能流程圖如圖
5.1
所示。
用戶通過
chatbot
《離語》轉載請注明來源:思兔閱讀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
實現了用戶對文獻的檢索功能,最後是通過對模型回答問題的準確率,正確
率進行評估,從而實現將模型不斷優化。