99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

RAG知識(shí)庫(kù)落地關(guān)鍵:文檔上傳與索引重建全解析

RAG知識(shí)庫(kù)落地關(guān)鍵:文檔上傳與索引重建全解析 1. 內(nèi)容整體設(shè)計(jì)與思路拆解做 RAG 項(xiàng)目的人前期往往把時(shí)間全砸在“怎么把大模型調(diào)好”上結(jié)果一到真正落地時(shí)就傻眼了搞了半天發(fā)現(xiàn)知識(shí)庫(kù)根本不“吃”文檔。別人家的知識(shí)庫(kù)看起來(lái)能自動(dòng)整理 PDF、自動(dòng)切分、自動(dòng)建索引輪到自己的項(xiàng)目文檔一多就開(kāi)始亂套檢索結(jié)果要么答非所問(wèn)要么干脆什么都搜不出來(lái)。這里最容易被忽略、卻又最關(guān)鍵的一環(huán)就是文檔上傳與索引重建。我給這一環(huán)起了個(gè)名字進(jìn)料口。沒(méi)有這個(gè)口子后面的向量化、檢索、生成全都是空中樓閣。簡(jiǎn)單說(shuō)文檔上傳解決的是“知識(shí)怎么進(jìn)得來(lái)”索引重建解決的是“知識(shí)更新之后怎么讓模型看到新版本”。這兩個(gè)環(huán)節(jié)如果設(shè)計(jì)得好知識(shí)庫(kù)的“智商”直接上一個(gè)檔次設(shè)計(jì)得不好后面所有的花活兒都是白搭。先說(shuō)一個(gè)場(chǎng)景你有幾百份 PDF、Word、Markdown甚至還有一堆掃描件想把這些全部灌進(jìn)本地知識(shí)庫(kù)。RAG 的工作流程看起來(lái)很簡(jiǎn)單上傳文檔切分文本做向量化然后讓模型去檢索。但真正上手你就會(huì)發(fā)現(xiàn)這里面每一步都有很多細(xì)節(jié)。文檔上傳不只是把一個(gè)文件挪到服務(wù)器上那么簡(jiǎn)單它牽扯到格式解析、文本抽取、內(nèi)容清洗、分塊策略、元數(shù)據(jù)提取還有后續(xù)的向量索引更新。這些環(huán)節(jié)就像是進(jìn)料口的傳送帶、粉碎機(jī)和篩網(wǎng)任何一個(gè)出問(wèn)題最終產(chǎn)出的答案質(zhì)量都會(huì)大打折扣。索引重建又是另一個(gè)容易被坑的點(diǎn)。很多人做了知識(shí)庫(kù)之后發(fā)現(xiàn)一個(gè)問(wèn)題文檔更新了但問(wèn)出來(lái)的答案還是舊的。這本質(zhì)上就是索引沒(méi)有重建或者說(shuō)向量庫(kù)里存的是舊版本的內(nèi)容。索引重建聽(tīng)起來(lái)是個(gè)后臺(tái)操作但它的時(shí)機(jī)選擇、增量處理策略、以及如何不影響線上查詢都是有講究的。這篇文章我想從一個(gè)做 RAG 落地的實(shí)踐者角度把文檔上傳和索引重建這條鏈路掰開(kāi)揉碎了講。適合剛接觸 RAG 的開(kāi)發(fā)者、準(zhǔn)備給團(tuán)隊(duì)做內(nèi)部知識(shí)庫(kù)的技術(shù)同學(xué)以及那些已經(jīng)在跑 RAG 但檢索效果一直不理想的從業(yè)者。2. 文檔上傳鏈路從文件到可檢索文本2.1 三駕馬車文件解析、分塊策略、元數(shù)據(jù)提取文檔上傳這一步本質(zhì)上是把一個(gè)人類可讀的文件轉(zhuǎn)成機(jī)器可以檢索的最小單元。這個(gè)最小單元到底是什么直接決定了后續(xù)檢索的上限。這里有三件事必須做好我把它們叫三駕馬車。第一是文件解析。不同的文檔類型解析方式完全不同。Markdown、TXT 這類純文本說(shuō)白了讀進(jìn)來(lái)就是字符串不用做太多處理。PDF 就麻煩了文本型 PDF 可以直接抽取文字層但掃描版 PDF 必須要走 OCR。Word 文檔里有表格、圖片、頁(yè)眉頁(yè)腳解析時(shí)要把這些結(jié)構(gòu)信息保留下來(lái)又不能被干擾。我見(jiàn)過(guò)太多人在解析這里翻車最常見(jiàn)的表現(xiàn)是看著文件上傳成功了但檢索的時(shí)候什么都搜不到。如果你把文件存到服務(wù)器之后先“讀一遍”發(fā)現(xiàn)在的確沒(méi)有解析出任何正文那八成是解析環(huán)節(jié)出了問(wèn)題而不是后面的向量化有問(wèn)題。第二是分塊策略。分塊可以說(shuō)是 RAG 里最容易左右最終效果的單點(diǎn)因素。塊太大檢索出來(lái)的一大段里可能只有中間幾句有用反而拉低了答案質(zhì)量塊太小上下文信息不完整模型根本看不明白這句話在說(shuō)誰(shuí)。我在實(shí)際項(xiàng)目中常用的做法是用固定窗口 遞歸字符合并的方式塊大小設(shè)置在 500 到 800 個(gè) token 左右重疊控制在 80 到 120 個(gè) token。這個(gè)數(shù)值不是憑空拍出來(lái)的而是經(jīng)過(guò)一個(gè)非常樸素的測(cè)試篩出來(lái)的把知識(shí)庫(kù)里最常見(jiàn)的幾種文檔類型各取幾篇手動(dòng)標(biāo)注一批問(wèn)題然后比較不同的 chunk 大小下檢索命中率的變化。第三是元數(shù)據(jù)提取。很多人忽略這一點(diǎn)但元數(shù)據(jù)在后續(xù)的過(guò)濾檢索里作用非常大。比如文檔來(lái)源、作者、部門、上傳時(shí)間、文檔類別甚至文件里的一級(jí)標(biāo)題、二級(jí)標(biāo)題都可以作為元數(shù)據(jù)。為什么要提取標(biāo)題作為一個(gè)獨(dú)立的元數(shù)據(jù)字段因?yàn)?RAG 系統(tǒng)在檢索時(shí)如果只靠正文的向量相似度經(jīng)常會(huì)搜出語(yǔ)義相似但上下文完全不同的一堆碎片。把標(biāo)題加進(jìn)去一起做向量化或者干脆給標(biāo)題更高的權(quán)重檢索的準(zhǔn)確度會(huì)好很多。2.2 解析管道設(shè)計(jì)文檔格式支持與文本抽取要點(diǎn)在搭建解析管道的時(shí)候需要做的是“先正常處理再兜底降級(jí)”。正常處理流程是每種文件格式走各自專門的解析器PDF優(yōu)先用文本層抽取例如 PyMuPDF純文本 PDF 的正文提取質(zhì)量很高。如果是掃描件就調(diào)用 OCR 引擎比如 Tesseract或者在線的文檔解析 API。要注意OCR 出來(lái)的文本會(huì)帶不少噪聲比如錯(cuò)別字、表格結(jié)構(gòu)亂掉這個(gè)環(huán)節(jié)之后必須要做清洗。Word用 python-docx 抽取段落和表格圖片暫時(shí)不做深入解析但至少要記錄圖片在文檔中的位置信息方便后續(xù)特殊處理。Markdown 和 HTML用專門的解析庫(kù)讀取轉(zhuǎn)成純文本時(shí)保留標(biāo)題層級(jí)和列表結(jié)構(gòu)這些結(jié)構(gòu)在分塊時(shí)很有用。CSV / Excel需要特殊路徑因?yàn)楸砀駭?shù)據(jù)的語(yǔ)義和普通文本完全不同??梢园衙恳恍凶鳛橐粋€(gè)獨(dú)立的檢索單元把列名和單元格內(nèi)容拼成一個(gè)句子方便向量化。兜底降級(jí)路徑是如果某種格式?jīng)]有專門的解析器就走一個(gè)通用文本抽取的接口能讀多少算多少。這里最核心的思路是方案設(shè)計(jì)時(shí)不能假設(shè)所有輸入都是完美的、可解析的。實(shí)際在跑的時(shí)候可能經(jīng)常遇到一些客戶上傳的加密 PDF解析出來(lái)一片空白但你又不能直接拒絕上傳所以必須要有一套“解析失敗也能讓文檔進(jìn)入流程”的降級(jí)機(jī)制。關(guān)于文本抽取還要提醒一句處理表格的時(shí)候千萬(wàn)別把它當(dāng)成普通段落讀出來(lái)否則表格內(nèi)容會(huì)被切斷成完全不連貫的碎片檢索時(shí)基本就是災(zāi)難。我通常的處理方法是把表格按行轉(zhuǎn)成自然語(yǔ)言描述比如“表1各產(chǎn)品線第一季度銷量產(chǎn)品A銷量為1200件產(chǎn)品B銷量為800件”這種句式更符合模型的語(yǔ)感檢索效果也會(huì)好很多。2.3 文檔清理哪些內(nèi)容必須在進(jìn)入索引前被剔除解析出來(lái)的文本里面經(jīng)?;熘罅繉?duì)檢索沒(méi)有幫助甚至有害的內(nèi)容。頁(yè)眉頁(yè)腳、頁(yè)碼、水印、目錄、參考文獻(xiàn)列表、版權(quán)聲明這些內(nèi)容如果不先清掉會(huì)對(duì)向量化造成兩種影響。一種影響是噪音干擾。想象一下兩百份文檔的頁(yè)腳都是“第 1 頁(yè) 共 20 頁(yè)”這些幾乎一樣的文本會(huì)占據(jù)一部分向量空間檢索時(shí)一些不相關(guān)的內(nèi)容會(huì)因?yàn)檫@種重復(fù)文本而被拉高相似度。另一種影響是語(yǔ)義污染。例如一份旅游攻略文檔正文明明是在講某條自駕路線的路況頁(yè)腳卻寫著一個(gè)酒店預(yù)訂電話模型檢索時(shí)可能把這兩者錯(cuò)誤關(guān)聯(lián)起來(lái)。做文檔清理時(shí)要有一個(gè)原則以最終檢索目標(biāo)為出發(fā)點(diǎn)。只有哪些內(nèi)容會(huì)影響檢索結(jié)果的才需要被剔除。參考文獻(xiàn)列表在有些人看來(lái)是噪聲但在學(xué)術(shù)類知識(shí)庫(kù)里它反而是核心信息源。所以在設(shè)計(jì)時(shí)最好做成可配置的規(guī)則而不是寫死一套清理邏輯。我的經(jīng)驗(yàn)是先把內(nèi)容做一個(gè)粗分類比如正文、表格、頁(yè)眉頁(yè)腳、文檔屬性然后對(duì)每一類內(nèi)容單獨(dú)處理。常規(guī)的做法是正則匹配加內(nèi)容規(guī)則比如檢測(cè)頁(yè)碼模式、檢測(cè)重復(fù)結(jié)構(gòu)、檢測(cè)版權(quán)聲明關(guān)鍵詞。對(duì)于 Markdown 來(lái)源的文檔圖片的替代文本要不要保留也需要斟酌。絕大多數(shù)情況下圖片的描述性文字很重要應(yīng)該納入檢索范圍但純粹的裝飾性 alt 文本可以直接丟棄。2.4 文檔狀態(tài)管理與任務(wù)隊(duì)列設(shè)計(jì)文檔上傳不是一次性的動(dòng)作文檔的狀態(tài)至少應(yīng)該分成待解析、解析中、解析成功、解析失敗、待索引、索引中、索引成功、索引失敗、已停用。做這個(gè)狀態(tài)管理的意義在于你在處理大批量導(dǎo)入的時(shí)候能夠隨時(shí)看到整個(gè)知識(shí)庫(kù)的“健康度”而不是等用戶來(lái)投訴了才知道哪一批文件壞掉了。任務(wù)隊(duì)列的力量在這里體現(xiàn)得很明顯。你不可能在上傳的同時(shí)同步完成解析和索引因?yàn)檫@兩件事都是耗時(shí)操作處理不當(dāng)還會(huì)阻塞整個(gè)服務(wù)。我一般會(huì)單獨(dú)啟動(dòng)一個(gè)后臺(tái) worker把文檔解析和索引重建放進(jìn)隊(duì)列里做成異步處理。用戶只需要上傳文件前端馬上給了“上傳成功正在處理”的反饋真正的重活全部放到后臺(tái)順序執(zhí)行。這里值得多提一句一個(gè)文檔的處理狀態(tài)一定要能可視化。用戶看到某篇文檔處于“索引中”的狀態(tài)他就不會(huì)反復(fù)刷新頁(yè)面去問(wèn)為什么知識(shí)庫(kù)里沒(méi)搜到這篇文章。同樣當(dāng)某篇文檔解析失敗時(shí)最好把失敗原因一并顯示出來(lái)哪怕是“PDF 加密無(wú)法解析”或者“圖片質(zhì)量過(guò)低 OCR 無(wú)法識(shí)別”都能避免用戶無(wú)限困惑。3. 索引重建讓知識(shí)庫(kù)跟上文檔變化的節(jié)奏3.1 全量重建與增量更新的取舍索引重建是 RAG 系統(tǒng)里一個(gè)很容易被忽略但又極其核心的問(wèn)題。本地知識(shí)庫(kù)剛搭建的時(shí)候第一次導(dǎo)入文檔需要全量建索引這個(gè)大家都能理解。但上線之后經(jīng)常會(huì)有新文檔加進(jìn)來(lái)、舊文檔被替換、某些文檔被刪除這些場(chǎng)景下只靠全量重建顯然不合理。全量重建的意思很好理解把整個(gè)知識(shí)庫(kù)里所有文檔重新解析一遍重新切分重新向量化把舊的向量數(shù)據(jù)全部抹掉重來(lái)。這個(gè)方案的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單、不容易出意外缺點(diǎn)是代價(jià)極高。如果一個(gè)知識(shí)庫(kù)積累了上萬(wàn)份文檔全量重建一次可能要跑很久期間索引服務(wù)還可能出現(xiàn)查詢不穩(wěn)定的情況。增量更新則是只處理新增、變更和刪除的部分。新增文檔好辦走一遍解析和向量化即可。變更文檔涉及的不只是刪掉舊的再寫新的還牽扯到一個(gè)新的問(wèn)題舊的向量數(shù)據(jù)是不是真的從索引庫(kù)里清掉了。刪除操作更隱蔽用戶在界面上刪掉了一篇文檔但向量數(shù)據(jù)如果還殘留在庫(kù)里模型檢索時(shí)依然會(huì)把這個(gè)文檔的內(nèi)容拉出來(lái)。這個(gè)坑我踩過(guò)不止一次。所以正確的做法是平時(shí)用增量更新定期做全量重建來(lái)糾正可能出現(xiàn)的臟數(shù)據(jù)問(wèn)題。我自己的習(xí)慣是每周跑一次全量重建同步用腳本檢查索引庫(kù)里的文檔數(shù)量和實(shí)際上傳的文檔數(shù)量對(duì)得上。全量重建最好安排在使用低峰期執(zhí)行比如凌晨?jī)牲c(diǎn)到六點(diǎn)避免影響線上檢索體驗(yàn)。3.2 向量化與索引構(gòu)建Embedding 模型與存儲(chǔ)選型索引重建的核心是向量化。你可以把 Embedding 模型理解成一個(gè)“翻譯官”——它的任務(wù)是把一段文本轉(zhuǎn)換成一串?dāng)?shù)字這串?dāng)?shù)字要能表達(dá)文本的語(yǔ)義信息。不同 Embedding 模型的效果差異非常大。能力更強(qiáng)的模型往往維度更高比如 1536 維或者 3072 維檢索的精度會(huì)更高但占用的存儲(chǔ)空間和計(jì)算資源也更大。輕量級(jí)的模型可能只有 384 維跑起來(lái)快但語(yǔ)義理解能力弱一些。對(duì)中文場(chǎng)景的知識(shí)庫(kù)Quest 一直比較多的是怎么選 Embedding 模型。我的建議是不要只看網(wǎng)上的評(píng)測(cè)分?jǐn)?shù)而是拿你自己的文檔試。把知識(shí)庫(kù)里最核心的一百個(gè)問(wèn)題拎出來(lái)分別用幾個(gè)候選模型做檢索測(cè)試看哪個(gè)模型能穩(wěn)定把正確答案排在前面。單純比榜單成績(jī)沒(méi)有意義因?yàn)椴煌P偷挠?xùn)練數(shù)據(jù)側(cè)重不同在某些垂直領(lǐng)域里表現(xiàn)差異會(huì)非常大。向量存儲(chǔ)的選擇也有很多講究。小規(guī)模的知識(shí)庫(kù)用傳統(tǒng)的 PostgreSQL 加向量插件就夠了幾百個(gè)文檔這個(gè)量級(jí)完全能扛住。中等以上規(guī)模比如上萬(wàn)份文檔建議上專業(yè)的向量數(shù)據(jù)庫(kù)比如 Milvus、Qdrant 或者國(guó)內(nèi)的 Milvus 托管版本。選擇向量庫(kù)時(shí)重點(diǎn)考察三件事檢索延遲、過(guò)濾能力、更新性能。如果這個(gè)知識(shí)庫(kù)未來(lái)還要做權(quán)限隔離比如不同部門看到不同文檔那向量庫(kù)的元數(shù)據(jù)過(guò)濾能力就特別重要否則你只能在應(yīng)用層做過(guò)濾性能會(huì)掉得很快。3.3 索引重建的時(shí)機(jī)與觸發(fā)策略索引重建不是想重建就重建的它需要一套觸發(fā)機(jī)制。我自己在項(xiàng)目里通常會(huì)做成三種觸發(fā)方式。第一種是手動(dòng)觸發(fā)。知識(shí)庫(kù)管理頁(yè)面上放一個(gè)“重建索引”按鈕管理員哪天覺(jué)得檢索結(jié)果不對(duì)勁可以直接點(diǎn)一下。這個(gè)按鈕做起來(lái)最簡(jiǎn)單但對(duì)運(yùn)維的人來(lái)說(shuō)最省心任何自動(dòng)策略都可能誤傷手動(dòng)操作至少是你自己確認(rèn)過(guò)的。第二種是定時(shí)觸發(fā)。用定時(shí)任務(wù)定期執(zhí)行增量同步檢查是否有文檔在上一個(gè)周期內(nèi)發(fā)生了變更。這種方式適合文檔更新頻率比較固定的內(nèi)部知識(shí)庫(kù)。每天凌晨同步一次白天大家看到的就是最新的數(shù)據(jù)。第三種是事件觸發(fā)。在上傳接口里直接掛一個(gè)鉤子只要文檔上傳成功并且解析完成就自動(dòng)把這篇文檔推送進(jìn)索引隊(duì)列。這是體驗(yàn)最好的一種方式也是實(shí)現(xiàn)復(fù)雜度最高的。事件觸發(fā)的好處是文檔一進(jìn)來(lái)知識(shí)庫(kù)就能立刻檢索到新內(nèi)容不需要管理員額外干預(yù)。我個(gè)人的建議是三種方式都要支持因?yàn)椴煌瑘?chǎng)景下你會(huì)需要不同的控制粒度。但要注意的是事件觸發(fā)時(shí)一定要做好去重和并發(fā)控制。否則同時(shí)上傳一百個(gè)文件隊(duì)列一擁而上向量數(shù)據(jù)庫(kù)會(huì)被打爆后面的檢索性能也會(huì)跟著遭殃。3.4 緩存、過(guò)期策略與多版本兼容問(wèn)題索引重建過(guò)程中最怕的就是線上檢索正在跑后面更新的索引卻又寫入了新的向量數(shù)據(jù)。如果不做任何控制用戶查詢的一瞬間檢索到的結(jié)果可能來(lái)自兩個(gè)不同版本的索引給最終答案帶來(lái)的混亂是挺大的。實(shí)際工程里常用的方案是版本化索引。也就是說(shuō)每次構(gòu)建索引時(shí)都生成一個(gè)新的索引版本號(hào)查詢時(shí)只訪問(wèn)當(dāng)前活躍的版本。等新的索引全部構(gòu)建好了再把活躍版本從舊版本切換到新版本。切換完成后舊版本就可以安全刪除了。這個(gè)策略雖然簡(jiǎn)單卻能避免掉大量的線上事故。另外一個(gè)需要注意的問(wèn)題是刪除文檔和文檔替換時(shí)的緩存。如果向量庫(kù)里存在一份文檔的舊向量同時(shí)應(yīng)用層的文檔存儲(chǔ)里已經(jīng)更新成了新版本用戶檢索時(shí)就要特別小心盡量過(guò)濾掉已經(jīng)被標(biāo)記為停止使用的文檔。很多 RAG 系統(tǒng)的壞結(jié)果都是因?yàn)檫@種“軟刪除標(biāo)記”沒(méi)有做好導(dǎo)致舊內(nèi)容在庫(kù)里賴著不走。4. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)4.1 推薦技術(shù)棧與整體架構(gòu)方案先把我自己常用的技術(shù)棧擺出來(lái)供參考。注意我只是分享一套經(jīng)過(guò)實(shí)測(cè)運(yùn)行穩(wěn)定的組合并不是說(shuō)這是唯一正確的搭配。后端主要用 Python 和 FastAPI因?yàn)?Python 生態(tài)里做文本解析和向量化的庫(kù)最多FastAPI 的異步能力又很適配這種 IO 密集型的任務(wù)。解析層我會(huì)用到這幾種庫(kù)PyMuPDF 處理文本型 PDF、PaddleOCR 處理掃描件、python-docx 處理 Word、是 BeautifulSoup 處理 HTML。分塊和清洗用 LangChain 的 TextSplitter 組件作為基礎(chǔ)再自己增強(qiáng)一把因?yàn)?LangChain 自帶的分塊器只能做個(gè)開(kāi)頭框架很多細(xì)節(jié)還需要自己的規(guī)則去補(bǔ)。Embedding 層我目前最常用的是 BAAI 的 bge-m3 或者智源的 bge 系列。這兩個(gè)模型的中文表現(xiàn)不錯(cuò)而且本地可以跑起來(lái)不需要去頻繁調(diào)用在線 API。如果你要在 Mac 上或者其他沒(méi)有 GPU 的服務(wù)器上跑也沒(méi)問(wèn)題模型可以壓縮到很小的體量用 CPU 推理的速度勉強(qiáng)能用。向量庫(kù)在這個(gè)方案里用 Qdrant然后自己維護(hù)元數(shù)據(jù)字段。Qdrant 的原生過(guò)濾功能很方便可以做到文檔級(jí)別的權(quán)限控制并不會(huì)影響檢索速度。整體架構(gòu)是上傳接口接收文件后把文件落到本地對(duì)象存儲(chǔ)同時(shí)往隊(duì)列里推一個(gè)“解析任務(wù)”。解析完成之后往另一個(gè)隊(duì)列推“向量化任務(wù)”。后面那個(gè)任務(wù)拉取文本、分塊、向量化然后寫入向量庫(kù)。整個(gè)過(guò)程用 Celery 或 RQ 做異步調(diào)度都行如果你不想引入太重的基礎(chǔ)設(shè)施直接用 FastAPI 加 asyncio 加自帶的任務(wù)隊(duì)列也可以小批量場(chǎng)景完全足夠。4.2 文檔上傳接口與解析全流程代碼實(shí)現(xiàn)思路上傳接口聽(tīng)起來(lái)很簡(jiǎn)單但做的時(shí)候有幾個(gè)細(xì)節(jié)需要注意。我這里貼的代碼不是完整可運(yùn)行的而是把核心邏輯抽出來(lái)做說(shuō)明你可以照著擴(kuò)展。from fastapi import APIRouter, UploadFile, File import uuid router APIRouter() router.post(/upload) async def upload_document( file: UploadFile File(...), category: str general, owner: str default ): # 生成唯一的文檔ID doc_id str(uuid.uuid4()) file_path f/data/documents/{doc_id}_{file.filename} # 這里要做文件大小和格式的校驗(yàn) if file.size 50 * 1024 * 1024: return {code: 400, msg: 文件不能超過(guò)50MB} # 保存文件到本地存儲(chǔ) content await file.read() with open(file_path, wb) as f: f.write(content) # 往任務(wù)隊(duì)列推送解析任務(wù)文檔狀態(tài)置為待解析 push_task(parse_document, { doc_id: doc_id, file_path: file_path, category: category, owner: owner }) return {code: 200, doc_id: doc_id, msg: 上傳成功正在處理}解析流程的核心代碼思路則是def parse_document(file_path: str, file_type: str): if file_type pdf: text extract_pdf_text(file_path) # 先嘗試文本層 if len(text.strip()) 20: text ocr_pdf(file_path) # 文本層為空則走OCR elif file_type docx: text extract_docx_text(file_path) elif file_type md: text extract_markdown_text(file_path) # 清洗和去噪 text clean_text(text) # 分塊 chunks split_text(text, chunk_size500, overlap80) # 給每個(gè)塊打上元數(shù)據(jù) for chunk in chunks: chunk.metadata { doc_id: doc_id, category: category, owner: owner, chunk_seq: index } return chunks這段代碼看起來(lái)簡(jiǎn)單但真正將它擴(kuò)展成生產(chǎn)環(huán)境的代碼也不是那么容易。extract_pdf_text函數(shù)里你要對(duì)各種異常做處理比如加密的 PDF、損壞的文件、特殊字體導(dǎo)致的亂碼。clean_text里你需要把頁(yè)眉頁(yè)腳、頁(yè)碼、水印、網(wǎng)址鏈接等常見(jiàn)的干擾信息處理掉。split_text里要處理好 Markdown 標(biāo)題層級(jí)延續(xù)性的問(wèn)題別把一級(jí)標(biāo)題和它下面的正文當(dāng)成完全無(wú)關(guān)的內(nèi)容。4.3 增量索引更新的實(shí)現(xiàn)方案增量更新的核心是 Hash 對(duì)比。給每篇文檔的文本內(nèi)容算一個(gè)哈希值存在文檔元數(shù)據(jù)里。每次同步時(shí)重新解析文檔并重新算哈希。如果哈希變了就說(shuō)明文檔內(nèi)容發(fā)生了變更需要重新做向量化并覆蓋舊的向量數(shù)據(jù)。如果哈希沒(méi)變直接跳過(guò)。這個(gè)方案實(shí)現(xiàn)起來(lái)成本低但它能解決絕大部分“文檔更新了但索引沒(méi)跟上”的問(wèn)題。def sync_document_index(doc_id): # 獲取文檔內(nèi)容和舊哈希 doc get_document(doc_id) old_hash doc.content_hash # 重新解析文檔 new_content parse_document(doc.file_path) new_hash calculate_hash(new_content) if new_hash old_hash: return {status: skipped, reason: 內(nèi)容未變更} # 刪除舊向量 delete_vectors_by_doc_id(doc_id) # 重新分塊并寫入新向量 chunks split_text(new_content) vectors embed_chunks(chunks) write_vectors(vectors, doc_id) # 更新哈希 update_document_hash(doc_id, new_hash) return {status: updated, chunks_count: len(chunks)}這里面有一個(gè)細(xì)節(jié)容易被忽略刪除舊向量之后、寫入新向量之前這個(gè)窗口期內(nèi)用戶如果發(fā)起了檢索是搜不到這篇文檔內(nèi)容的。如果是知識(shí)庫(kù)的小規(guī)模團(tuán)隊(duì)使用這個(gè)空窗期可以忽略。但如果是面向生產(chǎn)環(huán)境就需要用“版本切換”的思路來(lái)做新索引全部構(gòu)建完成之后再切換活躍版本。4.4 索引重建全流程的驗(yàn)證與健康檢查索引重建之后不只是“能搜出來(lái)”就算成功。我在項(xiàng)目里會(huì)專門做一個(gè)健康檢查頁(yè)面提供幾個(gè)指標(biāo)讓管理員一眼看明白當(dāng)前系統(tǒng)狀態(tài)文檔總數(shù)和向量總數(shù)是否匹配最近 24 小時(shí)內(nèi)新增、更新、失敗的文檔數(shù)量索引重建隊(duì)列的長(zhǎng)度隊(duì)列過(guò)長(zhǎng)說(shuō)明系統(tǒng)處理不過(guò)來(lái)最近一次全量重建耗時(shí)抽樣測(cè)試跑幾個(gè)典型提問(wèn)檢查檢索結(jié)果的命中情況這套健康檢查機(jī)制強(qiáng)烈建議做成可視化的。否則知識(shí)庫(kù)用著用著等到發(fā)現(xiàn)問(wèn)題的時(shí)候潛在的坑可能已經(jīng)積累很久了。我現(xiàn)在每次做完索引重建都會(huì)拿知識(shí)庫(kù)里最核心的 20 個(gè)問(wèn)題做一輪回歸測(cè)試把每個(gè)問(wèn)題的首條命中文檔人工看一眼確認(rèn)沒(méi)有出現(xiàn)完全不相干的內(nèi)容。這個(gè)操作雖然耗時(shí)但對(duì)整體質(zhì)量保障非常有幫助。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 為什么上傳成功卻檢索不到內(nèi)容這個(gè)問(wèn)題堪稱 RAG 知識(shí)庫(kù)十次事故里能占五六次的高頻問(wèn)題。大多數(shù)情況不是向量化的問(wèn)題而是解析出了問(wèn)題。文件上傳成功后先直接打開(kāi)原始文檔看一眼解析結(jié)果。方法很簡(jiǎn)單從隊(duì)列里找到這篇文章的解析日志直接把解析出來(lái)的字符串打印出來(lái)看看是不是空白、亂碼、或者只有一兩行文字。常見(jiàn)的元兇有幾種。第一個(gè)PDF 雖然是文本型但文檔使用了特殊字體導(dǎo)致復(fù)制出來(lái)的文字是亂碼。這種情況文本層抽取會(huì)失敗OCR 反而是更靠譜的方案。第二個(gè)Word 文檔里的正文內(nèi)容全部嵌入在文本框里常規(guī)的段落抽取讀不到這些內(nèi)容需要使用額外的處理邏輯去識(shí)別文本框。第三個(gè)HTML 文檔的主體內(nèi)容是通過(guò) JavaScript 動(dòng)態(tài)加載的靜態(tài)抓取只能拿到一個(gè)空殼頁(yè)面。這個(gè)情況就麻煩了一般的抓取方式根本拿不到正文需要先運(yùn)行瀏覽器去渲染頁(yè)面再抽取。排查思路可以先從“解析結(jié)果是否為空白”開(kāi)始然后往上找解析器的日志。如果解析出來(lái)的文本量沒(méi)明顯問(wèn)題再檢查分塊和向量化環(huán)節(jié)。只要把“解析結(jié)果”這個(gè)點(diǎn)單獨(dú)拎出來(lái)做可視化展示這類問(wèn)題分分鐘就能定位。5.2 全文檢索有結(jié)果但語(yǔ)義檢索失效這類問(wèn)題也很常見(jiàn)。搜一個(gè)詞語(yǔ)比如“報(bào)銷”全文能搜到一堆但如果你提問(wèn)“員工出差住宿費(fèi)用怎么申請(qǐng)報(bào)銷”語(yǔ)義檢索返回的答案差得離譜。出現(xiàn)這種問(wèn)題的原因一般都是索引構(gòu)建時(shí)語(yǔ)義信息沒(méi)有被有效表達(dá)。關(guān)鍵字缺失還好排查。確認(rèn)一下 Embedding 模型是否真的在向量化時(shí)用到了原文的完整文本而不是只用了截?cái)嗪蟮那皫装賯€(gè)字符。很多嵌入模型的默認(rèn)長(zhǎng)度有限制長(zhǎng)文本被截?cái)嗪蠛蟀攵蔚年P(guān)鍵信息直接丟失了自然檢索不到。我的經(jīng)驗(yàn)是分塊絕對(duì)不能過(guò)大800 個(gè) token 左右是安全上限。還有一種可能性是 Embedding 模型和檢索場(chǎng)景不匹配。通用領(lǐng)域訓(xùn)練出來(lái)的模型放在醫(yī)療、法律、工程等專業(yè)領(lǐng)域表現(xiàn)會(huì)差很多。這種情況下人力資源配置就只能考慮微調(diào) Embedding 模型但微調(diào)有數(shù)據(jù)門檻不是每個(gè)團(tuán)隊(duì)都有足夠的標(biāo)注數(shù)據(jù)。退一步的做法是在應(yīng)用層加一個(gè)同義詞擴(kuò)展或者領(lǐng)域詞典把檢索詞先做一層領(lǐng)域術(shù)語(yǔ)擴(kuò)充再去做向量檢索。5.3 索引重建后檢索結(jié)果反而變差如果每次全量重建之后檢索結(jié)果忽好忽壞那大概率是索引構(gòu)建過(guò)程里的隨機(jī)性導(dǎo)致的。很多 Embedding 模型在推理時(shí)有隨機(jī)性同一個(gè)文本向量化兩次可能得到不完全相同的向量這就讓檢索排序變得不穩(wěn)定。解決方法是固定推理時(shí)的隨機(jī)種子或者在向量庫(kù)里保留多個(gè)候選結(jié)果再投票決定。還有一個(gè)非常隱蔽的問(wèn)題是刪除舊向量時(shí)沒(méi)有刪干凈。比如某篇文檔原來(lái)被切成了 10 個(gè)塊索引庫(kù)里對(duì)應(yīng)著 10 條向量。文檔更新后新版本被切成了 12 個(gè)塊如果刪除操作只刪了舊版本的少部分向量索引庫(kù)里就會(huì)殘留著舊內(nèi)容的向量。這種殘留向量會(huì)干擾檢索結(jié)果讓用戶搜到已經(jīng)不存在的內(nèi)容。排查這類問(wèn)題的最好方式就是定期做“文檔塊數(shù)量核對(duì)”。5.4 圖片和掃描件RAG 知識(shí)庫(kù)是否真的能支持圖片最近關(guān)于 RAG 知識(shí)庫(kù)能不能存圖片這個(gè)問(wèn)題討論度一直很高。我先給個(gè)直接的結(jié)論如果你用的是純文本的 RAG 流程圖片本身是不能被索引的因?yàn)槌R?guī)的 Embedding 模型只接收文本輸入。但如果你把圖片轉(zhuǎn)成文本描述這條路就能走通。具體做法是這樣的圖片上傳后先用一個(gè)多模態(tài)模型或者視覺(jué)理解模型對(duì)圖片做解析生成一段文字描述比如“圖中是一個(gè)柱狀圖展示了 2023 年各季度銷售額其中 Q4 銷售額最高達(dá)到 1200 萬(wàn)元”。生成這段文字之后把它當(dāng)成這一段普通文本來(lái)做向量化加入索引。檢索時(shí)用戶提問(wèn)“哪一季度的銷售額最高”系統(tǒng)能通過(guò)這段描述找到這張圖片的內(nèi)容。這種方案體驗(yàn)不是完美的——它丟失了圖片里很多視覺(jué)細(xì)節(jié)只保留了解釋性的語(yǔ)義。但對(duì)大多數(shù)內(nèi)部知識(shí)庫(kù)場(chǎng)景來(lái)說(shuō)圖片輔助文字描述已經(jīng)能覆蓋絕大多數(shù)的檢索需求。如果把多模態(tài)模型引入 RAG成本和復(fù)雜度會(huì)上來(lái)一大截比如要看檢索到的圖片本身模型在回答時(shí)還需要具備圖片理解能力。當(dāng)前階段做知識(shí)庫(kù)圖片處理主流的路徑其實(shí)是“圖片轉(zhuǎn)描述文本”這條路而不是直接存圖片向量。5.5 大文檔上傳超時(shí)與系統(tǒng)性能瓶頸上傳 50MB 以上的大文件比如一本幾百頁(yè)的 PDF除了解析耗時(shí)之外上傳本身的超時(shí)問(wèn)題也很常見(jiàn)。通常建議做兩件事第一前端做分片上傳把大文件切成 5MB 到 10MB 的片逐片傳到后端最后再合并。這個(gè)方法不僅規(guī)避了服務(wù)器對(duì)上傳體積的限制還能實(shí)現(xiàn)斷點(diǎn)續(xù)傳用戶體驗(yàn)提升明顯。第二后臺(tái)上傳接口不要用同步等待解析任務(wù)推入隊(duì)列后立刻返回“正在處理”前后端通過(guò)輪詢或者 WebSocket 通信去查詢文檔處理狀態(tài)。性能瓶頸往往會(huì)出現(xiàn)在兩個(gè)位置。第一個(gè)是 Embedding 推理的吞吐量CPU 機(jī)器跑 bge-m3 一次推理可能需要一到兩秒一萬(wàn)個(gè)塊就要幾個(gè)小時(shí)才能處理完這種場(chǎng)景就需要上 GPU 或者用更小的模型。第二個(gè)是向量數(shù)據(jù)庫(kù)的寫入性能批量寫入時(shí)注意控制并發(fā)避免把連接池打滿。實(shí)測(cè)下來(lái)把并發(fā)控制在 16 到 32 之間寫入性能相對(duì)平穩(wěn)不太容易出現(xiàn)超時(shí)和占用過(guò)高的問(wèn)題。6. 工具選型與調(diào)優(yōu)建議6.1 Embedding 模型選擇的實(shí)操經(jīng)驗(yàn)選 Embedding 模型不能光看跑分。我建議按幾個(gè)維度去做篩選中文語(yǔ)義能力、上下文長(zhǎng)度、向量維度、推理速度和硬件資源消耗。本地部署還要額外考慮模型大小。如果你跑在 Mac 上或者普通 CPU 服務(wù)器上我個(gè)人推薦 bge-medium-zh 或者 m3e-base這兩個(gè)模型在中文場(chǎng)景表現(xiàn)不錯(cuò)模型體積也小。如果有 GPU比如一張 8GB 顯存的卡可以用 bge-large-zh它的語(yǔ)義理解能力比中小模型強(qiáng)很多檢索精度的提升肉眼可見(jiàn)。如果是英文為主的知識(shí)庫(kù)可以考慮 e5 系列或者 OpenAI 的 text-embedding-3-small。關(guān)于向量維度要多說(shuō)一句維度過(guò)高雖然可能帶來(lái)精度提升但也意味著向量庫(kù)的存儲(chǔ)壓力變大、檢索速度變慢。比如 4096 維的模型在向量庫(kù)中單條向量就要占用不少空間兩百萬(wàn)條向量那對(duì)基礎(chǔ)設(shè)施的要求就比較高了。選擇模型時(shí)要把“未來(lái)三到五個(gè)月的數(shù)據(jù)量增長(zhǎng)”這件事一并考慮進(jìn)去不然后面會(huì)面臨一次全面換模型的痛苦遷移。6.2 分塊參數(shù)的經(jīng)驗(yàn)值參考直接給一組基于我自己的實(shí)測(cè)經(jīng)驗(yàn)推薦的參數(shù)范圍供你起步時(shí)參考參數(shù)推薦范圍適用場(chǎng)景chunk_size400~800 token通用知識(shí)庫(kù)兼顧檢索精度和上下文完整性overlap60~120 token保持相鄰塊之間的語(yǔ)義連續(xù)性chunk_size200~300 token合同、法律條文等段落獨(dú)立性強(qiáng)的文檔chunk_size800~1200 token技術(shù)手冊(cè)、操作指南等存在大量連貫描述的文檔分塊這里要結(jié)合文檔類型靈活調(diào)整。最簡(jiǎn)單粗暴的做法是固定一個(gè)參數(shù)走天下但效果一定不是最優(yōu)的。我的做法是給每種文檔類型配一份分塊策略配置解析時(shí)根據(jù)擴(kuò)展名和類別字段自動(dòng)選擇對(duì)應(yīng)的分塊參數(shù)。這個(gè)看起來(lái)多此一舉實(shí)際上對(duì)檢索效果的提升非常明顯。另外分塊之后一定要保留每個(gè)塊來(lái)源的層級(jí)路徑。比如某個(gè)塊來(lái)自“第一章 產(chǎn)品介紹 - 1.2 功能列表”把這個(gè)路徑寫進(jìn)元數(shù)據(jù)檢索后可以展示給用戶一個(gè)清晰的引用定位。這個(gè)體驗(yàn)上的細(xì)節(jié)很多知識(shí)庫(kù)產(chǎn)品都沒(méi)有注意到。6.3 開(kāi)源知識(shí)庫(kù)方案對(duì)比與選擇參考市面上可以直接拿來(lái)用的開(kāi)源知識(shí)庫(kù)方案很多有 Dify、FastGPT、RAGFlow還有一些更輕量級(jí)的本地工具。選型時(shí)建議先問(wèn)自己幾個(gè)問(wèn)題團(tuán)隊(duì)是否有開(kāi)發(fā)能力知識(shí)庫(kù)的文檔類型主要是什么是否需要對(duì)檢索結(jié)果做精細(xì)調(diào)優(yōu)對(duì)數(shù)據(jù)隱私有多高的要求。如果你的目標(biāo)是快速搭一個(gè)內(nèi)部知識(shí)庫(kù)不想投入太多開(kāi)發(fā)時(shí)間Dify 和 FastGPT 都挺合適。它們自帶工作流編排文檔上傳、分塊、檢索、生成都串好了做一些簡(jiǎn)單配置就能用。但壞處是當(dāng)你想做深度定制的時(shí)候發(fā)現(xiàn)這套系統(tǒng)的靈活性很差很多參數(shù)被封裝在UI里你不能直插自己的解析邏輯和分塊策略。RAGFlow 的定位更有意思它專門優(yōu)化了文檔解析的體驗(yàn)特別是 PDF 和 Word 的版面解析做得比較好對(duì)復(fù)雜文檔的支持度和理解能力都不錯(cuò)。但它是一套整體系統(tǒng)也面臨和 Dify 一樣的定制靈活性問(wèn)題。對(duì)于想要深入理解 RAG 底層原理的人我還是建議自己從零搭一個(gè)最小系統(tǒng)把文檔上傳、解析、分塊、向量化、檢索這一條鏈路的代碼全部自己寫一遍。只要自己動(dòng)手寫過(guò)一遍后面不管用什么框架都能很快定位問(wèn)題到底出在哪一層。7. 一些踩過(guò)坑之后才明白的細(xì)節(jié)7.1 權(quán)限隔離做不好檢索就是一場(chǎng)災(zāi)難很多初做知識(shí)庫(kù)的人第一版都是不區(qū)分權(quán)限的。所有人上傳的文檔都打到同一個(gè)向量庫(kù)所有用戶檢索的時(shí)候都會(huì)命中所有文檔。這個(gè)方案在團(tuán)隊(duì)內(nèi)部用幾天問(wèn)題不大但連接外部用戶或者跨部門使用就會(huì)出現(xiàn)嚴(yán)重的越權(quán)問(wèn)題。解決權(quán)限隔離的正路是“向量庫(kù)元數(shù)據(jù)過(guò)濾 應(yīng)用層用戶權(quán)限校驗(yàn)”雙層配合。向量庫(kù)負(fù)責(zé)把檢索結(jié)果按照允許的文檔范圍過(guò)濾一遍應(yīng)用層負(fù)責(zé)確認(rèn)用戶確實(shí)有權(quán)查看這些文檔。在構(gòu)建索引時(shí)一定要把“部門、密級(jí)、負(fù)責(zé)人”這類權(quán)限字段寫成向量庫(kù)的元數(shù)據(jù)并做好索引管理。否則萬(wàn)一上了生產(chǎn)環(huán)境再想加權(quán)限隔離就越權(quán)問(wèn)題就非常難清理干凈。7.2 文檔刪除操作不能只刪原文件還要清理向量談到刪除這是我踩得最深的一個(gè)坑。早期做知識(shí)庫(kù)時(shí)用戶在前端刪掉了一篇文檔我只把原文件從服務(wù)器上刪了向量庫(kù)里的向量數(shù)據(jù)沒(méi)刪。結(jié)果用戶后來(lái)一檢索還能搜到這篇文章的內(nèi)容原因就是向量庫(kù)里舊數(shù)據(jù)的殘留。這個(gè)問(wèn)題如果只在內(nèi)部使用時(shí)還不太明顯一旦面向正式生產(chǎn)就完全不可接受。正確做法是在刪除文檔時(shí)同步做一個(gè)“級(jí)聯(lián)清理”把文檔ID對(duì)應(yīng)的所有向量數(shù)據(jù)全部刪除。每一篇文檔的每個(gè)分塊入庫(kù)寫向量時(shí)都必須帶上文檔ID作為標(biāo)量字段方便刪除的時(shí)候按 ID 過(guò)濾。如果團(tuán)隊(duì)的代碼邏輯里對(duì)這塊的組織混亂建議建一個(gè)映射表記錄文檔ID與向量ID的關(guān)聯(lián)關(guān)系否則后期清理工作會(huì)非常痛苦。7.3 元數(shù)據(jù)設(shè)計(jì)要克制別把所有字段都塞進(jìn)去做索引系統(tǒng)的人容易犯一個(gè)毛病什么信息都覺(jué)得有價(jià)值什么字段都想寫進(jìn)元數(shù)據(jù)。文檔描述、頁(yè)面標(biāo)簽、文件名、上傳人 IP、字號(hào)信息全都塞進(jìn)去。結(jié)果就是元數(shù)據(jù)字段越加越多向量庫(kù)的過(guò)濾查詢?cè)絹?lái)越復(fù)雜檢索效率上不去應(yīng)用層的代碼也越來(lái)越難維護(hù)。我的建議是最開(kāi)始只保留這幾個(gè)核心字段文檔ID、文檔來(lái)源、文檔類別、上傳時(shí)間、權(quán)限字段、分塊序號(hào)。其他信息可以在應(yīng)用層的文檔主表里單獨(dú)存儲(chǔ)不要寫進(jìn)向量庫(kù)。等到確實(shí)有需求的時(shí)候再逐步加字段也不遲別過(guò)度設(shè)計(jì)元數(shù)據(jù)——它雖然看起來(lái)很豐滿但會(huì)讓后續(xù)的維護(hù)成本快速上升。8. 最后的經(jīng)驗(yàn)分享做了這么多 RAG 項(xiàng)目如果非要挑一個(gè)最核心的心得我會(huì)說(shuō)**文檔上傳和索引重建是知識(shí)庫(kù)質(zhì)量的守門人它們出問(wèn)題模型再?gòu)?qiáng)也白搭。**很多人做 RAG 花很多時(shí)間調(diào) prompt、換模型但沒(méi)意識(shí)到檢索源本身就是臟的。真正的性能瓶頸不在于模型選得好不好而在于你能不能把文檔干凈、準(zhǔn)確、及時(shí)地送進(jìn)索引庫(kù)。實(shí)操中我還體會(huì)到另外一點(diǎn)不要追求一套通用的解析和分塊方案跑遍所有場(chǎng)景。不同知識(shí)庫(kù)文檔的格式、書(shū)寫習(xí)慣、術(shù)語(yǔ)密度都不一樣。每次做新項(xiàng)目的時(shí)候先花一兩個(gè)晚上把文檔樣本翻一遍寫下文檔里常見(jiàn)的版式特征和噪聲類型然后根據(jù)這些特征去調(diào)解析規(guī)則和分塊參數(shù)。這個(gè)過(guò)程看起來(lái)“笨”但恰恰是效果最明顯的投入。最后分享一個(gè)小技巧做完索引重建之后別只看“有沒(méi)有結(jié)果”要看“排在前面的結(jié)果是不是真的合理”。把檢索命中的前三條文檔都人工打開(kāi)看一眼觀察它們的語(yǔ)義相關(guān)性和引用來(lái)源。這個(gè)動(dòng)作堅(jiān)持做半個(gè)月你會(huì)對(duì)知識(shí)庫(kù)的檢索行為有一個(gè)非常清楚的體感后面再調(diào)任何參數(shù)心里都會(huì)更有底。文檔上傳和索引重建這條鏈路本質(zhì)上就是把“原始文檔”變成“模型能用的知識(shí)”的加工過(guò)程。磨刀不誤砍柴工把進(jìn)料口做扎實(shí)了后面的 RAG 才能真正發(fā)揮出它該有的價(jià)值。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
夜夜做天天爽| 99这里有精品视频视频| 一起草AV| 69五月天视频| 久久大大香| 久久久婷丁香五月| 夜夜夜夜夜操| 亚洲精99| 婷婷五月激情五月激情| AV变态另类一区二区| 五月激情基地| 97香蕉人人在线观看| 中文在线视频久1| 天天干天天av天天射| 99热在线中文字幕| 中文在线成人| 五月婷婷婷婷| 五月婷婷激情69| 天天做天天爱综合| 五月丁香亚洲综合网| 99毛片| 色六月天天激情综合网| 色婷婷av在线观看| Va另类视频| 成人做爰黄A片免费看直播室男男| 丁香六月综合激情| 欧美大肥婆大肥BBBBB| 久久九九@| 狠狠操狠狠插| 激情五月婷黄版| 97色色色色色色色色色色色色色| 26uuu亚洲欧美| 91精选国| 五月天天天天天天天天天天天天天天天婷婷婷| 丁香五月激情啪啪啪| 97韩国久久电影院| 五月丁香欧美综合| 五月丁香色停停啪啪啪| 久久东京热婷婷五月| 久久只有精| 久热免费| 丁香婷婷色五月合集| 丁香五月婷婷激情完整版| 中文字幕在线日亚洲9| 2050人人操免费工开爱| 婷婷五月激情五月丁香五月| 综合色99| 丁香五月AV| 超碰在线成人| 99久久高清视频| 91九色国产| www.五月激情.com| 啪啪丁香五月| 亚洲精品久久久久AV无码| 久久九九激情五月天| 最新日韩久热免费视频看看| 狼人婷婷久久| 色五月开心五月激情五月| 激情久久综合| 免费99情趣网视频| 中文在线成人| 99热这里全都是精品| 婷婷一本和五月丁香| 综合亚洲AV| 激情五月天在线视频| 天天擼久久擼在线| 欧美又粗又大一区二区在线观看| 国产高潮白浆一区二区| 中文字幕欧美日韩VA免费视频| www.minyis.com【JT】实力收量可预付QQ2101460746| 天天摸天天肏| 婷婷伊人綜合| 99热色精品| 丁香五月天堂网AV| 在线理论片| 婷婷色五月丁香六月欧美啪| 久久婷婷六月天| 久久九⑨| 婷婷五月久久| 深爱五月天 开心网| 玖玖精品婷婷| 狠狠久久婷| 亚洲妇女熟BBW| 97视频91| 热99在线精品| 丁香五月天激情综合| 另类图片激情五月天| 香蕉久久六月| 九九久久高清| 丁香花操逼| 国产无遮挡又黄又爽免费网站| 成人AV中文字幕| 新激情五月天色播| 毛片新网地| 婷婷五月四狠狠| 日韩日比视频| 99视频91| 日韩美女羞羞网站在线观看| 婷婷伊人綜合中文| 婷婷六月久久| 国产亚洲99久久精品熟女| 开心五月激情网| 婷婷五月大香蕉| 青青草激情网| 可似看的AV| 六月色狠狠色| 丁香六月爱综合| 五月总合激情网| 开心五月婷婷婷美女| 人人操婷婷| 欧美交换配乱吟粗大25P| 成人五月天丁香| 99热1| 热99玖玖99玖玖99九九| 天堂久久丁香| 九月性爱网| 青青草视频免费观看| 色五月首页| 人妻啪啪啪| AV在线资源| 久久婷五月综合| 五月天成人网在线观看| 五月综合色| 另类小说激情五月天| 激情五月色综合国产精品| 五月婷人妻| 色99亚洲| 免费黄色片子| 天天影视天天爽天天草| 亚洲色视频| 色五月在线| 99久久这里只有精品免费官网| 天天爽夜夜爽夜夜爽精品| 97狠狠色| 26uuu淫色| 六月婷婷狠狠| 婷婷色色网| 蜜乳A√| 99 频99热国里只有精品| 99在线观看视频免费| 五月丁香六月综合情在线观看 | 九九热精品99| 中文字幕在线日亚洲9| 99ri在线观看视频| 色婷五月天| 亚洲精品字幕在线观看| αV电影| 婷婷五月综合色中文字幕| 色综合播放| 亚洲激情五月| 五月婷婷六月丁香| 五月婷婷综合热| 天天舔天天摸天天射| 中文不卡一二三区| 欧美α√| 欧美色色色色色| 婷婷丁香成人| 六月婷婷天堂| 五月丁香琪琪| 欧洲激情五月天| 深爱激情网五月天| 婷婷九月激情| 国产69精品久久久久999小说| 青青久在线视频免费观看| 婷婷影院A成人| 9色操| 五月天三级久久| 亚洲sesesese| 久热A| www激情五月天| 99视频在线| 亚洲另类婷婷综合| 51精品国自产在线| 影音先锋毛片网站| 天天日,夜夜爽| 激情五月天com| 亚洲视频五区| 亚洲春色奇米影视| 久久久香| 人人看人人草人人摸| 另类激情中文| 九九色色| 欧美乱码国产一级A片| 丁香五月天在线观看视频| 森林影视大全,最好看的2019年视频 | 色99最新网址| 91成人品| 五月丁香六月情| 五月丁香五月婷婷| 国产精产国品一二三在观看| 婷婷五月天Av| 亚洲AV成人无码久久精品老人法拉利| 狠狠色综合网站久久久久| 大香蕉220| 色五月婷婷1| 激情黄色小说色五月| 五月婷婷香蕉| 香蕉久久国产AV一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 狠狠色婷婷色| 五月婷婷香蕉| 操骚货在线| 超碰一区二区| 安息电影在线观看完整版| 激情五月天小说| 99思思| 伊人大综合| 五月丁香婷婷综合久久| 国产午夜一区二区三区| 午夜69成人做爰视频| 成人短视频免费| 婷婷五月成人色综合| 五月丁香六月婷婷综合网站| 成人做爰高潮A片免费视频| 激情亭亭五月| 天天爽日日爽夜夜爽| 丁香六月婷婷| AV在线免费网站| 精品色色网| 欧美日韩99| 碰人人97| 婷婷色情小说| 亚洲精品又粗又大又爽A片 | 激情综合4月| 九九热最新| 欧美黄色一级录像| 五月丁香怕怕综合| 欧美丁香婷婷五月| 色欲丁香| 色色色婷婷五月| 亚洲亚洲人成综合网络| 亚洲VA欧美VA| 五月丁香激情综合网| 精品久久婷婷| 亚洲激情另类| 人人爽欧美婷婷久久久五月丁香| 色色网五月激情| 日本欧美成人片AAAA| 久久色天堂| 色婷婷久久综合中文久久一本| 国精产品一区一区三区免费视频| 亚洲综合网激情五月天| 免费看欧美成人A片无码| 五月丁香成人| 婷婷五月综合网| 五月丁香A∨在线| 婷婷激情五月综合丁香社| 色五月综合| 激情另类综合| 婷婷在线免费| 日韩在线一级| 日本WWW九九九| 激情淫乱男女| 色香久久| 91精品婷婷国产综合| 直接看的AV| 青青草青青草五月天| 六月色婷婷欧美| 99热在线观看免费精品| 久久婷婷五月国产色综合激情| 九九re精品视频在线观看| 中文字幕网站在线观看| 九九干视频| www,超碰| 9l视频自拍九色9l视频自拍九色9l社区| 99热999| 激情综合丁香五月| 69色婷婷| 五月婷婷色情| 丁香五月婷婷亚洲色图| .精品久久久麻豆国产精品| 26UUU| 99操碰| VA日本视频| 久久久网站| 国产亚洲色婷婷99精品| 青草青草视频2免费观看| 97丁香五月天| 碰超亚洲| 丁香婷婷激情| 91一道本| 东京热免费视频| 99热综合在线| 国产av天堂| 天天综合插插| 99久久天堂婷婷| 天天爽天天日| 亚洲成人综合在线| 国产熟妇的荡欲午夜视频| 欧美猛片| 五月婷婷色白丝| 亚洲综合五月天婷婷丁香| 中日韩狠狠色| 99热精品在线| 天天插天天| 成人国产欧美大片一区| 99久久6| 日韩伊人大香蕉| 内射综合网| 色五月婷婷 成人| 精品影院| 丁香五月天黄色片| 婷婷综合久久| 色五月激情婷婷| 天堂五月婷婷| 91Chinese在线| 久久只这里有精品| 夜夜大香蕉婷婷丁香| 激情综合无码| 玖操97| 午夜福利8055| 丁香婷婷基地| www.深爱激情| 久久久人妻人伦| 日本人妻伦在线中文字幕| 九九热短视频在线观看 | 五月天色婷婷网| 九九九九九九毛片| 天天日天天插| 96丁香六月婷婷蜜桃综合久久| 五月丁香婷婷基地| 欧美色一级色| 无码成人AAAAA毛片AI换脸| 国产67194| 色六月天天激情综合网| 国产av第一专区| 五月天综合影院| 无码人妻少妇色欲AV一区二区| 千人斩操逼| 特黄三级又爽又粗又大| 五月天婷婷色综合| 玖玖精品视频| 99re这里只有精品国产99| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 婷婷五月天日逼| 69人人操人人爽| 五月丁香六月香香蕉| 678五月丁香亚洲综合| 日韩无码系列| 免费看欧美成人A片无码| 激情五月婷婷五月| 这里只有精品在线播放| 激情av| 日日操夜夜擼| 丁香五月成人社区| 99在热线免费视频| 丁香五月激情六月| 婷婷五月小说色综合| 亚洲AV电影av| 极品人妻VIDEOSSS人妻 | 久久五月丁香婷婷| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 亚洲综合另类| 久久丁香综合香蕉| 色色色成人网| www.久久爱.com| 九九免费在线视频| 亚洲色涩视频| 婷婷伊人综合中文字幕| 久久全色| 丁香五月激情图片婷婷 | 99视频超级精品| 色99www.| 婷婷桃色网| 五月天婷婷久久| 六月婷婷色综合| 天天操天天谢| 五月天婷婷丁香花| 婷婷五月成人有| 色色色婷| 久久最新色| 日本97人人| 亚洲精品久久久久AV无码| 久久人妻精品| 六月婷婷开心| 99成人精品视频| 高清激情av在线观看| 影音先锋色婷婷| 69天堂99| 性爱激情综合网| 91九九| 婷婷中文在线| 超碰99久久| 激情五月婷婷开心网| 天天干天天干天天干天天干天天干天天干天天 | www.狠狠| 亚洲精品视频在线播放| 五月丁香婷婷综合久久| 91精品国产99久久久久久天美| 九一娱乐在线观看视频| 久久九九99视频| 国外亚洲成AV人片在线观看| 亚洲精品久久久久久久久久吃药 | 亚洲综合色网站| 超碰在线99| 久久网日本| 亚洲色色五月天| 久久婷婷桃花五月天| 免费一区二区三区| 狠狠干狠狠操狠狠爱| 伊久大香蕉| 国产在线激情视频| 久久久aaa| 热99玖玖99玖玖99九九| 亚洲无码性爱| 综合 蜜月 婷婷| 久久综合综合综合| 六月激情网| 日韩xx在线| 性色综合网| 月色色综合婷婷网| 大香蕉中文| 激情婷婷丁香五月天| 9热精品| 99色五月| 婷婷综合| 激情婷婷五月黑人| www一区二区三区| 婷婷五月骚厕所| 五月婷婷丁香狠狠撸久久| 久久这里有精品在线观看| 热成人网| 影音先锋偷偷色男人站| www.99视频| 这里只有精品久久| ..真实国产乱子伦毛片| www. 五月. com| AVV黄| 色综合久久99色| 亚洲成人高清在线| 这里只有视频精品| 婷婷综合网在线| 婷婷免费无视频| 丁香丝袜五月| 99久热| 丁香六月啪| 五月激情六月丁香| 5月丁香美女影院| 狠狠色婷婷丁香五月| 伊人九九热| 综合大香蕉| 亚洲人人96@| 大香蕉久久| 婷婷六月综合在线| 六月丁香色婷婷| 99热天堂| 欧美日韩欧美| 五月天AV大香蕉| 五月丁香啪啪网| 婷婷5月天激情综合| 亚洲人人操BD| 日韩成人AV在线播放| 天天插天天射| 丁香五月 无码| 色99在线视频| 丁香六月成人网| 亚洲va欧美va天堂v国产综合| 久久五月网| 做爰丰满少妇1313| 另类视屏| 婷婷五月天六月综合| 婷婷激情五月天激情| 婷婷色导航| 激情5月婷婷| 综合伊人久久| 夜夜夜夜操| 激情五月天小说网| 色婷婷视频在线| 超碰97在线观看免费| 91xxxx九色| 久这里只有精品99| 激情五月婷婷在线观看| 99国产精品久久久久久久久久久| 夜夜撸天天操| 久久九九思思| 久久五月天精品视频| 久久精品亚洲热| 丁香五月影院| 五月天婷婷丁香人人操91| 99ri精品视频在线观看| 成人性爱无码| 久热婷婷| 色原狠狠综合| tingtingzonghewang| 久久亚洲无码| 久久婷鲁| 狠狠88综合久久久久噜噜噜| 五月婷婷综合在线视频小说| 99re8这里只有精品99re8热视频| 超碰99热在线观看| 久久机热这里只有 | 丁香婷婷五月天色播| 狠狠草在线观看| 久热久| 五月丁香激情综合啪啪| 99re这里只有精品在线观看| 丁香六月综合| 色婷小说| 71在线精品视频一区| 五月婷婷和六月| 丁香五月91| 久久婷婷青青| 丁香八月综合激情| 日韩色色视频| 99热亚洲精品| 五月天六月色| 亚洲一区二区 成人网站戴套| 99热这里只有精品98| www.91在线观看| 狠狠干.com| 夜夜躁狠狠 | 色yeye欧美| 五月亭亭六月激情| 激情五月天丁香| 91人人网| 99九九玖玖| 色婷婷影视99| 99热成人在线| 色.五月综合网| 久久天天天| 色五月超碰| 色综久久久| 五月婷婷m| 久久五月婷| 婷婷亚洲色| 日日干日日| 久久新地址| 五月激情婷婷综合| 亚洲色vA| 久久久噜噜噜久久人妻| 激情久久久久| 强伦轩人妻一区二区电影| 无码激情AAAAA片-区区| 青草久久五月婷伊人| 9色在线| 色综合久| 丁香五月天啪啪| 五月天丁香综合| 婷婷激情在线| 亚洲愉拍99热成人精品| 亚洲综合婷婷| 久久久婷婷| 色激情综合| 九九99九九99九九99视频网| 狠狠爱综合| 亚洲啪啪视频| 色香蕉影院| 九九色逼| 丁香成人五月天| 9.1综合网| 久久激情网| 成人精品一区二区三区四区五区 | 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 国产AV影片| 玖玖精品资源| 久久婷婷原创视频| 99爱在线观看视频| 我去色色网五雨天| 亚洲另类电影| 天天色情站| 青青青在线视频国产| 五月总合激情网| 久久丁香| 开心五月综合激情综合五月| 色五月婷婷丁香凹凸| 天天摸夜夜爽天天做| 91热视频| 九九热在线视频| 亚洲视频操| 99黄色性生活| va中文资源在线观看| 国产精品A成V人在线播放| 五月婷婷无码专区| 久久人操-久草婷婷-成人AV| 久久婷婷网| 成人av在线电影| 99碰碰| www,色中色| 婷婷WWW久久| 操日视频| 中文人妻主播久久| 激情婷婷五月在线合集| 99热综合在线| www.久热| 日韩一区二区三区无码| 影音先锋AV男人站| 成人AV在线网站| 国产99精品免费视频| 天堂在线观看视频| 噜噜操操| 五月天激情网址| 色9999综合久久| 亚洲熟女色| 99丁香五月婷| 亚州激情九月| 久久99热这里只频精品6学生| xxx综合在线| 五月天丁香综合在线| 99久久久| 国产高清精品色| 99噜噜| 色婷婷亚洲婷婷| 五月婷婷激情久久| 色欲人妻综合aaaaaaaa网| 激情婷婷狠狠干综合| 噜噜狠狠色综合久| 中文人妻主播久久| 综合99在线| 99热在这里只有精品| 婷婷五月天亚洲精品| 99ri在线播放| 亚洲精品久久久无码| 天天爱综合网| 丁香六月 人妻| 丁香婷婷婷五月综合色情| 免费黄色片子| 五月色情婷婷开心五月色情| 九热视频在线精品15| 少妇AB又爽又紧无码网站| 天天综合色丁香| 99色视频在线观看| 亚州色婷婷| 依人大香蕉在钱1| 99热最新| 欧美日韩AAAA| 青青热久精品视频在线观看| 大香蕉久久婷婷| 国外亚洲成AV人片在线观看| 色吧综合网| 五月五婷婷| 99热日韩| 大胆伊人久久| 91 影音先锋| 99亚州综合精品成人网| 五月色亚洲| 超碰AAAAAAV| 综合久久婷婷| 九九精品热播| 丁香啪啪中文字幕| 亚洲V国产V欧美V久久久久久| 狼友超碰| 99热在这里只有精品| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 啪啪综合| 激情五月天福利| 大地9中文在线观看免费高清| 综合激情在线| 五月婷婷之综合激情| 五月婷婷久久内射| 色五月开心婷婷| 婷婷月综合| 久久婷婷色综合老司机| 五月婷婷综合激情小说| 99激情| 大香蕉久操| 色色色婷婷| 婷婷亚洲色| 森林影视大全,最好看的2019年视频 | 五月丁香精品| 色五月色图| 啪啪色区| 成人版视频在线观看| 欧美丁香五月夫妻天| 超碰1999| 99热激情| 六月综合婷婷开心伊人| 亚洲色情在线| 丁香婷婷色情社区成人小说| 天天天天天天天操| 丁香六月爱综合| 亚洲视频丁香网va| 国产色色网站网址| 狠狠看狠狠| 99色在线观看视频| 久9久成人精品视频| 五月婷婷亚洲色图| 无码一区精品一区视频| 老美AA片| 67194成I人在线观看线路1| 久99久99精品免| 先锋资源91| 五月丁香激情四射综合| 激情综合五月| 99re在线观看视频| 婷婷六月中文字幕| 99亚洲无码| 综合久久99| 免费看成人747474九号视频在线观看| 日韩成人中文字幕| 国产精品美女| 疯狂做受XXXX高潮A片| 天天综合天综合久久网| 五月色激情综合网| 91ncm视频| 九九视频在线观看视频6 | 免费看欧美成人A片无码| www婷婷色| 午夜丁香久久久久久| 天天日天天肏天天奸| 色综合色色| 五月天婷婷综合网| 日本一級黃色一級片| 婷久久久| 婷婷丁香宗合888| 丁香色五月婷婷17C| 五月天婷婷爱丁香中文字幕| 久久成人人妻| 另类A片| 伊人99热| 特黄三级又爽又粗又大| 九九久久五月天| 99热思思在线观看| 玖玖资源站蜜臀| 五月综合激情| 内射人妻视频国内| 午夜免费高清AV片| 激情网站五月| 丁香六月视频免费观看| 久久人人九| 99热在线播放| 夫妻超碰在线| 九九热这里只有精品首页| 99热骚货| 久久 婷婷 五月天| 欧美内射AAAAAAXXXXX| www.五月婷| 五月婷婷在线丁香| 亚洲色婷婷视频| 色综合九九| 亚洲狠狠爱婷婷| 棕合影院色色| 99成人无码| 情色婷婷五月天| 国产欧美性成人精品午夜| 日韩av网站在线观看| 丁香五月天色综合| 久久a热| 日本久久99| 婷婷五月天丁香激情| 涩涩五月天综合| 色色色色色色网| 久久xx| 五月天婷婷狠狠| 激情五月天开心网丁香无码| 国产精品国产| 操大屄五月天视频| 91操人视频| 激情五月天婷婷色色色色色色色色色色色| 午夜大香蕉| 色五月婷婷激情| 五月天激情综合| 伊人大香蕉在线视频| \\五月天婷婷激情| 婷婷五月天激情网| 亚洲久艹| 久久人妻系列| 五月综合色| 九艹在线| 婷婷五月天激情基地| 97在线精品| 9月色婷婷| 操逼棍操逼| 另类小说五月天| 99啪| 99热只有这里有精品| 老美AA片| 亚洲综合在线视频| 婷婷 丁香 精品| 偷拍九九热| 热的国产,热的综合,热的有码 | 99视频色在线观看| 日韩精品一区二区亚洲AV观看| 亚洲超碰青涩| 六月激情婷婷综合| 99热.com| 久久99激情| 婷婷婷婷婷婷婷五月丁香| 无遮挡国产高潮视频免费观看| 久操人妻| 大香蕉99热| 性爱七区| 久久亚洲激情五码| 香蕉影院色| 色综合色综合色综合高潮| 亚洲99热| 日韩啪啪视频| 99A级片| 99偷拍视频在线日本| 丁香五月停停av| 99热久久这里只有精品| 热热久久精品视频| 丁香在线视频| 快乐激情五月色婷婷| AV在线中文| 九月婷婷激情| 久久亚洲天堂| 9久久精品视频| 激情五月天开心总和网| 无毒黄色网址| 婷婷五月六月激情| 天天综合网~91| 亚洲一区二区无码蜜乳av| 丰满老熟妇BBBBB搡BBB| 天天摸天天舔天天爽| 久久人人看| 婷婷免费精品视频| 五月天激情国产综合婷婷婷| 丁香婷婷六月激情文学| 色五月天在线观看| 天天操夜夜爽天天操| 99热手机在线精品| 久久综合婷婷| 少妇综合网| 亚洲五月天第一综合干| 亚洲人妻AV| henhencao国产在线| 亚洲妇女熟BBW| 五月天自拍网| 五月婷婷亚洲天堂97色婷婷| 精品三区影院| 五月婷婷深深爱| 国产操B视频| av在线免费播放| 色婷婷综合视频| 人人播| 天天摸天天舔天天爽| 嫩BBB搡BBBB榛BBBB| 婷婷五月精品在线| AV亚洲在线| 婷婷五月天高清无码| 99热欧美精品| 亚洲视频五区| 日日天天天| 国产偷人爽久久久久久老妇APP | 婷婷色无码| 在线中文AV| 香蕉AV777XXX色综合一区| 人人操人人添人人摸97| 九色无码| wwwss在线观看| 被强行糟蹋的女人A片| 人妻肉射免费观看| 色五月色五天色情网址| 婷婷色五月开心五月| 日韩ac不卡无码| 五月丁香啪| 久久欧洲综合网| 超碰高清在线| 色香欲综合| 婷婷五月天亚洲激情戏精品| 中文字幕精品推荐免费在线观| 日本五月天网站| AAA久久| 国产乱人偷精品人妻A片| 97韩国久久电影院| 五月丁香少妇| 五月丁香久久| 伊人狠狠干| 丁香婷婷综合激情五月色| 丁香五月天激情视频| 婷婷六月久久| 九热电影av| 天天干夜晚夜操| 婷婷五月天婷婷| 九九热re99re6在线精品| 婷婷深爱五月天| 婷婷伊人久久综合| 亚洲综合无码| 国产成人精品一区二三区熟女在线 | 亚洲第精品| 丁香五月婷婷99| 狠狠综合网| 五月丁香无码视频| 粉嫩av蜜桃av蜜臀av| 国产69久久久欧美黑人A片| 开心激情五月天网| 天天摸天天舔在线视频| 久久男人网婷婷| 色色婷婷丁香| 五月丁香六月花| 中文资源在线a| 香蕉人妻AV久久久久天天| 色偷偷五月天| 婷婷天天插天天爱| 九九精品99久久久| 武汉美女啪啪视频免费一级片| 亚洲午夜Av| 国产精品色色| 丁香在线视频| 色青青五月| 亚洲婷婷五月| 91肏肏肏| a在线观看| 丁香婷婷在线| 亚洲综合在线视频| 久久激情婷婷| 国产亚洲色婷婷久久99精品91| 色亭亭五月天丁香综合AV - 百度 - 百度| 激情视频婷婷五月花| 色婷大香蕉| 亚洲精品色| 久久婷婷五月天| 性爱电影科技贸易有限公司| 99ri久久| 狠狠爱五月婷婷综合六月| 天天插天天插天天插天天插| 少妇达人正片在线播放_ikun_福利吧| site:901-07.com| 蜜乳人妻一区二区三区| 野战J办公桌椅H| 99热国产| 婷婷五月婷婷| 五月天婷婷深深爱| 欧美噜噜久久久XXX| 超级碰碰碰碰视频| 久久人人添人人爽添人人片αV | 99热只有国产在线精品| 日韩啪啪网| 成人AV网站在线| 99原创自拍视频在线观看| 亚洲精品成人| 丁香婷婷色五月激情综合| 手机看片日日做夜夜| 男女99免费视频| 亚洲色图在线视频| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 婷婷五月丁香香蕉| 岛国资源网| 秋霞免费三级片| 九色 在线| 色护士综合| A短视频免费在线观看| 日日干天天| 久久精品4| 婷婷五月丁香六月| 激情五月综合网最新| 欧美丁香六月激情视频| 日本女va| 伊人网欧美在线男人天堂五月丁香| 欧美日韩成人在线网| se婷97| 色色亚洲99com| 内射在线CHINESE| 91久久婷婷| 99热这里只有精品16| 五月天婷婷操逼视频| 丁香六月婷婷综合缴| 久久五月综合| 日日夜夜小色哥| 任我肏视频精品| 亚洲蜜桃精久久久久久久久久久久| 九九这里有精品| 色色激情| 亚洲AV成人片无码网站| 丁香五月色五月| 色色色综合网| 99爱视频免费| 久久国产色| 丁香六月色婷婷| 婷婷六月五月| 丁香五月六月婷婷怡红院| 婷婷开心六月| 婷婷丁香色五月久久88| www色中色综合| 91精品国产综合久久密臀 | 色色综合网。| 人人摸人人干| 97碰 在线视频观看| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 国产一区二区三区影院| www.色五月| 五月丁香影视| 欧美 日韩 人妻 高清 中文| 精品夜夜澡人妻无码AV| 99无码| 亚洲日本韩国| 99在线精品免费视频| 免费超碰在线观看| 狠狠操狠狠色| 99久久偷拍视频| 超级碰91| 综合99久久天天综合| 综合性爱网| 中文字幕人妻在线| 婷婷在线视频| 五月天婷婷一起草| 中文无码精品一区二区三区| 第一区久久网站| 色五狠狠| 人人爱摸视频| 色色丁香婷婷| 激情五月婷婷| 亚洲视频一区| 色五月婷婷丁香凹凸| 九九中文字幕九| www.97碰碰com| 久久色情| 丁香五月亭亭六月综合激情网| 久久婷婷五月综合激情国产| 婷婷五月天天aV| 国产无套精品一区二区| 97碰人人操| 狠狠色婷婷7777久| 五月综合激情网| 伊人大综合| 五月天伊人久久久久| 秋霞A V毛片| 人人爱干人人爱草| 久久网思思| 亚洲激情五月天| 91九色精品女同系列| 97啪啪| 99久热视频在线| 91在线视频综合| 久热伊人| 五月婷婷免费| 久久综合五月天| 操碰97| 亚洲国产精品VA在线看黑人| 亚洲99一级无嗎特制在线| 26UUU欧美激情一区二区| 激情综合青草| 丁香五月23111| 99热只有| 久久精品99| www色哟哟| 日韩欧美一级大黄网站| 六月婷婷日| 99热这里只有精品9| 开心激情网五月天| 久9综合| 亚洲综合无码| 五月丁激情| 第四色五月婷婷| 久久久婷婷| 69久热| site:pzdcoin.com| 天天夜夜爽| 国产成人99久久亚洲综合精品| 婷婷不干网| 丁香五月激情啪| 婷婷激情五月天亚洲综合| 天天玩夜夜操| 久久曰曰| 久热伊人9| 婷婷激情综合无月| 丁香婷婷六月男男| 国产超碰在线| 色婷亚洲五月丁香| 性婷婷| 97婷婷丁香| 天天日天天久久青青| 中文字幕,综合,91| 可以直接看的av网站| 色婷婷免费视频| 超碰在线观看三级片| 丁香九月综合激情| 久久视频九九视频| 大香蕉九九| 99操网站| 免费色色色| 色色色综合| 久久97久久99久久综合欧美| 秋霞成人毛片一级A片| 亚洲精品五月| 亚洲综合另类| 激情综合在线播放| 久久婷婷五月综合激情国产| 丝袜人妻| 一级韩国产精品毛| 日本色婷婷综合| 色色免费网站| 黄色AAAAAAA| 丁香婷婷偷拍| 9久久婷婷国产综合精品性色| 黄色录像网点| 中文字幕婷婷五月天| 九九成人| 99久久超级| 99精品这里只有免费视频| 狠狠狠狠狠狠色| 97人人操人人拍| 激情婷婷五月天伊人在线观看| 最新色色五月天| 人妻激情网| 秋霞影音91人妻久久| 激情四射五月天| 亚洲AV综合网| www.99热这里精品| 亚洲综合五月天婷婷| 久久婷婷成人视频| 丁香五月欧美激情| 久久婷婷亚洲无码一起| 色综合综合网| 国产黄大片在线观看画质优化| 丁香婷婷激情综合五月激情| 国产精品色婷婷99久久精品| 婷综合六月| 五月婷婷啪啪网| 免费视频WWW在线观看网站| 99婷婷| 97色婷婷成人综合在线观看| 久艹伊| 五月天国产婷婷精品视频在线| 在线中文AV| 久久亚洲色导航| 久热这里只有精品6| 猫咪伊人久久| 五月婷视频| 色站9/| 开心五月深爱婷婷| 五月天婷婷狂暴白浆| 97色伦另类图片小说视频 | 五月婷婷色影院| 色婷婷a| 综合五月丁香六月婷婷| 91人人爽久久涩噜噜噜| 最新国产AV| 五月天激情网页| 久久性爱网| 色九月激情综合网| 天天射影院| 综合在线网| 五月丁香激情综合| 99热99ai| 国产在这里只有精品| 婷婷综合97| 久久99久久99精品免视看婷| 日本色色网站| 五月亭亭开心网| 国产99久9在线| 六月丁香综合| 综合久久伊人| 夜夜爱网站| 欧美亚洲成人在线| 九九热最新| WWW·色色色·COM| 99在线热视频| 婷婷射图五月天| 久久多色| 婷婷91| 99热这里只有精品66| 这里只有精品在线视频精品| 色综合伊人网| 婷婷久久五月| 风流少妇A片一区二区蜜桃| 婷婷色香六月综合激情| AAA级久久久精品| 99成人免费视频| 97成人视频| 夜夜爽天天爽| 99re在线视频| 五月丁香婷婷色| 久热这里只有精品6官网亚洲| 婷婷色中文字幕| ji'qing'luan'ren'lun| 五月天操逼激情| 精品成人a v无码内射| WWW99视频| 色99在线视频| 久热久色| 国产亚洲精品久久久久久久久动漫 | 操逼巨乳91| 久久性爱视频| 97干在线| 色婷婷亚洲在线| 吾爱AV导航| 9久久久久久久久久久| 婷婷五月69| 91919191919久久成人视频| www.五月天社区| 色色色婷婷| 五月丁香天堂网| 五月丁香六月婷婷综合网| 丁香五月伊人| 久9无码视频| 丁香六月婷婷缴情欧美| 婷婷97色| 五月婷婷AV| 婷婷五月中文在线| 91操人人操| 99精品免费视频| 99精品在线播放| 久久久国产精品黄毛片| 青青草99热久久精品国| 九九九精品视频免费观看| 99国产精品久久久久久久久久久| 在线观看的av| www婷婷| 思思精品久久艹| 亚洲国产网站| 亚洲六月色| 五月天啪啪视频| www,色中色| 噜噜五月天综合| 超碰超碰在线| 五月天婷婷丁香蜜桃91| 丁香五月在线视频黑人| 日本色色视频| 永久免费视频| 99色色网站| 成片免费观看大全| 99视频内射三四| 视色综合| 日韩av在线电影| 丁香婷婷九月在线| 亚洲黄色精品| 99热在线中文字幕| 久操干| 亚洲乱码日产精品BD| 婷婷色婷婷| 婷久看人爽| 久久视频婷婷| 日本熟妇乱妇熟色A片蜜桃| www.五月天婷婷| 天天激情视频| 9999热在线免费观看| 亚洲乱码日产精品BD| 99.N在线视频| 情情五月天色| 性欧美日本| 婷婷丁香无码专区| 九色婷婷| 噜噜色com| 六月婷婷六月天天在线免费| 97在线/日本| 少妇高潮呻吟A片免费看软件| 五月激情影院| 亚洲XX日本| 婷婷五月天堂| 伊人在线大香蕉网| 国产67194| 色婷婷88| 婷婷五月骚厕所| 色情五月天视频网| 操人精品| 青青草大香| 色五月激情网| 亚洲综合五月天婷婷丁香| 五月婷婷精品视频| 久热九九| 婷婷性爱综合| 射婷婷中文字幕| 夜夜操夜夜操| 五月婷婷激情中文字幕| 精品久久久久久久久久久久人妻| 日本91在线| 综合九九久久| 日韩成人影片网站| 丁香色婷婷五月天| 亚洲婷婷五月天| 五月花婷婷丁香| 激情5月婷婷狠狠干| 五月婷婷影院| 射琪琪| www,setingting| 99免费在线视频| 久久九九综合| 99超级碰碰| 情久久综合五月天| 天堂婷婷丁香六月网| 色婷五月婷婷| 久久九区| h亚洲| 六月婷婷操逼| 国内自拍97在线|