指南(收藏版))
本文詳細介紹了多輪Query改寫、全文檢索、向量檢索、混合檢索、排序算法以及基于LLM的相關性判斷等大模型檢索與排序的關鍵技術。內容涵蓋了從基礎概念到實際應用的多個方面包括TFIDF、BM25、BERT、向量模型、RRF融合排序、Cross-Encoder、CoIBERT等并提供了多種開源模型對比和實際應用案例。對于想要學習大模型檢索與排序的程序員來說本文是一個全面且實用的參考資料。01多輪Query改寫多輪Query改寫怎么做多輪query改寫用戶提問之后結合大模型和思維鏈進行多輪query改寫生成改寫的query。分別用原始的query和改寫query分別進行檢索混合檢索最后把結果取并集進行融合排序這兩個排序都是分別針對兩個不同的query進行排序排完之后再融合在一起最后合并在一起給大模型進行回答。大模型回答也有技巧依靠大模型多輪問答能力使用用戶原始 query不是改寫query用戶原始query加歷史聊天記錄用戶改寫之后有可能改寫的不對就算改寫錯了相當于檢索內容也會有一些錯誤相當于用戶的query加歷史聊天記錄大模型可以做一層過濾檢索的內容有雜質大模型也能過濾這樣就能提高一些容錯性就算檢索錯了其實也可以進行解決。多輪Query改寫模型的Prompt案例多輪問答優(yōu)化02檢索算法-全文檢索rag技術實現全流程全文檢索通常基于倒排索引技術。在創(chuàng)建索引時系統(tǒng)會對文本進行分詞處理將文本分解為單詞或詞項并記錄每個詞項在哪些文檔中出現以及出現的位置和頻率等信息。文本分詞定義將一段連續(xù)的文檔或查詢文本分解成單詞、詞語或有意義的單元的過程以便于索引和搜索處理。特點分詞方法有規(guī)則、詞典、統(tǒng)計和深度學習等多種方式適用于不同語言和應用場景。分詞的算法第一種也是最常見的是TFIDF統(tǒng)計一個詞在某一篇文檔的頻率再除以文檔的數量TF。一些常見詞的了你我他它的詞頻會很高會導致計算的詞和文檔的得分會很高這時就加入IDF用文檔的總數除以詞在文檔的數量算一個 log值。如果說常見詞在每篇文檔都出現了相當于分子分母除完之后是等于1log10相當于TFIDF這種常見詞它就會變成0IDF主要是解決那些稀有詞頻率又很高所以說TFIDF它的精確度相對來說比較高它能解決一些競對關鍵詞的問題實際上它的缺點就是語義理解會差構建成本會更高。TFIDF進行了一個進化就是常用的BM25算法這個算法經久不衰。BM25除了考慮它的詞頻、IDF逆文檔頻率之外還考慮了文檔的長度。比如一篇文章有50個詞分出50個詞比如某個詞叫“人工智能”出現了一次那它的詞頻是1/50。第二個文檔有500個詞“人工智能”出現了3次它的IDF 肯定是一樣的所以我們比的是TF這時候1/50和3/500來比一定是3/500更小那就說明“人工智能”在這篇文章就不相關了嗎那實際上文章長就沒有優(yōu)勢了文章越短越有優(yōu)勢所以BM 25算法就是解決這樣一個問題。第一BM25算法它右邊TF這部分是一個非線性算法。IDF的TF就是說詞頻越高分數就會一直漲所以是線性的。BM 25算法這個區(qū)別就是說f(t,d)是它的一個詞頻k和b是它的一個超參數用詞頻乘以超參數。f(t,d)詞頻一直往上加加到一定程度之后就會飽和就不會一直是線性的。剛開始的時候詞頻很小的時候它屬于一個線性的增長但是當增大一定程度的時候它就會飽和了就變成一個曲線了。所以BM25算法它并不是簡單的計算次數當詞數到一定程度的時候它就差不多就夠了就不會再往上加了。不像TFIDF的詞頻如果越多它就會一直是線性的增加這是第一個改進。第二部分文檔的長度也受影響比如文檔a有50個詞人工智能的概率1/50文檔b是3/500這么一比它倆就不是一個數量級差了1/10了實際上用戶問了一個人工智能那一定會更容易拿文檔a不會拿文檔b 但是用了長度的加權就是長度的歸一化。上邊的|d|是當前文檔的長度下邊avgdl這個是文檔的平均長度當我文檔長度大于平均長度的時候相除也就1-2之間這種所以它的值不會特別大再乘以超參數b進行平衡長文檔和短文檔。按公式算完之后把k1.2b0.75算完之后短文檔是0.685長文檔是0.615差距一下子就從剛才的10倍縮小了很多。在TF中就是長文檔更因為它的詞更多詞頻更高就導致它的命中率就更容易命中。但是BM 25算法就是說我們對這個長度進行歸一化抑制了這個偏差。這是第二個改進就是對文檔長度的一個優(yōu)化。第三個改進是IDFIDF是要解決常見詞“的了你我他”因為它太多了所以需要把它降權。如果說文檔里“的了你我他”特別多那他這只是不加他的分但還有別的詞在加分所以他的最差他權重全趨于0每篇文章都有“你我他”所以說他就變成0其實對常見詞懲罰是不太足的但是BM25算法就考慮了這個點要對常見詞進行一個懲罰。不能有那么多無關緊要的一些關鍵詞更重要所以它這里權重就變成負(N-df(t))/df(t) 小于1log小于1就變成負數了如果它倆相等就是log10。如果它大于1那它就是大于0這里的0.5是一個為了平滑用的所以它就會對IDF進行一個常見詞的懲罰。在常見詞出現過多的時候這篇文章里出現過常見詞太多了那它的負權重就會懲罰確保檢索的結果更聚焦于有區(qū)分度的關鍵詞。 BM25算法它的本質就是TFIDF 完了面試官問你那 TFIDF 是什么那BM25算法又對它有什么改進。第四點是靈活的參數TFIDF是固定公式它是不可以調整的而BM算法是提供了K1和 b去進行適配一般k選1.2b選0.75其實基本就是這樣?,F在BM25算法非常常見用TFIDF的很少這是全文檢索計算相關性的一個算法。當用戶進行提問query之后先進行分詞分完詞之后。先用倒排索引把所有文檔拿回來我們需要找到跟用戶提問query相關的比如TOP10的文檔用query里面每個分詞的詞跟每個文檔這些詞計算BM 25算法每個文檔都有一個得分之后再進行排序選擇TOP10給返回來這就是全文檢索的一個算法流程。開源分詞模型對比如果發(fā)現全文檢索不準了以它為基線去分析是TF太飽和了還是因為文檔長度來進行調整參數。對全文檢索BM25算法除了調參基本上沒有改進的地方需要改進的就在于分詞。分詞的作用在這里面是說能夠很好的分出業(yè)務場景跟業(yè)務場景相關的關鍵詞能夠很好區(qū)分出來。分詞太細會把噪音也帶進來分詞太粗可能就召回不回來。如果又想把專業(yè)術語切出來又能正常分詞。有兩種方案第一種方案是命名實體識別專門識別這些專業(yè)術語進行命名實體識別其他正常切只把命名實體識別之外的那些句子正常切就可以了。第二種是把這一堆專業(yè)術語的詞典放到分詞工具里這些分詞工具都支持把詞典扔進去之后就可以切了按業(yè)務場景去切。比如一二百詞的專業(yè)術語放到分詞里面直接加載詞典就可以了如果說詞表太多而且這個詞表還能直接靠一些硬匹配就能匹配出來把這些詞直接匹配剩下的用分詞工具去切就可以。寧肯切細一點也不要切粗。如果詞典特別大、特別多有5萬的詞典5萬的專業(yè)術語都扔到詞典中都扔到那個結巴分詞里可能會導致該切也切了不該切的它也切了所以把原來好的東西也沒切出來。用分詞工具先跑一遍數據集。比如有100篇文檔跑一遍跑完之后分詞算個最簡單的TFIDF再去停用詞這樣就不能統(tǒng)計出關鍵詞了??聪逻@些關鍵詞是不是把業(yè)務場景里面的東西都包含了如果說沒有包含可以把這個分詞工具pass掉了。像jieba切的細全文檢索不回來還有向量檢索后邊還有重排序可以補救切細了可以補救切粗了就補救不了了。03檢索算法-向量檢索BERT模型的核心設計雙向Transformer架構BERT基于Transformer編碼器結構通過多層自注意力機制基礎版12層、大型版24層實現文本的雙向上下文建模BERT能同時捕捉詞匯左右兩側的語境信息句向量的提取方法[CLS]標記向量句子開頭添加的特殊標記[CLS]其對應向量常作為整句的語義表示適用于分類任務。詞向量池化對句子中所有詞向量取平均或最大值池化Mean/Max Pooling保留全局信息。向量檢索是向量空間中相應的計算先對用戶的query對文檔切塊進行向量表示表示完就構建索引。在線的部分先進行用戶的query向量表示進行檢索。這里面的向量表示一般用匹配模型它是借鑒DSSM雙塔思想每一個塔都是用預訓練的語言模型進行表示。它這有兩個塔左邊一個塔是query是訓練時候用用query生成的。另一個塔是document是文檔的分別走Bert走完之后最后出一個向量層document也出向量最后計算相似度這是基于表示的。它的特點就是說query和document是兩個獨立編碼比如說現在有100萬篇文檔query來了之后生成向量不可能把這100萬篇文檔重新在線計算一遍計算完了之后再一個個比較不可能所以提前把這些向量文檔構建好在線的時候只需對query進行一個向量表示這樣提高效率。 缺點就是在模型學習的時候沒有交互它們互相之間是獨立的無法充分挖掘兩者信息細粒度的匹配程度。雙塔一個query一個document用的是bge-m3query和document是一個模型用一個模型既可以對query生成一個向量也可以對document生成一個向量。預訓練的時候有一些策略在里面所以可以解決這種非對稱的情況非對稱就是說query因為很短document會很長這種檢索的時候會存在問題。索引構建: 全文檢索用倒排索引構建到數據庫向量檢索是一個暴力搜索的flat還有圖這種結構。計算相關性是余弦相似度用兩個向量計算余弦相度也是一個經久不衰的一個方式。文本長度對向量模型的影響詞序感知對向量模型的影響LLM類向量模型Qwen3-Embedding基于大模型的向量模型Qwen3的embedding區(qū)別首先它是大模型類左邊這個圖包括了四部分第一部分是它可以提供一些任務指令比如根據查詢找相關的文檔query是用戶輸入信息docs是文檔的一些數據通過這樣進行一個判斷最后用EOS序列標記符進行判斷生成它的向量。這跟bert類模型不一樣因為bert是前面CLS或者整體的一個池化但是大模型用的是序列結束標識符EOS。因為bert類模型是only encoder所以它上來就可以直接看到雙向編碼所以它可以直接用CLS 開頭就可以拿到它的向量而基于大模型類它是only decoder。它沒有辦法看到后邊的所以只要生成完之后用最后一個標記符獲取它的向量這是基于大模型類。訓練過程分三個階段第一個階段是弱監(jiān)督預訓練用通義32B生成了1.5億對合成文本覆蓋了很多任務基本覆蓋了四類任務把任務構成文本之后。先進行弱監(jiān)督訓練預訓練是對比學習的一個預訓練。我們這第一階段就結束了。第二階段是一個有監(jiān)督的微調通過1.5億的數據進行篩選篩選出來1200萬對數據進行l(wèi)earning微調對一個領域的泛化這是第二階段。第三階段是進行模型融合采用了一種球面線性插值方式這種技術在合并的時候可以微調保存多個模型進行模型的合并可以提高魯棒性。所以在通義三向量模型里相對來說比較復雜。訓練方式比正常的BGE 會比較復雜因為BGE就相當于只拿到開源數據整理好之后進行微調。通義3的embedding有三個一個是0.6B、一個是4B、還有一個8B。Bert類與LLM類向量模型區(qū)別開源向量模型檢索能力對比bce只支持512就跟切塊相關。Bert類是雙向編碼Bert雖然解決了LSTM長尾遺忘還會存在一些信息丟失所以太長也不太好。所以建議用256到512來進行切塊是有原因的跟它的向量模型有關系像bge-m3可以支持8192但實際上也不太好因為太長也會有信息丟失還會有噪聲切塊的時候要配合向量模型。檢索的時候一邊是全文檢索另一邊向量檢索。bce和bge-m3它倆是互補的有時候可以檢索回來最后相當于用三路召回一路是全文檢索一路是bce召回一路是bge-m3的召回。bge-m3加上全文檢索調整全文檢索的分詞之后就可以把bce給拿掉它的互補能力就沒有了因為bce除了互補之外還存在召回一些冗余內容而且耗時較長三路耗時會長所以慢慢就把它拿掉了。前期的時候如果沒有別的辦法可以嘗試三路召回。04混合檢索來一個query先進行k近鄰向量檢索這是向量檢索一部分。第二種是query進行分詞用BM25算法檢索回來?;旌蠙z索就是左邊一路用向量檢索右邊一路用BM25算法檢索最后合并一起進入排序模型最后輸出一路檢索內容。向量檢索可以解決相近語義像bge-m3是多語種的也可以理解多模態(tài)。向量檢索除了用bge中文還也可以用CLIP它的容錯性強因為泛化能力強這是向量優(yōu)勢。全文檢索優(yōu)勢是精準匹配比如問是 iphone 17庫里全是iphone 16、iphone 15iphone 17沒有實際上是檢索不回來的全文檢索這一路是召不回來內容的但是向量檢索就可以。向量檢索就可能會出現問iphone 17但把庫里的iphone 16和 iphone 15拿回來存在向量檢索的問題全文檢索能精準的把iphone 17拿回來它還對短文本有優(yōu)勢。第三點傾向于低頻詞匯匹配可解釋性強所以混合檢索融合它倆的優(yōu)勢。混合檢索可以利用全文檢索和向量檢索對數據查詢提高檢索的準確性和可行度?;旌蠙z索可以利用向量模型的多樣性返回多種不同的結果它們之間互相還能補充?;旌蠙z索可以用全文檢索進行排序、過濾這種復雜查詢需求跟業(yè)務場景相關這是全文檢索的一個情況??山忉屓臋z索可以用文本匹配高亮顯示這是混合檢索的一個優(yōu)勢。知識庫構建流程知識庫格式對比05排序算法 向量模型處理的是相似但是不相關排序模型rerank就是來解決相似不相關的。向量檢索與排序模型之間的差異RRF融合排序RRF融合排序就是對兩路或者多路不同的檢索進行排序它不是利用每個檢索的得分而是靠排名。因為全文第三指令感知這個和現在模型是一樣的這也是大模型的一個特點。可以跟最新用戶的指令進行一個動態(tài)調整它的排序標準。和通義的向量模型區(qū)別它就不像通義3的向量模型做了三階段它是兩階段的第二階段就是有監(jiān)督的微調。第三階段就是一個模型的融合相當于用同一類的數據構建了兩個模型。rerank模型也有三個不同的大小一個是0.6B一個是4B還有一個是8B。通義3排序模型相當于把排序模型進行一個對話傳統(tǒng)的就是rank、boost類的模型輸入CLS query sep再加上到后面的結果最后通過CLS算一個MLP之后進行相關性得分。他算的方式相對來說快一些但它只能算相對來說比較淺層的內容。通義從關系模型做轉化第一個就是任務轉化對系統(tǒng)提示詞進行一個調整只需要判斷模型的任務是否從文檔滿足它的需求回答只需要對輸出的結果是yes和no結構也有變化因為輸入像大模型聊天是一樣的。任務質量query document利用了大模型的理解和推理能力它像傳統(tǒng)的rerank它用 cos去算相關性得分它預測下個詞yes或 no 的概率直接進行一個相關性判別與傳統(tǒng)的方法來對比傳統(tǒng)是一個簡單的打分器。rerank模型就像判官一樣輸出yes和no的概率。它不是依賴于分類頭輸出的抽象得分通過預測答案的yes or no的結果它最大優(yōu)勢就是第一它能支持像大模型一樣的任務指令第二是解釋性強可以根據不同的任務適配不同的檢索任務。大模型可以支持長上下文語義推理能力也比較好給了相關性得分完了判別yes or no輸入用戶的指令、用戶的查詢以及他的文檔最后輸出結果就是它的一個得分用yes的分除以yes加no的分因為大模型輸出結果的時候有多個TOKEN。主流排序模型06基于LLM相關性判斷背景問題大模型遵循“Garbage in, Garbage out”原則檢索階段經常會召回無關或噪聲知識不相關知識會導致回答偏差或錯誤解決方案Knowledge作用作為一個“檢索結果質量關口”在傳入大模型前進行知識過濾。原理基于自然語言推理NLI任務來判斷檢索到的知識是否能支持問題的回答Entailment是否與問題無關Neutral是否與問題相矛盾Contradiction實現方式使用小參數模型在NLI任務上進行微調或直接應用只保留與問題呈現“蘊含關系”的知識丟棄無關或矛盾的信息模塊效果過濾后知識更精準回答基于高相關知識不再被噪聲干擾答案更簡潔可信避免冗余和錯誤用戶體驗提升增強系統(tǒng)魯棒性即使召回到部分無關文檔也能在過濾環(huán)節(jié)自動剔除可擴展性未來可以引入更多模型如BERT、DeBERTa、LLaMA或多任務聯(lián)合訓練進一步提升判別能力。07全鏈路多路召回優(yōu)化多路召回結合多種召回方式語義關鍵詞規(guī)則…→獲得更全面的候選文檔。 可以提升RAG檢索的覆蓋率與準確性應用于搜索引擎、推薦系統(tǒng)、智能客服等。多路召回的方式①并行召回向量Top10 BM25 Top10 → 合并去重 → 重排取TopN優(yōu)勢多路召回充分利用了語義與關鍵詞兩種優(yōu)勢互補性強能夠更全面地覆蓋候選文檔減少單一召回策略導致的漏檢問題是當前工業(yè)界最主流的做法。②RRF融合多路排序綜合得分③精排模型Cross-EncoderBERT類打分更精準多路召回的優(yōu)勢融合信息利用語義理解關鍵詞匹配提供更全面的檢索結果。提升性能覆蓋率↑漏檢↓誤檢↓抗噪聲強抗噪聲能力強保證結果穩(wěn)定性和可靠性。流程設計方案BM25召回向量召回→RRF初排提升融合效果→ Reranker精排Cross-Encoder→大模型生成最終答案實際應用根據具體應用場景和需求靈活調整召回策略和參數確保在應用中能夠達到最佳效果。混合檢索架構多模型互補關鍵詞檢索使用BM25捕獲精準片段進行快速初步篩選。向量檢索使用bge-m3向量檢索處理復雜語義提升語義檢索的全面性與精度。候選粗篩粗排序RRF倒數融合排序基于BM25與向量檢索的相對排名融合去重并提高粗排效率。語義重排精排序異構內容處理表格→文本摘要圖片→跨模態(tài)描述。輕量重排BGE-Reranker-v2-M3基于交叉編碼器快速排序平衡速度與效果。相關性判別基于LLM相關性判別去除無關噪聲。業(yè)務驅動排序策略數據混合按需配置問答對與文檔切片比例更符合實際應用場景。閾值篩選基于置信度過濾確保結果相關性與質量。如何學習大模型 AI 由于新崗位的生產效率要優(yōu)于被取代崗位的生產效率所以實際上整個社會的生產效率是提升的。但是具體到個人只能說是“最先掌握AI的人將會比較晚掌握AI的人有競爭優(yōu)勢”。這句話放在計算機、互聯(lián)網、移動互聯(lián)網的開局時期都是一樣的道理。我在一線科技企業(yè)深耕十二載見證過太多因技術卡位而躍遷的案例。那些率先擁抱 AI 的同事早已在效率與薪資上形成代際優(yōu)勢我意識到有很多經驗和知識值得分享給大家也可以通過我們的能力和經驗解答大家在大模型的學習中的很多困惑。我們整理出這套AI 大模型突圍資料包? 從零到一的 AI 學習路徑圖? 大模型調優(yōu)實戰(zhàn)手冊附醫(yī)療/金融等大廠真實案例? 百度/阿里專家閉門錄播課? 大模型當下最新行業(yè)報告? 真實大廠面試真題? 2026 最新崗位需求圖譜所有資料 ?? 朋友們如果有需要《AI大模型入門進階學習資源包》下方掃碼獲取~① 全套AI大模型應用開發(fā)視頻教程包含提示工程、RAG、LangChain、Agent、模型微調與部署、DeepSeek等技術點② 大模型系統(tǒng)化學習路線作為學習AI大模型技術的新手方向至關重要。 正確的學習路線可以為你節(jié)省時間少走彎路方向不對努力白費。這里我給大家準備了一份最科學最系統(tǒng)的學習成長路線圖和學習規(guī)劃帶你從零基礎入門到精通③ 大模型學習書籍文檔學習AI大模型離不開書籍文檔我精選了一系列大模型技術的書籍和學習文檔電子版它們由領域內的頂尖專家撰寫內容全面、深入、詳盡為你學習大模型提供堅實的理論基礎。④ AI大模型最新行業(yè)報告2025最新行業(yè)報告針對不同行業(yè)的現狀、趨勢、問題、機會等進行系統(tǒng)地調研和評估以了解哪些行業(yè)更適合引入大模型的技術和應用以及在哪些方面可以發(fā)揮大模型的優(yōu)勢。⑤ 大模型項目實戰(zhàn)配套源碼學以致用在項目實戰(zhàn)中檢驗和鞏固你所學到的知識同時為你找工作就業(yè)和職業(yè)發(fā)展打下堅實的基礎。⑥ 大模型大廠面試真題面試不僅是技術的較量更需要充分的準備。在你已經掌握了大模型技術之后就需要開始準備面試我精心整理了一份大模型面試題庫涵蓋當前面試中可能遇到的各種技術問題讓你在面試中游刃有余。以上資料如何領取為什么大家都在學大模型最近科技巨頭英特爾宣布裁員2萬人傳統(tǒng)崗位不斷縮減但AI相關技術崗瘋狂擴招有3-5年經驗大廠薪資就能給到50K*20薪不出1年“有AI項目經驗”將成為投遞簡歷的門檻。風口之下與其像“溫水煮青蛙”一樣坐等被行業(yè)淘汰不如先人一步掌握AI大模型原理應用技術項目實操經驗“順風”翻盤這些資料真的有用嗎這份資料由我和魯為民博士(北京清華大學學士和美國加州理工學院博士)共同整理現任上海殷泊信息科技CEO其創(chuàng)立的MoPaaS云平臺獲Forrester全球’強勁表現者’認證服務航天科工、國家電網等1000企業(yè)以第一作者在IEEE Transactions發(fā)表論文50篇獲NASA JPL火星探測系統(tǒng)強化學習專利等35項中美專利。本套AI大模型課程由清華大學-加州理工雙料博士、吳文俊人工智能獎得主魯為民教授領銜研發(fā)。資料內容涵蓋了從入門到進階的各類視頻教程和實戰(zhàn)項目無論你是小白還是有些技術基礎的技術人員這份資料都絕對能幫助你提升薪資待遇轉行大模型崗位。以上全套大模型資料如何領取