精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

RAG 2.0性能提升:優(yōu)化索引與召回機(jī)制的策略與實(shí)踐

人工智能
下一代 RAG,即 RAG2.0,包括兩部分:一部分是離線(xiàn)處理,用來(lái)處理一些文檔;另一部分是在線(xiàn)處理。離線(xiàn)處理部分需要經(jīng)過(guò)一系列的深度文檔理解模型,也就是未來(lái)的多模態(tài)模型。在線(xiàn)處理部分是在得到數(shù)據(jù)之后去做一些知識(shí)圖譜,解決答案與語(yǔ)義之間的鴻溝。

一、RAG1.0 的痛點(diǎn)和解決方向

1. RAG 架構(gòu)模式

圖片

對(duì)于上圖所示的 RAG 架構(gòu)模式,大家應(yīng)該都比較熟悉。RAG 的標(biāo)準(zhǔn)流程包括四個(gè)階段,即抽取(Extraction)、索引(Indexing)、檢索(Retrieval)和生成(Generation)。

2. RAG 面臨的挑戰(zhàn)

圖片

RAG 通常會(huì)遇到如下一些挑戰(zhàn):

  • 第一個(gè)挑戰(zhàn)是向量的召回?zé)o法滿(mǎn)足要求,即命中率很低。當(dāng)前如果用一個(gè)純向量數(shù)據(jù)庫(kù)來(lái)做 RAG,其效果往往不夠理想。
  • 第二個(gè)挑戰(zhàn)是文檔結(jié)構(gòu)復(fù)雜,數(shù)據(jù)太亂,“Garbage In,Garbage Out”。簡(jiǎn)單文本尚可,但如果稍微復(fù)雜一些,特別是涉及到多模態(tài)的文檔效果會(huì)較差。
  • 第三個(gè)挑戰(zhàn)是問(wèn)題和答案所在文檔關(guān)聯(lián)不大,很難通過(guò)問(wèn)題找到正確文檔,存在語(yǔ)義鴻溝。對(duì)于比較宏觀的問(wèn)題,比如一篇文章講了些什么,或者是一些多跳問(wèn)答,一個(gè)問(wèn)題被分解成若干子問(wèn)題,需要根據(jù)子問(wèn)題進(jìn)一步推理,這些情況下可能搜不到想要的答案。

以上就是當(dāng)前阻擋 RAG 實(shí)現(xiàn)企業(yè)級(jí)應(yīng)用的一些障礙,接下來(lái)將探討如何解決這些問(wèn)題。

3. 下一代 RAG 架構(gòu)

圖片

下一代 RAG,即 RAG2.0,包括兩部分:一部分是離線(xiàn)處理,用來(lái)處理一些文檔;另一部分是在線(xiàn)處理。

離線(xiàn)處理部分需要經(jīng)過(guò)一系列的深度文檔理解模型,也就是未來(lái)的多模態(tài)模型。用多模態(tài)模型將多模態(tài)文檔進(jìn)行基于語(yǔ)義的切分之后,就可以得到一個(gè)保證數(shù)據(jù)質(zhì)量的結(jié)果,進(jìn)而才能得到一個(gè)高質(zhì)量的回答。

在線(xiàn)處理部分是在得到數(shù)據(jù)之后去做一些知識(shí)圖譜,解決答案與語(yǔ)義之間的鴻溝。繼而需要處理向量召回低命中率的問(wèn)題,我們需要多種解決方案,比如混合搜索、查詢(xún)改寫(xiě)等,最終通過(guò) LLM 生成答案。

4. Infiniflow

圖片

我們計(jì)劃將 RAGFlow 和 Infinity 整合到一起。我們的 RAGFlow 于今年 4 月 1 日開(kāi)源,并在持續(xù)迭代中。目前為止,RAGFlow 其實(shí)是對(duì)最終的 RAG 對(duì)話(huà)效果負(fù)責(zé)的,可以用這些模型去處理數(shù)據(jù)入口,其中也包含了 Graph RAG,未來(lái)還將加入一個(gè)開(kāi)源數(shù)據(jù)庫(kù) Infinity。該產(chǎn)品提供了豐富的針對(duì) RAG 場(chǎng)景的混合搜索能力,可以滿(mǎn)足對(duì)企業(yè)級(jí)檢索的所有要求。

二、如何有效 Chunking

1. Chunking 的流程

圖片

Chunking 的流程如以上右圖所示:

  • 第一步會(huì)經(jīng)過(guò)一個(gè)專(zhuān)用的文檔結(jié)構(gòu)識(shí)別模型,確定文檔的頁(yè)眉、頁(yè)腳、段落、圖、表以及其坐標(biāo)分別在哪里。
  • 第二步,判斷這些坐標(biāo)里面的區(qū)域是文字區(qū)域,那么就要進(jìn)行相應(yīng)的文字處理,比如對(duì) PDF 掃描件,就要去調(diào)用 OCR,如果不是掃描件,就直接去做文本的抽取。文本抽取需要注意的是,通常情況下是從 PDF 抽取文檔,解析出來(lái)的文本無(wú)法區(qū)分換行,到底是不是換行需要通過(guò)一個(gè)分類(lèi)器去做進(jìn)一步判斷,如果換錯(cuò)了,生成的向量會(huì)對(duì)最終召回產(chǎn)生干擾。所以這里需要做一些額外的、比較瑣碎的 dirty work 來(lái)保證文檔的高質(zhì)量解析。
  • 接著是 chunking 輸出最后的答案。

以上是文本類(lèi)的處理流程。對(duì)于表,目前是通過(guò)一個(gè)表格結(jié)構(gòu)識(shí)別模型去處理,把表頭和單元格的對(duì)應(yīng)關(guān)系抽取出來(lái),再得到最后的 chunking 結(jié)果。對(duì)于其它圖,比如流程圖、餅圖、柱狀圖、曲線(xiàn)圖、折線(xiàn)圖,同理,也可以利用多模態(tài)模型。這就是我們利用深度文檔理解模型保證數(shù)據(jù)質(zhì)量入口的解決方案。

2. 調(diào)整抽取模型的 RAGFlow 對(duì)比

圖片

上圖是 RAGFlow 與一些開(kāi)源 RAG 和頭部大模型公司的商業(yè)化 RAG 產(chǎn)品的評(píng)測(cè)對(duì)比。評(píng)測(cè)指標(biāo)有兩個(gè):完全準(zhǔn)確率和部分準(zhǔn)確率。可以看到我們通過(guò)不斷的調(diào)整抽取之后,準(zhǔn)確率達(dá)到了非常高的量級(jí)。根據(jù)我們的經(jīng)驗(yàn),要真正在企業(yè)中將 RAG 利用起來(lái),開(kāi)源 RAG 很難滿(mǎn)足需求,因?yàn)槠涿新瘦^低。

