構建基于LLMs混合型大模型的先進事實性問答系統架構

1.引言

傳統搜索系統基于關鍵字匹配,缺少對用戶問題理解和答案二次處理能力。本文探索使用大語言模型(Large Language Model, LLM),通過其對自然語言理解(Natural Language Understanding,NLU)和生成(Natural Language Generation,NLG)的能力,深入理解用戶意圖,并對原始知識點進行匯總、整合,生成更貼切的答案。

大模型能夠回答較為普世的問題,但是若要服務于垂直專業領域,也會存在知識深度、知識準確度和時效性不足的問題。為了滿足汽車行業的需求,團隊投入了大量的時間和精力,構建一個強大的汽車領域知識庫。

2.方案分析

2.1

結合傳統搜索技術構建基礎知識庫

為了構建基礎知識庫,我們可以利用傳統的搜索技術進行查詢。這種方法具有以下優勢:

  • 較高的問答可控性:通過使用傳統搜索技術,可以更好地控制問題和回答的準確性。借助精確的搜索匹配,提供更準確和可靠的答案。
  • 適應常見知識庫應用場景:不論是處理大規模數據、實現快速查詢還是及時更新,傳統搜索技術都能滿足常見知識庫應用場景的需求。其成熟的技術棧可以提供穩定的性能和功能。
  • 技術風險較低:傳統搜索技術已經得到廣泛應用并積累了豐富的實踐經驗,能夠降低技術探索的風險。

同時,利用語言模型 (LLM) 作為用戶與搜索系統之間的交互媒介,能夠充分發揮其強大的自然語言處理能力:

  • 實現對用戶請求的理解:LLM可以進行糾錯、關鍵點提取等預處理,從而更好地理解用戶的意圖和問題。
  • 對搜索結果進行二次加工:在保證正確性的前提下,LLM可以進一步概括、分析和推理搜索結果,以提供更全面和深入的答案。

結合兩者,能夠優化基礎知識庫的構建和查詢過程,從而更高效地處理業務問題。

2.2

方案設計

? 圖片

?2.3.1 LLM

LLM(Large Language Model)具有以下主要功能:

  • 理解用戶問題:LLM可以對用戶的問題進行理解,包括糾錯和提取關鍵詞等操作。它還能引導用戶提供更多信息,以便更好地理解用戶意圖。
  • 對本地檢索結果進行二次處理整合:LLM可以對本地檢索的TopK答案進行二次加工。例如,可以概括、推理等操作,以提供更全面和深入的答案。
  • 具備上下文交互能力:LLM能夠處理各種類型的上下文交互,比如車系比較、油耗、加速性能等各類配置相關的問題。它可以根據上下文信息來給出更準確和個性化的回答。

?2.3.2本地搜索系統

  • 本地搜索系統解決了查詢匹配的問題,并具備以下功能:

  • ES Search:通過Elasticsearch(ES)的能力,將結構化數據接入系統,提供車系、關鍵詞等的全文檢索功能。

  • Embedding Search:將文字形式的查詢請求轉換為數值向量形式,并接入Milvus等向量數據庫,提供在線相似度查詢功能。

  • 去重:在搜索結果中可能存在重復內容,去重操作可以增加大模型接收的信息量,避免重復答案的出現。

  • 相關性排序:針對搜索結果,進行相關性排序,選取TopK最相關的答案,以提供更精準和有用的答案。

    3.方案實現

3.1

工程架構

圖片

?3.1.1通用模塊

通用模塊包括以下功能:

  • 問答改寫:根據用戶輸入信息和上下文歷史信息,對輸入進行改寫,以便更好地理解用戶意圖。

  • 問答理解:對經過改寫的用戶輸入進行理解,生成向量、關鍵詞、標簽、分類等信息,為后續處理提供基礎。

  • 召回模塊:根據用戶的意圖和實體信息,召回相關內容,以提供更多可能的答案。

  • 排序模塊:通過相關性模型,對召回的內容進行排序,選擇與問答最相關的topN內容,并進行數據抽取。

  • 提示詞模塊:根據用戶輸入和處理流程,調用不同的提示詞(prompt),為生成對話內容提供指導。

  • LLM模型:根據提示詞和排序生成的相關數據,生成對話內容,以提供給用戶。

  • 日志模塊:記錄請求全流程日志,用于模型訓練、性能分析和案例查詢等目的。

