隨後進行資料採集,爬取加人工採集。對兩種方式採集的文獻資料進行整理,將後設資料記錄好,並統一格式,用於後續的檢索。最後是文獻的精細篩選。因為rag技術就是要增加大語言模型在專業領域的可信程度,解決大語言模型的幻覺問題。那在資料的選取上就要偏向於更為全面的文獻資料。生命週期評價的本質是用來評估產品或服務從生產到消費再到廢棄的整個過程對環境和社會的影響,它考慮了資源使用、能源消耗、排放物的產生等方面。那麼為了提高最後基於電力lca這個領域搭建的專業模型的準確度,對文獻進行精細篩選,選取同時包括流程圖,資料,各單元過程投入產出詳細資料,資料時間地點落去方法,技術細節的文獻,作為最終的資料。將精細篩選後的論文資料,結合unstructed庫進行資料處理。進行資訊精細化拆解與清洗,使以pdf形式儲存的文獻資料透過分割,分割槽,變成便於嵌入模型的結構化資料。對文字進行篩選與清理,影象的內容進行識別,儲存影象的解釋資訊,表格轉化為htl格式。最後統一變成標題加內容的格式。在這裡我列舉了簡單的資料處理流程。首先是對資料進行分割。隨後是對文字進行拆分,識別內容是否為文字,如果是,就填進text_list。將表格轉化為htl格式,將圖片變為圖片解釋資訊。第二部分是知識庫的構建。向量知識庫,能將各類資料(如文字、影象、音訊等)轉化為向量形式進行儲存。資料之間的相似性和關聯性得以量化,不像平時你儲存你的,我儲存我的,向量資料庫給予了一個統一的標準。也正是因為統一了格式,利用相似度對比,檢索更加高效。構建知識庫的流程首先是提取分割文字進行向量化的操作。向量化的本質是將離散的符號資訊,如詞或句子,對映到連續的向量空間中,以便計算機能夠處理。向量化將高維資料轉化為低維資料,保留了資料的關鍵特徵又降低了資料的複雜度。選擇pipene儲存向量資料,它支援查詢,插入,刪除等一些列操作。選擇weaviate作為向量搜尋引擎,可以透過主題的分類檢索,進行語義搜尋、問答提取等等功能。第三部分是chatbot的構建。先前已經構建好了針對電力lca領域的專業大模型,但是缺少檢驗模型的手段,即缺少模型最佳化環節,本專案設定透過chatbot模式,透過與使用者進行問答的形式,檢驗模型是否能呼叫電力行業lca領域向量資料庫回答該領域專業性問題和時效性問題的有效性。chatbot是模擬人類對話的一種形式,就我們平時能使到的chatgpt就是以chatbot的形式來呈現的,而chatbot在這裡的功能實現主要是為了體現檢索功能,大致可分為知識庫檢索功能和線上搜尋。那麼就產生了三種檢索模式。
僅基於大語言模型,連線知識庫搜尋,和線上搜尋。前端部分我採用strealit來完成,ui設計如圖所示。這邊是功能按鈕,中間是對話方塊。先前有講到了,我們來檢測針對專業領域的大模型的標準就是檢測是否有能力回答專業領域的問題,並針對結果進行最佳化。這裡我向chatbot提出同一個問題。只採用大語言模型,採用知識庫與大語言模型結合,和聯網搜尋與大語言模型結合。三種功能下獲得的回答是完全不同的,後面兩個檢索功能均為大語言模型最佳化了生成回答的準確性,對大語言模型的專業領域知識做了補充和改善。可以看到普通的大語言模型回答的是最簡短的,採用了知識庫的回答,將答案細分,擴充,並新增了新的內容,附上參考文獻。最後的聯網搜尋,將答案分為了幾類,更加全面,但是每類回答點到即止。最後就是向量知識庫進行最佳化。對於準確率低的查詢,分析模型回應錯誤的原因。如果是由於知識庫中缺少相關資訊,可以透過新增更多相關文件和資料來增強向量知識庫的覆蓋範圍。使用者反饋是對輸入的問題和產生的回答進行記錄,方便針對性進行調整。反饋可以直接用於指導向量知識庫的更新和最佳化。不斷地測試來完善我的專業領域大模型。最後一部分是我本次研究的總結。首先建立了一個能被大語言模型直接呼叫的專業知識庫,在電力lca這個專業性較高的領域填補了大語言模型的空白。其次是採用rag技術,將知識庫,聯網與大語言模型相結合,增強了大語言模型在特定領域的可信度和實用性。最後就是本次研究雖然是針對電力lca領域,但其背後的構架適用於各個領域,構建了一個完整的體系,可以進行修改,全方面的輔助大語言模型,應用廣泛。以下就是我的全部研究內容請各位老師批評指正。
332