3. 表格識(shí)別模型

圖片

上圖中的表格較為復(fù)雜,單元格有的有線(xiàn)段,有的沒(méi)線(xiàn)段,左側(cè)一列還有單元格合并,并且表格中出現(xiàn)了很多陰影,這些都會(huì)對(duì)表格內(nèi)容的抽取產(chǎn)生很多干擾,這些工作都是表格結(jié)構(gòu)識(shí)別模型的范疇。表格結(jié)構(gòu)識(shí)別模型有兩種做法,我們最早的做法是把每個(gè)單元格都變成一句話(huà),但是這種方法的魯棒性不是太高。我們現(xiàn)在的做法是把整張表格識(shí)別出來(lái)的文本轉(zhuǎn)成 HTML 的形式(HTML 可以保證表格的結(jié)構(gòu)布局),然后整個(gè)輸入到模型中去,讓模型去針對(duì)表格內(nèi)容進(jìn)行回答。這種做法的魯棒性會(huì)更好一點(diǎn)。所以表格結(jié)構(gòu)識(shí)別的準(zhǔn)確度是非常關(guān)鍵的,甚至可以把它單獨(dú)拿出來(lái)做一個(gè)組件,以 API 的形式提供給業(yè)務(wù)方去使用。

圖片

上圖中的 RAGFlow 采用傳統(tǒng)的 CNN 卷積神經(jīng)網(wǎng)絡(luò),把表格作為一個(gè)目標(biāo)檢測(cè)問(wèn)題來(lái)處理,然后得到最終的答案。我們現(xiàn)在正在訓(xùn)練的模型正是采用這種完全基于 transformer 的架構(gòu),無(wú)論是表格還是流程圖、餅圖、柱狀圖都可以處理,因?yàn)檫@是一種通用的方案,解決圖片進(jìn)-文字出、encoder 進(jìn)-decoder 出的問(wèn)題。

具體過(guò)程為,第一步用 VAE(變分自動(dòng)編碼器)的方式做特征抽取,先用 CNN 編碼器把表格的圖片編碼,然后再用 CNN 解碼器還原,讓我們的解碼器和編碼器能得到的圖片盡可能跟原始圖片一樣,我們就得到了中間的 Code Book(碼本)。這其實(shí)就相當(dāng)于 image patch 的一個(gè) embedding,能夠非常真實(shí)地還原表格場(chǎng)景中 embedding 的表示,這個(gè) Code Book 是非常重要的。

第二步是訓(xùn)練 Transformer Encoder。Encoder 同樣是 image 進(jìn),并且要讓 Encoder 的輸出盡可能去擬合上面的 embedding。

第三步是用 Encoder 和 Decoder 一起訓(xùn)練。Decoder 輸出最終的一個(gè) HTML 文本。

這種結(jié)構(gòu)跟大模型是有一定相似性的,只不過(guò)大模型如 GPT 都是 Decoder only。但是我們只要做多模態(tài)模型就必須是 Encoder Decoder 這種架構(gòu),以得到一個(gè)統(tǒng)一的圖像轉(zhuǎn)文本的方案。

雖然模型仍在訓(xùn)練中,但已訓(xùn)練出來(lái)的結(jié)果顯示表格識(shí)別的效果非常好,比之前用 CNN 的魯棒性能要好很多。因?yàn)楸砀褡R(shí)別模型基于 Transformer 架構(gòu),這種模型的訓(xùn)練都有個(gè)比較高的門(mén)檻就是訓(xùn)練數(shù)據(jù)的來(lái)源。我們現(xiàn)在的做法基本上都是用程序來(lái)生成,盡可能去覆蓋更多的場(chǎng)景。比如哪些用戶(hù)的表格做的不夠好,我們就專(zhuān)門(mén)針對(duì)這種場(chǎng)景去做模擬生成相應(yīng)的圖片,然后拿這種圖片去不斷迭代模型,最終形成一個(gè)數(shù)據(jù)飛輪,使模型迭代效果、泛化能力越來(lái)越好。

4. 文檔“大”模型

圖片

接下來(lái),在表格的基礎(chǔ)上,還會(huì)加入流程圖、餅圖、柱狀圖等圖表,以同樣的架構(gòu),得到語(yǔ)義信息的 HTML 格式的文本,交給大模型,進(jìn)而得到最終的回答。

三、如何準(zhǔn)確召回

接下來(lái)介紹如何保證準(zhǔn)確的召回。

1. Indexing Database

圖片

為了做到準(zhǔn)確召回,我們從兩年前就開(kāi)始開(kāi)發(fā)一個(gè)索引型數(shù)據(jù)庫(kù)。如上圖所示,當(dāng)我們創(chuàng)建一張有不同類(lèi)型數(shù)據(jù)的表時(shí),我們會(huì)根據(jù)列存儲(chǔ)中的數(shù)據(jù)類(lèi)型去創(chuàng)建相應(yīng)的索引。比如對(duì)向量,會(huì)創(chuàng)建向量索引,如果是稀疏向量,就創(chuàng)建稀疏向量索引;如果是文字,就創(chuàng)建全文索引。值得一提的是,目前全文索引是唯一能夠保障問(wèn)題是什么就搜到什么的索引,它對(duì)于 RAG 來(lái)說(shuō)是一個(gè)必選項(xiàng)。當(dāng)然,還有一個(gè)是張量索引。最后再搞定融合性排序,我們就能一站式地解決所有針對(duì) RAG 的檢索問(wèn)題。

2. Benchmark

圖片

上圖中是我們當(dāng)前使用的一些指標(biāo),與當(dāng)前流行的開(kāi)源向量數(shù)據(jù)庫(kù)和搜索引擎分別進(jìn)行了對(duì)比,左邊是延遲,數(shù)值越低越好,右邊是 QPS,數(shù)值越高越好。可以看到,目前我們?cè)谶@幾個(gè)數(shù)據(jù)集上都具有領(lǐng)先優(yōu)勢(shì)。

3. RAG 數(shù)據(jù)庫(kù)選型對(duì)比

圖片