?3.1.2管理模塊

管理模塊包括以下功能:

  • 會話管理:保存用戶的歷史問答信息,以便在對話過程中進行上下文的保持和引用。
  • Prompt管理:配置不同場景下的提示詞信息,以適應不同的用戶需求和使用場景。
  • 插件管理:針對不同渠道的用戶,可以使用不同的插件配置,例如IM用戶可以選擇是否訪問產品庫插件。
  • 日志管理:管理請求日志、性能日志和結果日志,以便進行日志的存儲、檢索和分析。

?3.1.3知識入庫

圖片

? 目前采用Elasticsearch(ES)作為結構化數據的存儲支持,并利用ES的IK分詞插件實現全文檢索功能。

  • 在數據向量化方面,我們使用了大語言模型生成的向量來更準確地捕捉語義相關性。向量化的處理流程如下:
  • 數據導入:根據不同的數據源內容,如數據庫、PDF、Word等,進行數據導入操作。
  • 數據處理:對目錄、無效信息等進行數據預處理,將文檔切片以便更容易捕捉到語義相關的內容(文章長度越長,語義粒度越粗)。
  • 段落處理:基于上下文相關性,生成段落信息。
  • 模型處理:選擇適配的模型對段落數據進行向量化。

? 在存儲方面,盡管許多傳統數據庫或存儲中間件已經提供了向量化支持,但專業的解決方案是使用向量數據庫,例如Vearch、Milvus等。本文中我們選擇了Milvus作為向量索引的存儲,根據實際情況可以選擇適合的向量索引數據庫。

3.2

搜索

? 3.2.1召回

當前的召回設計分為兩類:

  • **明文召回:**首先,通過API對用戶問題進行解析,提取關鍵詞(例如車系、品牌、分類等)。然后,利用這些關鍵詞從ES索引中進行全文檢索,找到與之最匹配的N條記錄。
  • **非明文召回:**在這種方法中,我們使用嵌入模型將用戶問題進行嵌入,并獲取問題向量。接下來,使用問題向量在Milvus中進行檢索,找到與之最匹配的N條記錄。

通過這樣的召回方式,我們可以針對用戶問題進行全文檢索或基于嵌入模型的向量檢索,以獲取與之最相關的記錄。這種設計能夠提高召回的準確性和效率,為后續的答案生成和排序提供更可靠的基礎。

?3.2.2相關性(TopK選取)

目前,我們采用了基于Boosting算法集成的xgboost模型作為相關性模型,其重點在于確保最終結果的穩定性和可控性。這個模型的實現與傳統搜索邏輯類似:

首先,我們將查詢(Query)特征、物品(Item)特征和相關性特征進行組合,同時也考慮了查詢和物品之間的交叉特征。經過特征轉換模塊,如歸一化和取對數等操作,我們將這些特征輸入到xgboost模型中進行預測得分。然后,我們選取TopK個預測結果作為最終的排序。

通過這樣的優化設計,我們能夠更好地利用xgboost模型的強大分類能力,并確保結果的穩定性和可控性。

3.3

大模型

***?*3.3.1模型介紹

? 我們構建了一個汽車領域的大語言模型倉頡,旨在解決看車、買車、用車、換車全流程問題。該模型基于先進的自然語言處理技術和深度學習算法,具備強大的語義理解和信息處理能力。無論是了解車型性能、比較品牌優劣,還是尋找購車建議或了解保養、維修等知識,我們的模型都能提供準確、全面的答案。

?3.3.2模型數據

為了滿足汽車行業的需求,團隊投入了大量的時間和精力,構建一個強大的汽車領域知識庫。下面是是訓練模型使用的部分數據介紹:

圖片

  • 口碑文章:我們收集了大量的口碑文章,涵蓋了各種汽車品牌和型號的評價和評論。這些文章包含了消費者對汽車性能、外觀、舒適度等方面的真實反饋,為我們的模型提供了寶貴的參考。
  • 問答數據:我們整理了大量的汽車領域問答數據,包括消費者提出的問題以及專家給出的回答。這些問答涉及到汽車購買、保養、維修等方面的知識,為我們的模型提供了廣泛而豐富的信息。
  • 參配品庫:我們建立了一個詳盡的汽車參配品庫,包含了各種汽車配件和配置的信息。這些數據可以幫助用戶了解不同汽車型號的配置選項,從而做出更明智的購買決策。
  • 百科知識:我們清洗和過濾了大量的百科知識數據,包括來自公開領域的百科的高質量內容。這些數據涵蓋了汽車行業的歷史、技術、發展趨勢等方面的知識,為我們的模型提供了全面而準確的背景信息。
  • 網頁和書籍數據:我們還整理了大量的網頁和書籍數據,其中包含了關于汽車領域的專業知識和研究成果。這些數據來源廣泛,覆蓋了汽車行業的各個方面,為我們的模型提供了多樣化的學習材料。

通過對以上數據的深度清洗和過濾,我們的模型已經取得了令人矚目的訓練效果。它能夠準確理解和回答與汽車相關的問題,提供有用的建議和信息,幫助用戶更高效地處理業務問題。

?3.3.3模型訓練

圖片

大語言模型訓練采用了一系列創新的技術,包括 LoRA、QLoRA、RoPE scaling 插值、DPO training 以及 dataset streaming。

首先,采用了 LoRA 和 QLoRA 技術,這兩種技術都能有效地減少內存和 GPU 的使用,從而縮短訓練時間。這意味著我們可以更快地處理數據,為公司節省寶貴的時間和資源。

其次,使用了 RoPE scaling 插值技術來擴展 LLaMA 模型的上下文長度。這使得我們的模型能夠更好地理解和處理復雜的語言環境,從而提供更準確的結果。

此外,還采用了 DPO training 技術來簡化 RLHF。通過只需要訓練單獨的 DPO 模型,我們成功地替代了 RLHF 的獎勵模型+PPO 強化模型,解決了 RLHF 訓練極不穩定,超參敏感,調參困難的問題。這使得我們的模型訓練過程更加穩定,也更容易進行參數調整。

最后,使用了 dataset streaming 技術實現大模型流式訓練。這一技術解決了大模型數據集加載內存的開銷問題,明顯提升了訓練速度。這意味著我們可以更快地處理大量數據,帶來更高的效率。

3.4

效果評測

為了滿足汽車領域的特有評測指標,通過構建了汽車領域的專業評測集,自研大模型在汽車領域遠超開源模型,并在通用領域與主流開源模型持平。以下是我們部分評測項:

?3.4.1評估標準

圖片

?3.4.2汽車領域評測集

  • exam:涵蓋車系品牌、參配等相關信息,判斷是否能夠準確理解和回答相關問題能力。

  • 領域情感:對于用戶在汽車領域的情感表達,判斷情感分析和信息反饋能力。

  • 類目:針對汽車領域的不同類目,判斷是否具備豐富的知識和理解能力。

  • auto_rc、qcr_rc:這兩個評測項用于判別汽車領域的閱讀理解任務。

  • 領域問答:涵蓋領域內各方向問題

***?*3.4.3通用領域評測集

? 除了在汽車領域的評測,在通用領域的評測集上也做了相關對比評測。以下是一些評測集的示例:

  • afqmc:句子對匹配任務,判斷兩個句子之間的關系能力。
  • ocnli:自然語言推理任務,對給定的前提和假設進行推理和判斷。
  • weibo:微博文本分類任務,對微博文本進行準確分類判斷。
  • c3:中文閱讀理解任務,理解并回答相關問題能力。
  • cmrc:機器閱讀理解任務,閱讀理解的能力。
  • harder_rc:更具挑戰性的閱讀理解任務,判斷應對復雜的問題和場景的能力。
  • 通用問答:涵蓋知識問答、寫文章、推理、娛樂等問答知識