目前用于 RAG 的數(shù)據(jù)庫(kù)分為三類(lèi):

  • 第一類(lèi)是傳統(tǒng)型數(shù)據(jù)庫(kù)。這種類(lèi)型的數(shù)據(jù)庫(kù)只要增加了向量能力,理論上就可以用于 RAG。像 PostgreSQL 有個(gè)著名的插件 PG Vector 就是用來(lái)支持向量存取的,Snowflake 是一個(gè)數(shù)倉(cāng),同時(shí)也具備向量的能力。
  • 第二類(lèi)是典型的向量數(shù)據(jù)庫(kù),如 Pinecone、Qdrant、Weaviate。
  • 第三類(lèi)是具備全文搜索+向量能力的數(shù)據(jù)庫(kù),比如 ROCKSET、LanceDB、Elasticsearch。

在企業(yè)級(jí)場(chǎng)景中,全文搜索是一項(xiàng)必備能力,目前知名的具備全文搜索和向量能力的數(shù)據(jù)庫(kù)就是以上這些。LanceDB 是最近北美孵化出來(lái)的一個(gè)數(shù)據(jù)庫(kù),采用了知名的 Tantivy 庫(kù)做全文索引。ROCKSET 是 Open AI 在今年六月份收購(gòu)的一家數(shù)據(jù)庫(kù)公司,它是一個(gè)索引型數(shù)據(jù)庫(kù),對(duì)每一列都建了全文索引,所以一開(kāi)始就是去取代 Elasticsearch 的,不過(guò)后來(lái)因?yàn)?RAG 的流行,它又增加了向量索引,因此具備了兩路混合搜索,以保證更好的召回結(jié)果。我們也正在將 Infinity 這個(gè)數(shù)據(jù)庫(kù)加到 RAGFlow 中。因?yàn)?RAGFlow現(xiàn)在用的是 Elasticsearch,替換成 Infinity 還需要一點(diǎn)時(shí)間。

4. 幾路召回?

圖片

接下來(lái)討論一些技術(shù)問(wèn)題,第一個(gè)問(wèn)題就是我們現(xiàn)在已經(jīng)有向量、稀疏向量、張量等搜索方式,那混合搜索、多路召回還有意義嗎?

我們使用 MLDR 數(shù)據(jù)集做了一個(gè)評(píng)測(cè)。MLDR 是一個(gè)長(zhǎng)文檔數(shù)據(jù)集,我們用自己的數(shù)據(jù)庫(kù)跑出了如上圖所示的指標(biāo),圖中縱坐標(biāo)為 nDCG@10,對(duì)每個(gè)結(jié)果的位置都要去對(duì)最終的結(jié)果做一個(gè)加權(quán)的得分。所以本來(lái)是排在第一位的,放到第二位也會(huì)對(duì)這個(gè)分?jǐn)?shù)產(chǎn)生影響。圖中顏色最淺的這三路就是我們用三種方式分別去搜索,BM25 是全文搜索,Dense 是向量搜索,Sparse 是稀疏向量。可以看到如果只用向量的話(huà),最低的只有 49 分。中間顏色深一點(diǎn)的是兩路召回,就是把稀疏向量和全文搜索兩兩組合,再加上一個(gè)比較 basic 的融合排序,即兩路召回加 RRF 得到一個(gè)混合搜索,結(jié)果確實(shí)比單路搜索要好一些。倒數(shù)第二個(gè)是把三路搜索混在一起,再加 RRF,它的得分更高。這個(gè)結(jié)果來(lái)自今年四月份 IBM Research 蘇黎世的研究員發(fā)表的一篇名為《BlendedRAG: Improving RAG》的論文(論文地址:https://arxiv.org/pdf/2404.07220),其結(jié)論就是三路召回效果最好。我們通過(guò)我們的數(shù)據(jù)庫(kù)也復(fù)現(xiàn)出了這個(gè)結(jié)論。圖中最右邊,又有一個(gè)比較大的提升,因?yàn)槲覀冏隽藗€(gè)張量,將張量以 ColBERT 的形式放進(jìn)來(lái),使最終的召回效果有了更大的提升。

5. 排序模型

圖片

第二個(gè)問(wèn)題是張量究竟是怎么回事兒?

上圖展示了當(dāng)前的三類(lèi)排序模型:

  • 第一類(lèi)是雙編碼器。雙編碼器與向量搜索思路一致,就是把 Query 和 Document 分別輸入模型之后編碼。這里有個(gè)關(guān)鍵點(diǎn),編碼之后每個(gè) token 都生成了 embedding,但是經(jīng)過(guò)池化層(Pooling)后最終變成了一個(gè)向量,因此它的語(yǔ)義是一定有損失的。
  • 第二類(lèi)是交叉編碼器。將 Query 和文檔一起輸入模型,去做交叉編碼。交叉編碼能夠捕獲 Query 的每個(gè) token 和文檔的每個(gè) token 兩兩之間的一個(gè) interaction 的關(guān)系。這些 token 只要在我們的訓(xùn)練數(shù)據(jù)集里面出現(xiàn)過(guò),我們就可以捕獲這種關(guān)系,最后我們只輸出一個(gè)。所以交叉編碼器相對(duì)于雙編碼器來(lái)說(shuō)效果要好很多,常見(jiàn)的 BGE 就是一種典型的交叉編碼器。
  • 第三類(lèi)是延遲交互編碼器。在離線(xiàn)階段就把模型給每個(gè) token 生成的 embedding 全部都存下來(lái),對(duì)于每個(gè)文檔來(lái)說(shuō)存的不是一個(gè)向量,而是一個(gè)張量或者多向量,因?yàn)槲覀儠?huì)把每個(gè) token 的向量全部都存下來(lái)。查的時(shí)候只需要對(duì)查詢(xún)?nèi)ピ僮鰝€(gè)編碼,這樣就會(huì)把一個(gè) Query 變成很多 token 的向量。查詢(xún)和查詢(xún)結(jié)果也是向量,把這些向量之間的得分兩兩計(jì)算后再疊加。這種方式也是捕獲了 token 之間的交互關(guān)系,因此理論上接近于交叉編碼器,但是由于放到數(shù)據(jù)庫(kù)里面做就有額外的好處。

6. ColBERT 的收益

圖片

額外的好處在于它的效率要高很多,根據(jù)我們的評(píng)估,大概可以高兩個(gè)數(shù)量級(jí)。要求重排序模型必須得用 GPU 去跑,而且還只能針對(duì)前面的結(jié)果,比如 top 10 或者 top 20 去做重排序。但是要對(duì) top 100 或 top 1000 去做重排序,影響就比較大了,性能可能就會(huì)受影響,編碼的性能和傳輸?shù)男阅芏紩?huì)較差。但是如果我們有重排序模型,它在數(shù)據(jù)庫(kù)里面去跑,性能比這種基于 GPU 去跑的交叉編碼器高兩個(gè)數(shù)量級(jí)的話(huà),我們就可以用 CPU 去跑,甚至可以對(duì) top 100 乃至 top 1000 去做重排序。這種情況下如果我們前面搜的效果不好,后面還有很大的概率可以挽回。所以這樣做的意義就是在效果接近的基礎(chǔ)之上提升了很多效率。因此,就可以有很大的概率能夠讓最終的排序比較好。