? 在汽車垂直領域取得了明顯的效果,當然,在評測時也出現了一些模型幻覺、格式異常等情況,我們也在對模型進行持續的迭代和優化。

3.5

結果整合

? 結果整合,可以對本地搜索系統返回的結果進行進一步加工和優化,充分發揮LLM的多項能力,從而使文章表述更加精煉明確,提高文章的可讀性和信息傳達效果:

  • 總結和概括:對搜索結果進行總結和概括,提取出關鍵信息,使其更具有可讀性和易理解性。

  • 格式整理:進行格式化整理,使其呈現方式更加清晰和統一,提高用戶閱讀體驗。

  • 去重和翻譯:排除搜索結果中的重復內容,確保給用戶呈現唯一性的答案。同時,LLM還支持翻譯功能,可以將搜索結果翻譯為用戶需要的語言,滿足多語言環境下的需求。

  • 上下文分析和處理:通過分析會話歷史和提取上下文信息,LLM能夠更好地理解用戶意圖,并在結果整合過程中考慮到上下文的影響。這使得生成的答案更加準確和個性化。

4.示例展示

以參配場景為例:

23 款奔馳 GLC260 車身尺寸是多少?

?

?

圖片

?

寶馬 3 系綜合油耗是多少?

?

圖片

?

GL8 的后備箱能放下行李箱和嬰兒車嗎?

圖片

?

朗逸 1.2t 動力夠用嗎?

?

?

圖片

?

5. 總結

? LLM+搜索架構融合了意圖理解、智能搜索、結果增強等模塊。深入理解用戶指令,精確驅動查詢詞的搜索,結合大語言模型技術來優化模型結果生成的可靠性。通過這一系列協同作用,大模型實現了更精確、智能的模型結果回答,通過這種方式減少了模型的幻覺。

?

如何學習AI大模型?

作為一名熱心腸的互聯網老兵,我決定把寶貴的AI知識分享給大家。 至于能學習到多少就看你的學習毅力和能力了 。我已將重要的AI大模型資料包括AI大模型入門學習思維導圖、精品AI大模型學習書籍手冊、視頻教程、實戰學習等錄播視頻免費分享出來。

這份完整版的大模型 AI 學習資料已經上傳CSDN,朋友們如果需要可以微信掃描下方CSDN官方認證二維碼免費領取【保證100%免費

一、全套AGI大模型學習路線

AI大模型時代的學習之旅:從基礎到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型報告合集

這套包含640份報告的合集,涵蓋了AI大模型的理論研究、技術實現、行業應用等多個方面。無論您是科研人員、工程師,還是對AI大模型感興趣的愛好者,這套報告合集都將為您提供寶貴的信息和啟示。

img

三、AI大模型經典PDF籍

隨著人工智能技術的飛速發展,AI大模型已經成為了當今科技領域的一大熱點。這些大型預訓練模型,如GPT-3、BERT、XLNet等,以其強大的語言理解和生成能力,正在改變我們對人工智能的認識。 那以下這些PDF籍就是非常不錯的學習資源。

img

四、AI大模型商業化落地方案

img

作為普通人,入局大模型時代需要持續學習和實踐,不斷提高自己的技能和認知水平,同時也需要有責任感和倫理意識,為人工智能的健康發展貢獻力量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37239.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37239.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37239.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里云常用的操作

阿里云常見的產品和服務 容器服務 可以查看容器日志、監控容器cpu和內存, 日志服務 SLS 可以查看所有服務的日志, Web應用防火墻 WAF 可以查看 QPS. 阿里云查看集群: 點擊 “產品和服務” 中的 容器服務,可以查看 集群列表&…

linux server下人臉檢測與識別服務程序的系統架構設計