但同時(shí)也存在風(fēng)險(xiǎn),ColBERT 其實(shí)是把每個(gè) token 都存下來(lái),因此它的空間膨脹是非常可怕的,ColBERT 模型里面每個(gè) embedding 差不多是 128 維,也就是說(shuō)每個(gè) token 是 128 維,那就意味著我們最終得到的張量相比原始文本空間膨脹了兩個(gè)數(shù)量級(jí)。如果我們用更大的 embedding,比如一個(gè)典型的 BGE 輸出的 embedding 差不多是 1000 多維,那就意味著要膨脹三個(gè)數(shù)量級(jí),如果原始是 1G 的文本,就變成 1T 了。

7. ColBERT 的收益

圖片

我們將 ColBERT 和沒(méi)有 ColBERT 的情況進(jìn)行了對(duì)比,可以看到,不管是一路召回、兩路召回還是三路召回,只要加了基于張量的重排序,都可以有一個(gè)比較明顯的提升。甚至語(yǔ)義,它損失是最大的,在加了張量之后也能從 40 級(jí)提升到 60 級(jí)。這個(gè)張量不是對(duì) top 10、top 20 去做重排,而是對(duì) top 100 以上去做重排才能得到這么好的結(jié)果。

8. ColBERT ranker 還是 reranker

圖片

我們現(xiàn)在就來(lái)談效率這個(gè)事兒。在張量里面有兩種做法,一種做法是用張量去建立索引,把它作為一種召回的手段,跟向量是一樣的;還有一種做法就是把張量作為重排序的方案。上圖展示了兩種方法的對(duì)比,第一個(gè)就是用了張量索引,這個(gè)張量索引在我們內(nèi)部叫做 EMVB。EMVB 其實(shí)是向量索引應(yīng)用到張量空間的一種改進(jìn),它可以針對(duì) tensor 去做類(lèi)似的索引。中間用 ColBERT 去做重排序。最右邊用張量去做暴力搜索,既不做重排序,也不做任何的索引,理論上也就沒(méi)有任何精度損耗。

可以看到最高 74,但是我們中間做重排序,甚至比用索引來(lái)搜還要好。這就意味著我們沒(méi)有必要對(duì)張量模型去實(shí)現(xiàn)這種索引,現(xiàn)在像 ColBERT 這種模型官方提供的都是這種索引方案,但是它的性?xún)r(jià)比不高,反而是做重排序性?xún)r(jià)比很高。而且用重排序有一個(gè)非常明顯的好處在于我們可以不用存原始的張量,而是只存它的二進(jìn)制量化。也就是用一個(gè)比特來(lái)表示一個(gè)浮點(diǎn)數(shù),這樣就可以把空間壓縮 32 倍。如果是用 128 維的 ColBERT 模型,最后一個(gè) token 只需要占用 16 個(gè)字節(jié),這個(gè)成本是可以接受的。我們用少量的空間膨脹換取了更高質(zhì)量的排序,這是值得的。所以未來(lái)重排序也將是 RAG 的一個(gè)標(biāo)配。

9. 延遲交互是 RAG 的未來(lái)

圖片

根據(jù)我們的觀察,延遲交互編碼并不是交叉編碼的一個(gè) trade off,它甚至可以做得比交叉編碼更好。上圖中第一個(gè)圖是來(lái)自 JaColBERT 的數(shù)據(jù),這是今年八月份北美一家叫做昂斯利亞的公司訓(xùn)練出來(lái)的專(zhuān)門(mén)針對(duì)日本的ColBERT 的模型,可以看到在 MIRACL 這個(gè)數(shù)據(jù)集上,它的表現(xiàn)甚至比 BGE-M3 還要好。所以基于這種延遲交互的模型,可能會(huì)帶來(lái)更高的精度。因此我們認(rèn)為張量是 RAG 的未來(lái)發(fā)展方向。

第二個(gè)圖是 Jina 的工作,我們之前也一直在找這種中文的 ColBERT 模型,甚至我們自己也在訓(xùn)練,后來(lái)發(fā)現(xiàn) Jina 最近剛剛公布了一個(gè)叫 Jina-ColBERT v2 的模型,這是市面上第一個(gè)多語(yǔ)言的 ColBERT 模型,可以生成文本類(lèi)的張量。只不過(guò) Jina 這個(gè)工作現(xiàn)在還沒(méi)有進(jìn)行到更進(jìn)一步,目前其結(jié)果相比 BGE 還是有所下降。但是我們由上面這個(gè) JaColBERT 已經(jīng)可以看到延遲交互模型做的效果不差于交叉編碼器,我們已將這些能力加入到了數(shù)據(jù)庫(kù)中。

10. 延遲交互是 RAG 的未來(lái)

圖片

另外一個(gè)模型是 answerai。它把 ColBERT 的參數(shù)壓縮到只有 3300 萬(wàn),但是獲得的效果比 BGE 一億多參數(shù)的模型更好。而且它的每個(gè) token 只有 96 位,如果做二進(jìn)制量化之后,那么每個(gè) token 只有 12 個(gè)字節(jié),這樣空間浪費(fèi)會(huì)大大減少。相信在未來(lái)會(huì)有更多這種 ColBERT 模型出現(xiàn),特別是用于中文的 ColBERT 模型,來(lái)保證召回的效果。

四、高級(jí) RAG 和預(yù)處理

第三部分將介紹如何解決語(yǔ)義鴻溝,也就是預(yù)處理的方法。

1. 復(fù)雜問(wèn)答之文檔預(yù)處理-RAPTOR

圖片

第一種預(yù)處理方法稱(chēng)為 RAPTOR,首先是對(duì)文檔去做聚類(lèi),做好聚類(lèi)之后生成摘要,連同這些信息一起作為 chunks 送到 RAG 體系里面去,在搜索的時(shí)候我們就可以搜索到這個(gè)聚類(lèi)后的信息。整個(gè)文檔跨 chunks 之間具備語(yǔ)義信息,所以基于 RAPTOR 可以去解決多跳問(wèn)答或者比較宏觀的問(wèn)答。

2. 復(fù)雜問(wèn)答之 Agentic RAG