一、緒論 1.1 定義 1.2 研究背景及意義 1.3 相關技術綜述 二、人臉檢測與識別技術概述 2.1 人臉檢測原理與算法 2.2 人臉識別技術及方法 2.3 人臉識別過程簡介 三、人臉檢測與識別服務程序的系統架構 3.1 系統架構設計 3.2 技術實現流程 四、后續設計及經驗瞎談 4.…

解釋Java中的抽象類、接口、重載和重寫等核心概念

Java中的抽象類、接口、重載和重寫等核心概念詳解 在Java編程中,抽象類、接口、重載和重寫是面向對象編程的四個核心概念。這些概念不僅構成了Java編程語言的基礎,也是面試官在面試過程中經常考察的要點。下面,我將從技術難點、面試官關注點…

字符串

對應練習題&#xff1a;力扣平臺 14. 最長公共前綴 class Solution { public:string longestCommonPrefix(vector<string>& strs) {string strs1strs[0];//初始前綴字符串for (int i 1; i < strs.size(); i) {while(strs[i].find(strs1)!0)//遍歷找到共同最長前…

第五節:如何使用其他注解方式從IOC中獲取bean(自學Spring boot 3.x的第一天)

大家好&#xff0c;我是網創有方&#xff0c;上節我們實踐了通過Bean方式聲明Bean配置。咱們這節通過Component和ComponentScan方式實現一個同樣功能。這節實現的效果是從IOC中加載Bean對象&#xff0c;并且將Bean的屬性打印到控制臺。 第一步&#xff1a;創建pojo實體類studen…

Android進階之路 - DialogFragment有沒有了解的必要?

幾個月前寫到了彈框業務&#xff0c;以前經常用Dialog、ButtomDialog 、popupWindow 組件&#xff0c;為了契合項目結構參考了原有的 DialogFragment 組件&#xff0c;特此予以記錄 我一般在項目中寫彈框組件的話&#xff0c;主要用到 alertDialog、popupWindow 組件&#xff0…

面試經驗分享 | 滲透測試工程師(實習崗)

所面試的公司&#xff1a;某安全廠商 所在城市&#xff1a;南京 面試職位&#xff1a;滲透測試工程師實習崗位 面試過程&#xff1a; 騰訊會議&#xff08;視頻&#xff09; 面試過程&#xff1a;整體流程就是自我介紹加上一些問題問題balabalabala。。。由于面的崗位是滲透…

用GPT-4糾錯GPT-4 OpenAI推出CriticGPT模型

根據OpenAI周四&#xff08;6月27日&#xff09;發布的新聞稿&#xff0c;該公司新推出了一個基于GPT-4的模型——CriticGPT&#xff0c;用于捕獲ChatGPT代碼輸出中的錯誤。CriticGPT的作用相當于讓人們用GPT-4來查找GPT-4的錯誤。該模型可以對ChatGPT響應結果做出批評評論&…

有沒有能用藍牙的游泳耳機,性能超凡的4大游泳耳機力薦

在現代科技的推動下&#xff0c;越來越多具備藍牙功能的游泳耳機正在改變游泳愛好者的體驗方式。這些創新產品不僅在防水性能上有了顯著提升&#xff0c;還能讓您在水中享受到高質量的音樂。然而&#xff0c;選擇一款優秀的藍牙游泳耳機并不簡單&#xff0c;需要考慮到防水等級…

【秋招突圍】2024屆秋招筆試-科大筆試題-01-三語言題解(Java/Cpp/Python)

&#x1f36d; 大家好這里是清隆學長 &#xff0c;一枚熱愛算法的程序員 ? 本系計劃跟新各公司春秋招的筆試題 &#x1f4bb; ACM銀牌&#x1f948;| 多次AK大廠筆試 &#xff5c; 編程一對一輔導 &#x1f44f; 感謝大家的訂閱? 和 喜歡&#x1f497; 文章目錄 &#x1f4d6…

基于SSM的大學生家教管理系統【附源碼+LW】