圖片

第二種方法是 AgenticRAG。可能很多同學(xué)存在疑問(wèn),RAG 和 Agent 到底是什么關(guān)系?在我們看來(lái) RAG 是 Agent 的基座,Agent 更偏向業(yè)務(wù)場(chǎng)景,而 RAG 則是一個(gè)技術(shù)類(lèi)的中臺(tái)或者中心層,所以我們可以用 Agent 把 RAG 變得更加復(fù)雜,比如用 Agent 去編排更多的 RAG 流程。在這里面我們需要一些不同的算子,比如查詢(xún)意圖庫(kù)、查詢(xún)改寫(xiě),有這些算子后就可以去編排整個(gè)對(duì)話(huà),不斷迭代,最終達(dá)到一個(gè)理想的效果。

3. 復(fù)雜問(wèn)答之知識(shí)圖譜

圖片

第三種是知識(shí)圖譜。知識(shí)圖譜在十幾年前就已出現(xiàn),以往使用知識(shí)圖譜要求非常準(zhǔn)確,需要大量的人工去校對(duì)知識(shí)圖譜的準(zhǔn)確性,這也導(dǎo)致了知識(shí)圖譜實(shí)施困難。而且知識(shí)圖譜中實(shí)體之間的關(guān)系非常復(fù)雜,會(huì)多達(dá)十幾種甚至幾十種,因此自動(dòng)化構(gòu)建知識(shí)圖譜的門(mén)檻非常高。

但是現(xiàn)在有了 Graph RAG 之后,很多工作得到了簡(jiǎn)化。我們首先用大模型抽取出文字當(dāng)中的實(shí)體,接下來(lái)只需要判定實(shí)體是否關(guān)聯(lián)就可以了。也就是說(shuō),我們把傳統(tǒng)知識(shí)圖譜內(nèi)部的實(shí)體之間的關(guān)系從十幾種、幾十種簡(jiǎn)化成了一種關(guān)聯(lián),這就使自動(dòng)化構(gòu)建知識(shí)圖譜成為一種可能。產(chǎn)生知識(shí)圖譜之后還可以繼續(xù)生成 node embedding,就可以以圖向量的方式去做檢索。

Graph embedding 其實(shí)也可以去做更多的改進(jìn)。一種簡(jiǎn)單的例子是以企業(yè)內(nèi)部問(wèn)答系統(tǒng)去對(duì)圖神經(jīng)網(wǎng)絡(luò)做一個(gè)近似,可以把 node embedding 質(zhì)量變得更高。如果直接生成 embedding 其實(shí)相當(dāng)于對(duì)知識(shí)圖譜的圖做了一個(gè)遍歷,類(lèi)似于 PageRank,那為什么做 PageRank 可以把知識(shí)圖譜的召回做得比較符合我們答案的訴求呢?是因?yàn)檫@符合我們大腦思維的過(guò)程,我們?cè)诼?lián)想的時(shí)候,大腦內(nèi)部類(lèi)似于走了一個(gè)隨機(jī)游走的過(guò)程,這個(gè)過(guò)程我們通過(guò)一個(gè)叫做 node2Vect 的算法把它變成 graph embedding。因此有了知識(shí)圖譜,再通過(guò) graph embedding 去做召回,就可以很好地處理多跳問(wèn)答或者比較宏觀的問(wèn)答方式。

大家可能會(huì)比較感興趣這三種方法哪種更好?

第一種 RAPTOR 顯然更為簡(jiǎn)單。第二種 AgenticRAG 需要依賴(lài)于一些內(nèi)部的算子,比如查詢(xún)意圖,查詢(xún)意圖在不同場(chǎng)景其實(shí)是不一樣的,所以很難標(biāo)準(zhǔn)化。第三種知識(shí)圖譜相比于 RAPTOR 不僅僅是聚類(lèi)這么簡(jiǎn)單,它抽取出了更多的實(shí)體,因此知識(shí)圖譜的效果會(huì)比 RAPTOR 更好。但是它也存在缺點(diǎn),因?yàn)橹R(shí)圖譜意味著我們要把用戶(hù)所有的文檔都過(guò)一遍模型,所以想要降低成本的話(huà),除非全部都做私有化部署。我們比較推薦的做法是使用微調(diào)的小模型,實(shí)際上海外已經(jīng)有一些類(lèi)似方案,比如 Triplex,它專(zhuān)門(mén)做知識(shí)圖譜抽取,我們認(rèn)為這種方案會(huì)成為未來(lái)的一個(gè)標(biāo)配。

五、RAG 未來(lái)如何發(fā)展

1. 多模態(tài) RAG-G—“雕花”還是?

圖片

我們預(yù)測(cè)明年會(huì)是多模態(tài) RAG 的爆發(fā)年。因?yàn)楦鶕?jù)我們現(xiàn)在的觀察,多模態(tài)技術(shù)已逐步走向成熟。上圖總結(jié)了當(dāng)前針對(duì)多模態(tài)數(shù)據(jù)的三種處理方式:

  • 第一種就是我們現(xiàn)在開(kāi)源的 RAGFlow,通過(guò)目標(biāo)檢測(cè)算法,將圖表變成文本。
  • 第二種我們正在訓(xùn)練,目前已經(jīng)達(dá)到非常好的一個(gè)結(jié)果,原理是用多模態(tài)模型 Encoder 進(jìn)、Decoder 出把圖片變成文本。
  • 第三種是直接把圖片生成Patch Embedding,Patch 就是 Image 里面類(lèi)似文本 token 的一個(gè)單元,要把它變成 Embedding。實(shí)際上,第三種跟第二種是可以共享的,因?yàn)樗鼈兊?Encoder 是完全可以共享的。第三條路線(xiàn)我們還沒(méi)有做,因?yàn)樗恼J(rèn)知相對(duì)來(lái)說(shuō)還沒(méi)有那么準(zhǔn)。不過(guò)其發(fā)展會(huì)非常快,我們最近看到一篇工作叫做《ColPali: Efficient Document Retrieval with Vision Language Models》,它否定了上面的第一條傳統(tǒng)的路線(xiàn):“把多模態(tài)文檔先做 OCR、布局識(shí)別,然后布局檢測(cè)得到文本,最后再送到 RAG”,將其比作“雕花”,因?yàn)樗_實(shí)非常瑣碎。

2. 多模態(tài) RAG 與延遲交互模型

圖片

這種方式是直接把多模態(tài)文檔以圖像的方式灌進(jìn)去變成 embedding,問(wèn)答的時(shí)候直接針對(duì) embedding 進(jìn)行回答即可。比如上圖中的例子,我們就可以直接對(duì)柱狀圖提問(wèn):“2019 年一天中平均哪個(gè)小時(shí)電力消耗最高?”。可以看到右邊用 ColPali 之后,它的評(píng)測(cè)指標(biāo) NDCG 能夠達(dá)到 80 以上,這是非常高的值,意味著已經(jīng)達(dá)到生產(chǎn)可用了。ColPali 與前面講的 ColBert 關(guān)系非常密切,這個(gè) Col 的意思就是查詢(xún)和文檔是共同編碼。ColPali 就是把多模態(tài)數(shù)據(jù)輸出一個(gè)張量,而不是一個(gè)向量,可以看到它們的語(yǔ)義相似度的評(píng)測(cè)結(jié)果可以從不到 60 提升到 80 以上,這就是一個(gè)玩具級(jí)到生產(chǎn)可用的差別。所以在未來(lái)張量(Tensor)重排序會(huì)是數(shù)據(jù)庫(kù)內(nèi)部的一個(gè)標(biāo)配,它不僅僅是針對(duì)文本檢索,對(duì)多模態(tài)檢索也意義重大,預(yù)計(jì)明年將會(huì)非常普及。

3. 記憶增強(qiáng)的 Agent

圖片

Agent 進(jìn)一步發(fā)展,需要引入記憶,在不同領(lǐng)域中對(duì)應(yīng)不同的信息保存,比如醫(yī)療、金融、法律領(lǐng)域會(huì)保存案例、知識(shí),市場(chǎng)信息或成功經(jīng)驗(yàn)等,對(duì)于游戲會(huì)保存一些個(gè)性化行為,而在推薦系統(tǒng)當(dāng)中則可以去保存用戶(hù)的歷史上下文。由此可以看出 Agent 的記憶模塊對(duì)數(shù)據(jù)庫(kù)也是有所要求的。未來(lái)的 RAG,對(duì)數(shù)據(jù)庫(kù)能力的要求不只是混合搜索,Agent 記憶中存儲(chǔ)的數(shù)據(jù)可能是向量、張量、文本或者結(jié)構(gòu)化數(shù)據(jù),所以 RAG 未來(lái)會(huì)對(duì)數(shù)據(jù)庫(kù)提出更高要求,只有滿(mǎn)足這些要求,才可能去解鎖出更加復(fù)雜的記憶增強(qiáng)的 Agent,從而在企業(yè)場(chǎng)景中落地。

六、Q&A

Q1:請(qǐng)問(wèn) ColBERT 的收益圖中 Sparse Vector 和 BERT 分別是用的什么模型?

A1: Sparse Vector 用的是 BGE-M3。BGE-M3 是目前我們使用比較多的一種模型,它可以輸出向量、稀疏向量和張量。但張量輸出存在一些問(wèn)題,其張量達(dá)到了 1024 維,其實(shí)是完全沒(méi)有必要的,對(duì)于張量來(lái)說(shuō),維度達(dá)到 128 就已經(jīng)足夠了。

BERT 的話(huà),我們現(xiàn)在用的就是 ColBERT 模型,大家可以去 HuggingFace 下載。Jina-ColBERTv2 是 Jina 大概兩三周前剛剛開(kāi)源出來(lái)的模型,大家可以去嘗試一下,主要是其中文指標(biāo),比 BGE-M3 還是要低不少,該模型有很大的改進(jìn)余地。

Q2:表格表示存儲(chǔ)的時(shí)候是用 HTML 嗎?這樣向量模型會(huì)因?yàn)樽畲箝L(zhǎng)度導(dǎo)致信息損失嗎?表格的問(wèn)答大模型,對(duì)于表格的數(shù)字不是太敏感,容易產(chǎn)生幻覺(jué)。

A2:表格我們現(xiàn)在其實(shí)是存兩塊:HTML 和向量。由于 HTML 用的是全文索引,所以表格更多的是以全文索引的方式去做召回,向量只是一種輔助。在企業(yè)里面如果不是用于多語(yǔ)言場(chǎng)景,基本上全文索引的權(quán)重會(huì)更高。

對(duì)于“大模型對(duì)于表格的數(shù)字不是太敏感,容易產(chǎn)生幻覺(jué)”,我們目前還是必須得依賴(lài)大模型,因?yàn)槲覀冊(cè)谝婚_(kāi)始的時(shí)候是把每個(gè)單元格變成一句話(huà),這在表格絕對(duì)準(zhǔn)確的情況下的會(huì)更好。一旦單元格錯(cuò)了一個(gè),可能就會(huì)導(dǎo)致整個(gè)的關(guān)系對(duì)齊都會(huì)出現(xiàn)錯(cuò)誤。所以有那么一兩個(gè)單元格識(shí)別的不夠準(zhǔn),仍然有機(jī)會(huì)讓大模型去做挽回。未來(lái)希望表格模型能夠變得盡可能達(dá)到 100% 準(zhǔn)確,我們可能就又會(huì)回到把它變成一句話(huà)的方式。

Q3:請(qǐng)問(wèn)交叉編碼可以用 GPU 進(jìn)行加速嗎?

A3:可以;交叉編碼就用的 GPU。像大家用的 BGE 或者其它 MTEB 榜單的 Reranker 模型,基本上都是交叉編碼。這些模型基本上都是需要用 GPU 去跑的,否則性能很難忍受的。可能一個(gè)延遲就是幾秒、十幾秒,而 RAG 作為一個(gè)在線(xiàn)型應(yīng)用,對(duì)于延遲是比較敏感的。

責(zé)任編輯:姜華 來(lái)源: DataFunTalk
相關(guān)推薦

2024-09-19 08:09:37

MySQL索引數(shù)據(jù)庫(kù)

2010-04-25 23:39:42

2022-10-28 13:41:51

字節(jié)SDK監(jiān)控

2024-10-09 23:32:50

2023-05-08 12:03:14

Linux內(nèi)核進(jìn)程

2023-10-10 09:45:35

自動(dòng)駕駛技術(shù)

2021-07-16 23:01:03

SQL索引性能

2024-01-02 07:44:27

廣告召回算法多路召回

2025-01-10 11:28:58

2024-09-04 14:28:20

Python代碼

2016-11-17 09:00:46

HBase優(yōu)化策略

2017-03-01 20:53:56

HBase實(shí)踐

2023-10-31 12:50:35

智能優(yōu)化探索

2025-05-14 01:40:00

RAG數(shù)據(jù)工具

2024-08-27 09:35:47

2021-07-26 18:23:23

SQL策略優(yōu)化