摘 要 現代經濟快節奏發展以及不斷完善升級的信息化技術&#xff0c;讓傳統數據信息的管理升級為軟件存儲&#xff0c;歸納&#xff0c;集中處理數據信息的管理方式。本大學生家教平臺就是在這樣的大環境下誕生&#xff0c;其可以幫助管理者在短時間內處理完畢龐大的數據信息&a…

c語言--指針

前言 歡迎來到我的博客 個人主頁:北嶺敲鍵盤的荒漠貓-CSDN博客 本文整理c語言中指針的相關知識點。 指針概念 指針存儲的就是數據的地址。 直觀理解: 李華家是北洋路130號1單元101 用變量處理數據: 我們去李華家拿數據。 用指針處理數據: 我們去北洋路130號1單元101拿數據…

Paragon NTFS與Tuxera NTFS有何區別 Mac NTFS 磁盤讀寫工具選哪個好

macOS系統雖然以穩定、安全系數高等優點著稱&#xff0c;但因其封閉性&#xff0c;不能對NTFS格式磁盤寫入數據常被人們詬病。優質的解決方案是使用磁盤管理軟件Paragon NTFS for Mac&#xff08;點擊獲取激活碼&#xff09;和Tuxera NTFS&#xff08;點擊獲取激活碼&#xff0…

2024年科技型中小企業申報指南

01 什么是科技型中小企業 科技型中小企業是指依托一定數量的科技人員從事科學技術研究開發活動&#xff0c;取得自主知識產權并將其轉化為高新技術產品或服務&#xff0c;從而實現可持續發展的中小企。 02 申請“科技型中小企業”的好處 一、政策扶持與優惠 1.稅收減免&…

Vue2組件傳值(通信)的方式

1.父傳后代 ( 后代拿到了父的數據 ) 1. 父組件引入子組件&#xff0c;綁定數據 <List :str1‘str1’></List> 子組件通過props來接收props:{str1:{type:String,default:}}***這種方式父傳子很方便&#xff0c;但是父傳給孫子輩分的組件就很麻煩&#xff08;父》子…

《GPT模型揭秘:數據驅動AI的核心概念與GPT系列對比分析》

DS&#xff1a;《What Are the Data-Centric AI Concepts behind GPT Models?通過三個數據為中心的人工智能目標(訓練數據開發、推理數據開發和數據維護)揭示GPT模型背后的數據為中心的人工智能概念》解讀—GPT-1/GPT-2/GPT-3系列對比(語料大小參數量解碼層數上下文長度隱藏層…

技術學習的奧秘與樂趣

人不走空 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌賦&#xff1a;斯是陋室&#xff0c;惟吾德馨 在當今快速發展的科技時代&#xff0c;學習技術已經成為了許多人追求的重要目標之一。無論是為了個人發展&#…

并發編程基礎概念

相關概念 并行 并行是指同一個時刻&#xff0c;多個任務同時進行。只有在多核CPU下才會發生。 并發 并發是指單個CPU在不同任務之間來換切換工作&#xff0c;但是同一時刻只有一個任務在工作。由于CPU的切換速度很快&#xff0c;給人的感受是多個任務在一起運行。 串行 串行…

Ansys Zemax|在設計抬頭顯示器(HUD)時需要使用哪些工具?

附件下載 聯系工作人員獲取附件 汽車抬頭顯示器或汽車平視顯示器&#xff0c;也被稱為HUD&#xff0c;是在汽車中顯示數據的透明顯示器&#xff0c;不需要用戶低頭就能看到他們需要的重要資訊。這個名字的由來是由于該技術能夠讓飛行員在頭部“向上”并向前看的情況下查看信息…

RocketMQ快速入門:linux安裝rocketmq并配置開機自啟(十一)

目錄 0. 引言1. 下載安裝包1.1 高版本直接下載安裝包1.2 下載源碼包進行編譯 2. namesrv和broker安裝2.1 安裝2.2 放開服務器端口2.3 測試 3. 配置開機自啟3.1 配置namesrv開機自啟3.2 配置broker開機自啟 0. 引言 之前我們針對本機電腦安裝rocketmq進行了講解&#xff0c;同時…