2023-12-14 12:56:00

MongoDB數(shù)據(jù)庫(kù)優(yōu)化

2025-04-11 03:00:55

2023-11-15 09:32:19

消息實(shí)踐

2025-09-05 09:31:23

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

麻豆最新免费在线视频| 中文字幕免费高清网站| 欧美三级午夜理伦三级小说| 亚洲第一久久影院| 国产精品一香蕉国产线看观看| 日韩激情小视频| 涩爱av色老久久精品偷偷鲁 | 国产极品嫩模在线观看91精品| 亚洲人一二三区| 久久综合给合久久狠狠色| 探花国产精品一区二区| 国内综合精品午夜久久资源| 亚洲欧美日韩天堂一区二区| 99re6在线观看| av今日在线| ㊣最新国产の精品bt伙计久久| 九色综合婷婷综合| 国产富婆一级全黄大片| 奇米影视7777精品一区二区| 欧美精品久久久久| 免费一级suv好看的国产网站| 国产精品久久久网站| 欧美视频精品在线| 日本免费黄视频| 密臀av在线| 亚洲视频在线观看三级| 日韩av在线电影观看| 少妇高潮一区二区三区99小说| 欧美aⅴ一区二区三区视频| 午夜精品理论片| 欧美人禽zoz0强交| 99国产精品一区二区| 亚洲欧美日韩成人| 免费无码一区二区三区| 亚洲三区欧美一区国产二区| 欧美卡1卡2卡| 别急慢慢来1978如如2| 亚洲精品一区| 亚洲午夜在线视频| 污污污污污污www网站免费| 最新国产在线观看| 国产午夜精品在线观看| 久久综合久久久| 神马久久久久久久久久| 成人一二三区视频| 91麻豆蜜桃| 精品久久在线观看| 国产传媒欧美日韩成人| 亚洲一区二区在线播放| 国产精品无码免费播放| 久久精品二区亚洲w码| 国产精品日韩在线一区| 波多野结衣不卡| 日韩国产欧美三级| 国产精品极品在线| 欧美性受xxx黑人xyx性爽| 日本少妇一区二区| 国产精品18久久久久久首页狼| 天天干在线播放| 美女视频一区免费观看| 欧美在线免费视频| 午夜精品一区二| 免费久久99精品国产| 国产精品日韩欧美综合| 亚洲影视一区二区| 国产麻豆91精品| dy888夜精品国产专区| 国产综合无码一区二区色蜜蜜| 成人的网站免费观看| 精品久久久久久一区二区里番| www久久久久久| 99久久久久久| 欧美在线播放一区二区| 深夜福利在线看| 国产精品一色哟哟哟| 国产精品乱码| 精品资源在线看| 国产精品视频免费看| 色撸撸在线观看| 精品一性一色一乱农村| 狠狠躁天天躁日日躁欧美| 手机看片福利盒子久久| 亚洲狼人综合| 亚洲第一福利在线观看| 右手影院亚洲欧美| 99久久夜色精品国产亚洲96 | 男人av在线播放| 欧洲国内综合视频| 97免费公开视频| 亚洲人成网77777色在线播放| 揄拍成人国产精品视频| 国产盗摄一区二区三区在线| 国产午夜精品一区二区三区欧美 | 精品国产一区二区三区四区在线观看| 国产免费一区二区三区四区| 激情成人亚洲| 国产精品久久久久久久久久99| japanese国产| 久久久无码精品亚洲日韩按摩| 超碰免费在线公开| 水蜜桃在线视频| 91精品国产色综合久久不卡电影 | 亚洲国产精品三区| 大桥未久女教师av一区二区| 亚洲网站视频福利| 国产香蕉在线视频| 蜜桃免费网站一区二区三区| 国产精品对白一区二区三区| 黄色免费在线播放| 一区二区三区精品久久久| 精品久久久久久久无码| 成人午夜网址| 久久亚洲一区二区三区四区五区高| 亚洲精品77777| 久久精品国产亚洲高清剧情介绍| 国产一区二区三区无遮挡| 麻豆视频网站在线观看| 色狠狠色狠狠综合| 国产女人18毛片水真多18| 99精品在线观看| 情事1991在线| 少妇人妻精品一区二区三区| 亚洲欧美日韩久久| 天天操天天摸天天爽| 欧美日韩大片免费观看| 欧美久久久精品| 国产精品无码天天爽视频| 国产日产欧美一区二区视频| 五十路熟女丰满大屁股| 一区二区三区亚洲变态调教大结局| 日韩最新av在线| 国产精品传媒在线观看| 久久天天做天天爱综合色| 日韩a∨精品日韩在线观看| 蜜桃精品一区二区三区| xvideos国产精品| 亚洲精品一区二区二区| 国产欧美一区二区精品仙草咪| 男人添女人下面高潮视频| 999国产精品一区| 九九热精品在线| 国内精品国产成人国产三级| 中文字幕在线不卡| 国产成人美女视频| 久久久久免费av| 91九色蝌蚪国产| 五月天婷婷在线视频| 色综合亚洲欧洲| 久久精品国产亚洲av久| 久久精品导航| 日韩视频在线观看国产| 亚洲伦乱视频| 视频直播国产精品| 国产又大又黑又粗| 一区二区三区四区五区视频在线观看 | 国产精品10p综合二区| 在线视频国产区| 欧美成人艳星乳罩| 五月天婷婷丁香| 99久久国产综合色|国产精品| 欧美极品欧美精品欧美| 美女毛片一区二区三区四区| 国产97在线|亚洲| 91精品国产91久久久久游泳池| 欧美日韩一卡二卡| 四虎永久免费在线| 成人午夜在线免费| 欧美日韩在线中文| 日韩欧美网站| 亚洲一区美女视频在线观看免费| 日韩免费影院| 日韩国产一区三区| 中文字幕 视频一区| 国产精品初高中害羞小美女文| 一本之道在线视频| 日韩香蕉视频| 日韩亚洲视频在线| 国产麻豆一区二区三区| 久久久久久久国产精品视频| 清纯唯美亚洲色图| 在线播放日韩导航| 久久综合成人网| 国产拍欧美日韩视频二区| 在线视频日韩欧美| 一道本一区二区| 中文字幕一区二区三区四区五区六区| 日韩精品一区国产| 热草久综合在线| 国产cdts系列另类在线观看| 亚洲精品av在线播放| 中文字幕一区二区三区四区免费看 | 精品一区二区成人免费视频| 白白在线精品| 国产精品久久久久秋霞鲁丝 | 日韩一区亚洲二区| 国产精品一区二区三区在线| 国产成人精品一区二区三区免费| 欧美国产日本在线| 成人综合影院| 亚洲国产精品悠悠久久琪琪| 伊人免费在线观看高清版| 亚洲va欧美va人人爽午夜| 伊人影院综合网| 成人avav在线| 久久精品无码一区二区三区毛片| 亚洲女同在线| 免费极品av一视觉盛宴| 教室别恋欧美无删减版| 国产欧美日韩伦理| 日日夜夜精品| 国产精品69精品一区二区三区| 超碰97免费在线| 久久久999精品免费| 国产三级在线观看| 亚洲国产精彩中文乱码av在线播放| 一级特黄aaa大片| 日本丰满少妇一区二区三区| 日产电影一区二区三区| 亚洲欧美日韩中文播放| 国产又粗又长免费视频| 久久久久久综合| 亚洲天堂2024| 国产成人免费高清| 欧美高清精品一区二区| 六月婷婷色综合| 9久久婷婷国产综合精品性色 | 麻豆网站在线看| 中文字幕亚洲欧美一区二区三区| 欧美少妇另类| 亚洲精品美女免费| 欧美特黄一级视频| 欧美变态tickle挠乳网站| 国产麻豆免费观看| 欧美精品v国产精品v日韩精品 | 国产精品久久久久久久久免费高清 | 日本高清久久一区二区三区| 粉嫩一区二区三区四区公司1| 亚洲最大福利视频| 久久丁香四色| 999国产视频| 天堂久久av| 国产成人看片| 大伊香蕉精品在线品播放| 国产精品区免费视频| 美女av一区| 狼狼综合久久久久综合网| 欧美精品中文| 欧美成人一区二区在线| 欧美女优在线视频| 色狠狠久久av五月综合| 久久日文中文字幕乱码| 中国成人亚色综合网站| 中文精品久久| 日本一级黄视频| 亚洲国内自拍| 黄色片一级视频| 日韩精品一级中文字幕精品视频免费观看| 无码aⅴ精品一区二区三区浪潮 | 亚洲综合久久久| 成人免费看片98| 调教+趴+乳夹+国产+精品| www.国产高清| 欧美性猛交xxxxxxxx| 91久久精品国产91性色69| 日韩欧美自拍偷拍| 天天干视频在线观看| 亚洲欧洲美洲在线综合| h网站在线免费观看| 麻豆国产va免费精品高清在线| 肉体视频在线| 欧美综合一区第一页| 国产69精品久久久久9999人| 亚洲在线观看视频| 精品久久ai| 亚洲第一导航| 狠狠噜噜久久| 老熟妇仑乱视频一区二区| 久草中文综合在线| 性色av蜜臀av浪潮av老女人| 久久美女艺术照精彩视频福利播放| mm131丰满少妇人体欣赏图| 亚洲欧洲99久久| 成人午夜视频精品一区| 欧美日韩国产综合久久| 老熟妇高潮一区二区高清视频| 亚洲欧美国产va在线影院| 老司机在线看片网av| 97在线视频一区| 欧美在线一级| 国模精品娜娜一二三区| 久久激情电影| 精品久久久久久久久久中文字幕| 免费观看在线综合| 99精品一区二区三区无码吞精 | 亚洲网址你懂得| 四虎av在线| 国产精品香蕉国产| 久久黄色影视| 亚洲欧美一二三| 久久尤物视频| 国模无码视频一区| 国产精品萝li| www.com国产| 精品捆绑美女sm三区| a黄色在线观看| 91av福利视频| 日韩精品成人| 亚洲欧洲日本国产| 久久精品官网| 一级黄色片毛片| 亚洲欧美电影一区二区| 亚洲午夜无码久久久久| 日韩av在线免费观看| 超碰超碰在线| 国产欧美精品一区二区| 在线观看欧美理论a影院| 久久久99精品视频| 经典三级在线一区| 国产毛片欧美毛片久久久| 精品日韩美女的视频高清| 性生活三级视频| 久久九九免费视频| 欧美成人免费全部网站| 日韩欧美精品一区二区| 国产婷婷精品| 亚洲一区二区乱码| 亚洲午夜电影网| 午夜精品久久久久久久第一页按摩 | 亚洲精品欧美精品| 首页欧美精品中文字幕| 国产网站无遮挡| 午夜视黄欧洲亚洲| 国产91免费在线观看| 久久99精品国产99久久6尤物| 婷婷激情成人| 中文字幕一区二区三区最新| 男女激情视频一区| 你懂得视频在线观看| 欧洲一区在线观看| 北岛玲一区二区三区| 国产精品久久久久久久av大片| 精品大片一区二区| 欧美一级黄色影院| 欧美国产欧美综合| 中文字幕在线播放日韩| 日韩有码在线观看| 成人污污视频| 特大黑人娇小亚洲女mp4| 国产一二三精品| 欧美成人三级视频| 精品久久一区二区| 牛牛精品一区二区| 欧美一区二区三区四区五区六区 | 亚洲精品久久| 欧美体内she精高潮| 亚洲最大成人网4388xx| 人妻精品一区一区三区蜜桃91| 国模精品视频一区二区三区| 美国十次av导航亚洲入口| 色欲av无码一区二区人妻| 国产性做久久久久久| 中文字幕乱码人妻无码久久| 久久久国产精彩视频美女艺术照福利| 精品国产一区二| 欧日韩免费视频| 久久久久9999亚洲精品| 伊人影院中文字幕| 欧美刺激性大交免费视频| 国产精品久久久网站| 日本xxxxxxx免费视频| 国产精品久久久久久户外露出 | 日韩在线视频免费观看| 日韩第一区第二区| 免费看一级大黄情大片| 国产精品午夜在线| 精品黑人一区二区三区在线观看| 久久久亚洲精选| 欧美男gay| 被黑人猛躁10次高潮视频| 天天色天天爱天天射综合| 91大神xh98hx在线播放| 国产成人亚洲欧美| 日韩av一区二区三区四区| 国产精品白丝喷水在线观看| 精品福利一区二区三区| 国产精品久久久久久久久免费高清| 热久久最新地址| 国产清纯白嫩初高生在线观看91| 国内精品久久久久久久久久| 日本午夜在线亚洲.国产| 亚洲精品a级片| 久久精品成人av| 欧美一级xxx| 成人精品三级| 欧美午夜小视频| 亚洲人成人一区二区在线观看 | 欧美久久精品一级黑人c片| 亚洲精品蜜桃乱晃| 在线观看一区二区三区视频| 在线视频中文字幕一区二区|