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

ARTICLE DETAIL

資訊詳情

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

基于RAG的私有知識(shí)庫(kù)問答系統(tǒng)實(shí)戰(zhàn):從文檔預(yù)處理到檢索增強(qiáng)生成

基于RAG的私有知識(shí)庫(kù)問答系統(tǒng)實(shí)戰(zhàn):從文檔預(yù)處理到檢索增強(qiáng)生成 簡(jiǎn)介這是一套基于RAG檢索增強(qiáng)生成技術(shù)的私有知識(shí)庫(kù)問答系統(tǒng)完整項(xiàng)目面向計(jì)算機(jī)相關(guān)專業(yè)需要完成畢業(yè)設(shè)計(jì)、期末大作業(yè)或課程設(shè)計(jì)的學(xué)生也適合想學(xué)習(xí)RAG落地實(shí)踐的開發(fā)者參考。項(xiàng)目代碼注釋詳細(xì)經(jīng)過嚴(yán)格調(diào)試簡(jiǎn)單部署即可運(yùn)行系統(tǒng)功能完善、界面美觀具備知識(shí)庫(kù)管理、智能檢索問答等核心能力屬于導(dǎo)師認(rèn)可的高分畢設(shè)作品。資源包共545個(gè)文件約126MB以145個(gè)Python源碼文件為核心輔以96個(gè)pyc編譯文件、166個(gè)png界面截圖、23個(gè)md說明文檔同時(shí)包含9個(gè)pdf文檔、35個(gè)js前端腳本及css、yaml、json等配置與依賴文件代碼、文檔、素材一應(yīng)俱全。目前已有1860人學(xué)習(xí)下載。源碼帶有清晰注釋新手也能讀懂可直接作為畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)提交也可在此基礎(chǔ)上擴(kuò)展二次開發(fā)對(duì)理解RAG檢索生成流程、私有化知識(shí)庫(kù)搭建具有很高的參考價(jià)值。1. 基于RAG的私有知識(shí)庫(kù)問答系統(tǒng)畢業(yè)設(shè)計(jì)里最值得一試的“萬(wàn)能殼子”站在畢業(yè)設(shè)計(jì)的選題清單前大多數(shù)人的第一反應(yīng)是做一個(gè)XX管理系統(tǒng)但如果你盯上基于RAG的私有知識(shí)庫(kù)問答系統(tǒng)要交付的就不是又一個(gè)CRUD而是一個(gè)能“看懂”你喂給它的文檔、并按提問給出帶出處回答的系統(tǒng)。RAG檢索增強(qiáng)生成會(huì)把私有文檔切碎、向量化、存進(jìn)向量庫(kù)用戶提問時(shí)先檢索最相關(guān)的片段再讓大模型基于這些片段作答。它直接解決一個(gè)真實(shí)痛點(diǎn)通用大模型不知道你內(nèi)部文檔里的內(nèi)容微調(diào)貴且周期長(zhǎng)RAG用最少的算力把“陌生文檔”變成“可回答的問題”。這個(gè)方向適合想兼顧算法認(rèn)知和工程落地、又不想把畢業(yè)設(shè)計(jì)做成純調(diào)包演示的本科生和研究生源碼和文檔說明寫透了答辯時(shí)連“創(chuàng)新點(diǎn)”都能順著檢索鏈路往下講。2. 先把知識(shí)庫(kù)做成“能檢索的樣子”文檔歸一化、切塊與Embedding選型2.1 私有知識(shí)庫(kù)的常見來源PDF、Word、公眾號(hào)文章怎么歸一化“私有知識(shí)庫(kù)”聽起來高大上落到文件系統(tǒng)里無非是幾十個(gè)PDF、若干Word/Pages文檔、Markdown筆記還有從微信讀書或公眾號(hào)里存下來的網(wǎng)頁(yè)。常見做法是先把所有格式歸一成純文本后續(xù)的切塊、向量化才有統(tǒng)一入口。PDF用pdfplumberWord用python-docxHTML用BeautifulSoup這是我在多個(gè)項(xiàng)目里試下來最穩(wěn)的組合。from pathlib import Path import pdfplumber from docx import Document from bs4 import BeautifulSoup def load_document(path: str) - str: p Path(path) suffix p.suffix.lower() if suffix .pdf: text [] with pdfplumber.open(path) as pdf: for page in pdf.pages: text.append(page.extract_text() or ) return \n.join(text) if suffix .docx: doc Document(path) return \n.join(para.text for para in doc.paragraphs) if suffix in (.html, .htm): soup BeautifulSoup( p.read_text(encodingutf-8, errorsignore), html.parser ) for tag in soup([script, style]): tag.decompose() return soup.get_text(\n) return p.read_text(encodingutf-8, errorsignore)這段代碼做三件事按后綴分發(fā)解析器PDF每頁(yè)單獨(dú)提取并按頁(yè)拼接HTML先刪掉script和style再取文本。邏輯上要注意extract_text()對(duì)掃描件返回空字符串所以給它兜底o(hù)r 避免整頁(yè)內(nèi)容在后續(xù)處理里靜默丟失Word只取段落文本表格里的內(nèi)容會(huì)丟掉如果知識(shí)庫(kù)里有表格型制度文件要看后面避坑章節(jié)的處理方案。把公眾號(hào)文章存進(jìn)知識(shí)庫(kù)我一般不是去爬而是直接復(fù)制全文到Typora或Obsidian里存成Markdown再走上面的Markdown分支。這樣做的好處是保留了小標(biāo)題結(jié)構(gòu)后面按標(biāo)題切塊時(shí)能拿到干凈的語(yǔ)義邊界也天然避開了網(wǎng)頁(yè)里導(dǎo)航、廣告等噪聲文本的干擾。2.2 Embedding模型選型中文私有文檔的四個(gè)候選檢索質(zhì)量的上限由Embedding模型決定不是由大模型決定。這個(gè)順序很多同學(xué)搞反先定LLM然后隨便用一個(gè)Embedding檢索效果差就開始調(diào)Prompt這是本末倒置。建議先做一輪Embedding選型再回去定生成模型。下面這組對(duì)比是我在中文制度類文檔上常用的候選模型維度是否可本地部署中文效果備注BAAI/bge-large-zh-v1.51024是好密集檢索基線需要配合查詢指令前綴BAAI/bge-m31024是好支持多語(yǔ)言和多粒度內(nèi)存占用偏大text2vec-base-chinese768是中資源占用低適合老舊電腦跑演示云端API百煉、千帆等不等否好零部署但要把文檔內(nèi)容傳到外部私有場(chǎng)景慎用私有知識(shí)庫(kù)的核心訴求恰好在“私有”二字上一般優(yōu)先推薦bge-m3或bge-large-zh-v1.5。前者在長(zhǎng)文檔和混合語(yǔ)言場(chǎng)景更穩(wěn)后者單機(jī)幾個(gè)GB內(nèi)存就能跑。選型時(shí)有一個(gè)容易踩的坑不同Embedding模型產(chǎn)出的向量維度不一樣切換模型之后必須重建向量索引否則FAISS加載時(shí)直接把進(jìn)程崩掉這屬于“換了模型忘了索引”的低級(jí)事故避坑章節(jié)里我會(huì)展開講。另外知識(shí)圖譜型知識(shí)庫(kù)KG與RAG知識(shí)庫(kù)是兩條不同的路線。KG適合實(shí)體關(guān)系密集的場(chǎng)景比如公安案件、企業(yè)供應(yīng)鏈關(guān)系查詢但構(gòu)建圖譜的標(biāo)注和抽取成本很高RAG知識(shí)庫(kù)更適合制度文本、操作手冊(cè)這類“一段話講清楚一件事”的內(nèi)容。畢業(yè)設(shè)計(jì)里如果選的是制度問答老老實(shí)實(shí)走RAG就夠了別為了湊創(chuàng)新點(diǎn)硬上KG。2.3 圖片和表格要不要進(jìn)知識(shí)庫(kù)熱搜里常有人問“RAG知識(shí)庫(kù)能存儲(chǔ)圖片嘛”。純文本RAG處理不了圖片像素但有兩種變通一是用多模態(tài)Embedding把圖片和文字一起向量化二是先把圖片轉(zhuǎn)成文字描述再入庫(kù)。畢業(yè)設(shè)計(jì)不建議引入多模態(tài)顯得復(fù)雜且答辯不好講。更實(shí)用的做法是把圖片中的文字用OCR識(shí)別出來跟圖片的上下文文本拼在一起表格則按行轉(zhuǎn)成鍵值對(duì)文本再入庫(kù)。常見做法是把表格轉(zhuǎn)成“列名: 值; 列名: 值”的拼接文本例如“姓名: 張三; 部門: 研發(fā)部”而不是直接喂原始表格。原因在于切塊和Embedding對(duì)純排版結(jié)構(gòu)不敏感鍵值對(duì)文本的語(yǔ)義密度遠(yuǎn)高于帶空格的表格原樣。這一步雖然土但能顯著減少后端生成的幻覺。數(shù)據(jù)清洗時(shí)再順手做兩步去掉連續(xù)空行和亂碼字符按標(biāo)題把一篇長(zhǎng)文檔預(yù)切成小節(jié)這樣切塊器工作的目標(biāo)粒度從“整本手冊(cè)”變成“一個(gè)章節(jié)”召回效果會(huì)明顯提升。3. 用Python把“檢索生成”串起來最小可跑的RAG流水線3.1 本地向量庫(kù)FAISS bge-m3 的建庫(kù)與檢索一個(gè)能拿來答辯的RAG系統(tǒng)最核心的代碼量其實(shí)只有兩百行左右。我強(qiáng)烈建議不要一上來就套LangChain的完整流程畢業(yè)設(shè)計(jì)里要先自己手寫一遍Embedding和檢索哪怕后面用框架重構(gòu)成產(chǎn)品形態(tài)答辯時(shí)也能講清楚“向量從哪來、索引長(zhǎng)什么樣、檢索怎么算相似度”。下面這套最小可跑的組合直接用SentenceTransformer加載本地中文Embedding模型用FAISS建密排索引。from sentence_transformers import SentenceTransformer from langchain_text_splitters import RecursiveCharacterTextSplitter import faiss import numpy as np model SentenceTransformer(BAAI/bge-m3) splitter RecursiveCharacterTextSplitter( chunk_size500, chunk_overlap50, separators[\n\n, \n, 。, , , ], ) def load_documents(file_paths: list[str]) - list[str]: # file_paths 來自上一章 load_document 的歸一化結(jié)果 return [load_document(fp) for fp in file_paths] def build_index(docs: list[str]): chunks [ c for doc in docs for c in splitter.split_text(doc) ] vectors model.encode( chunks, normalize_embeddingsTrue ).astype(float32) index faiss.IndexFlatIP(vectors.shape[1]) index.add(vectors) return index, chunks def search(index, chunks, query, k4): query_vec model.encode( [query], normalize_embeddingsTrue ).astype(float32) scores, idx index.search(query_vec, k) return [ (float(scores[0][i]), chunks[idx[0][i]]) for i in range(k) ]代碼邏輯分三塊切塊器把每個(gè)文檔切成500字的小段段間重疊50字模型把每段變成1024維向量normalize_embeddingsTrue讓向量落在單位球面上檢索用IndexFlatIP也就是內(nèi)積相似度歸一化之后的內(nèi)積等價(jià)于余弦相似度。參數(shù)上chunk_size500對(duì)制度條款類中文文本是安全起點(diǎn)overlap50能避免句子被從中間腰斬。這里有個(gè)容易忽略的細(xì)節(jié)split_text返回的是字符串列表RecursiveCharacterTextSplitter的順序是先按“\n\n”切再按句號(hào)切最后按空格這意味著Markdown的段落邊界會(huì)被優(yōu)先保留比固定長(zhǎng)度硬切合理得多。如果裝不上langchain-text-splitters也可以手寫一個(gè)按標(biāo)點(diǎn)切塊的函數(shù)但多級(jí)分隔符的優(yōu)先級(jí)順序要保留。3.2 生成環(huán)節(jié)Ollama 本地大模型 帶出處約束的Prompt檢索拿到top-k片段之后生成環(huán)節(jié)的任務(wù)是“忠實(shí)復(fù)述”不是“自由發(fā)揮”。我用Ollama跑本地模型比如qwen2.5:7b通過OpenAI兼容接口調(diào)用這樣一個(gè)Client可以在本地和云端API之間平滑切換。Prompt里的核心約束是只能依據(jù)給定資料作答資料里沒有的內(nèi)容要明說不知道。from openai import OpenAI client OpenAI( base_urlhttp://127.0.0.1:11434/v1, api_keyollama, # Ollama 本地服務(wù)不校驗(yàn) key占位即可 ) def ask(query: str, hits: list[tuple[float, str]], top_k: int 3): context \n\n.join([ f片段{i1}{text} for i, (_, text) in enumerate(hits[:top_k]) ]) prompt ( 你是一個(gè)嚴(yán)謹(jǐn)?shù)膯柎鹬?。?qǐng)只根據(jù)下面的資料回答問題。\n 資料中沒有的信息請(qǐng)回答“資料中未找到相關(guān)內(nèi)容”不要編造。\n 回答時(shí)標(biāo)注你引用的片段編號(hào)。\n\n f資料\n{context}\n\n f問題{query} ) resp client.chat.completions.create( modelqwen2.5:7b, messages[{role: user, content: prompt}], temperature0.2, max_tokens512, ) return resp.choices[0].message.content這里temperature0.2是為防止模型在事實(shí)問答里“文采飛揚(yáng)”從而引入幻覺max_tokens512對(duì)大多數(shù)制度問答夠用。讓模型標(biāo)注片段編號(hào)有兩個(gè)作用一是給用戶提供出處答辯時(shí)這是很好的加分項(xiàng)二是當(dāng)模型引用了不存在的片段或半句話你能從編號(hào)反查是切塊問題還是檢索問題。實(shí)際演示時(shí)一個(gè)常見的翻車現(xiàn)場(chǎng)是模型滔滔不絕地把檢索片段之外的知識(shí)也講出來所以Prompt里“不要編造”這五個(gè)字往往比調(diào)大top_k更管用。生成這一步還有個(gè)小技巧把之前的問答歷史拼進(jìn)上下文實(shí)現(xiàn)多輪追問。簡(jiǎn)單做法是維護(hù)一個(gè)messages列表把前一輪的user/assistant內(nèi)容追加進(jìn)去但要注意上下文膨脹超過模型窗口后反而把檢索片段擠掉。我一般只保留最近兩輪對(duì)話再多就截?cái)唷?.3 手寫流水線 vs Dify/開源知識(shí)庫(kù)畢業(yè)設(shè)計(jì)怎么選熱搜里頻繁出現(xiàn)Dify知識(shí)庫(kù)和開源知識(shí)庫(kù)很多同學(xué)會(huì)糾結(jié)畢業(yè)設(shè)計(jì)要不要直接用Dify拉流水線我的看法是Dify適合做產(chǎn)品原型和現(xiàn)場(chǎng)演示但如果論文要求“實(shí)現(xiàn)一個(gè)系統(tǒng)”直接拖節(jié)點(diǎn)很容易被答辯老師問住——你寫進(jìn)論文的“創(chuàng)新點(diǎn)”會(huì)變成“配置點(diǎn)”。手寫代碼的另一個(gè)好處是能精確監(jiān)控每個(gè)環(huán)節(jié)的耗時(shí)和丟失率Dify里的“知識(shí)庫(kù)排隊(duì)中”這類黑匣子狀態(tài)到了答辯現(xiàn)場(chǎng)很難解釋。不過這并不意味著不該了解Dify。它的知識(shí)庫(kù)本質(zhì)就是文檔集、切塊策略、向量庫(kù)、檢索參數(shù)四件套你完全可以在論文的“系統(tǒng)設(shè)計(jì)”章節(jié)畫同樣的四層結(jié)構(gòu)再用自己的Python代碼逐層落地。開源知識(shí)庫(kù)也可以拿來對(duì)比選型但源碼級(jí)研究還是回到FAISS與SentenceTransformer這條主線最省力。底線是界面可以用現(xiàn)成框架套但檢索和生成的鏈路代碼必須能在自己機(jī)器上從零跑通否則論文的“系統(tǒng)實(shí)現(xiàn)”站不住。4. 讓回答從“能跑”到“靠譜”三個(gè)必調(diào)參數(shù)、混合檢索與Reranker4.1 三個(gè)必調(diào)參數(shù)chunk_size、chunk_overlap、top_k把系統(tǒng)跑通只需半天調(diào)參卻可能花掉一周因?yàn)槊總€(gè)參數(shù)都直接影響檢索命中率而命中率又決定生成質(zhì)量。三個(gè)必調(diào)參數(shù)是chunk_size切塊大小、chunk_overlap切塊重疊、top_k送入生成模型的片段數(shù)量。chunk_size語(yǔ)義上等于“模型一次能看到的資料粒度”。設(shè)置太小比如200一個(gè)完整的條款被攔腰拆散檢索到的是殘句設(shè)置太大比如1000向量里混入太多無關(guān)信息相似度被稀釋。中文制度文檔一般從400到600之間起步。chunk_overlap是防止句子被從中間切開導(dǎo)致語(yǔ)義斷裂的緩沖經(jīng)驗(yàn)值是chunk_size的10%到20%。top_k則需要在“上下文完整”和“上下文干凈”之間平衡top_k2時(shí)上下文很干凈但容易漏關(guān)鍵出處top_k6時(shí)召回高但Prompt會(huì)塞進(jìn)噪聲。我常用top_k4做默認(rèn)值再配合重排序修正。調(diào)參不能靠手感要寫一個(gè)離線評(píng)估腳本把幾十個(gè)“問題-標(biāo)準(zhǔn)答案”喂進(jìn)去算召回率。def evaluate_params( docs: list[str], qa_pairs: list[dict], chunk_size: int, overlap: int, top_k: int, ) - float: splitter RecursiveCharacterTextSplitter( chunk_sizechunk_size, chunk_overlapoverlap, separators[\n\n, \n, 。, , , ], ) chunks [ c for doc in docs for c in splitter.split_text(doc) ] # 注意chunk_size 變了之后必須重建索引 vectors model.encode(chunks, normalize_embeddingsTrue).astype(float32) index faiss.IndexFlatIP(vectors.shape[1]) index.add(vectors) hit 0 for item in qa_pairs: hits search(index, chunks, item[question], ktop_k) texts [text for _, text in hits] if any(item[golden] in text for text in texts): hit 1 return hit / len(qa_pairs)這段代碼把“問題-包含答案的片段原文”作為測(cè)試集統(tǒng)計(jì)top_k召回里是否出現(xiàn)答案所在片段。如果數(shù)據(jù)里沒有一塊完整片段包含答案說明chunk_size太小把答案切碎了。這個(gè)“答案落在一個(gè)chunk里”的比率就是檢索系統(tǒng)的底氣比率低于70%先別急著調(diào)Prompt回來調(diào)切塊。參數(shù)說明上chunk_size和overlap在切塊時(shí)就決定了chunk集合的形狀改完必須重建索引top_k只影響檢索讀取多少片段不需要重建索引可以快速掃幾個(gè)值。所以調(diào)參順序是先固定top_k4用腳本掃chunk_size和overlap再固定最優(yōu)切塊掃top_k。批量跑的時(shí)候把結(jié)果記錄成CSV方便寫進(jìn)論文的“實(shí)驗(yàn)與分析”章節(jié)。很多人工標(biāo)注問答對(duì)的同學(xué)會(huì)忽略一點(diǎn)測(cè)試集要和調(diào)參過程分離留出至少10個(gè)“沒用來調(diào)參”的問題做最終驗(yàn)證否則調(diào)參過程會(huì)過擬合到自己這批題上。4.2 混合檢索BM25補(bǔ)上精確匹配的盲區(qū)向量檢索用語(yǔ)義相似度找“意思相近”的片段但對(duì)專有名詞、工號(hào)、公文編號(hào)這類精確字符串并不敏感。比如你問“請(qǐng)找出編號(hào)為ZD-2024-001的制度文件”語(yǔ)義向量很可能把它匹配到“制度文件”上而丟掉編號(hào)?;旌蠙z索的常見做法是對(duì)同一批chunk同時(shí)建BM25倒排索引和向量索引檢索時(shí)分別取結(jié)果再用帶權(quán)重的分?jǐn)?shù)融合合并。from rank_bm25 import BM25Okapi # 中文按字切分最穩(wěn)按詞切分容易切錯(cuò)專有名詞 tokenized_chunks [list(chunk) for chunk in chunks] bm25 BM25Okapi(tokenized_chunks) def hybrid_search(query: str, k: int 4, alpha: float 0.5): vec_scores, vec_idx index.search( model.encode([query], normalize_embeddingsTrue).astype(float32), k * 2, ) bm25_scores bm25.get_scores(list(query)) max_bm25 max(bm25_scores) or 1.0 vec_norm [float(s) for s in vec_scores[0]] max_vec max(vec_norm) or 1.0 combined {} for pos, i in enumerate(vec_idx[0]): combined[i] alpha * (vec_norm[pos] / max_vec) for i in range(len(chunks)): bm25_part (1 - alpha) * (bm25_scores[i] / max_bm25) combined[i] combined.get(i, 0.0) bm25_part top_indices sorted( combined, keylambda i: combined[i], reverseTrue, )[:k] return [(combined[i], chunks[i]) for i in top_indices]上面的權(quán)重融合先把向量分?jǐn)?shù)和BM25分?jǐn)?shù)各自歸一化到0到1再用alpha做線性加權(quán)否則兩類分?jǐn)?shù)量綱不同相加沒有意義。中文場(chǎng)景我建議按單字切分而不是按詞因?yàn)榉衷~器對(duì)制度文本里的新詞很容易切錯(cuò)。alpha控制語(yǔ)義和精確匹配的側(cè)重制度編號(hào)多的文檔alpha取0.4以下口語(yǔ)化問答多alpha取0.6以上?;旌蠙z索不是越復(fù)雜越好但BM25插件的成本極低且在答辯里屬于“檢索策略有改進(jìn)”的加分點(diǎn)。4.3 用Cross-Encoder做重排序粗排精排的經(jīng)典打法向量檢索的第一階段是雙塔結(jié)構(gòu)速度快但精度有限第二階段用Cross-Encoder把查詢和每個(gè)候選片段拼起來打分精度高但慢。RAG流水線里常見做法是向量和BM25各召回幾十分交給重排序模型統(tǒng)一打分再取top_k送入生成。這個(gè)“粗排精排”的思路在搜索引擎里是標(biāo)配放到RAG里一樣成立。from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch tokenizer AutoTokenizer.from_pretrained(BAAI/bge-reranker-v2-m3) reranker AutoModelForSequenceClassification.from_pretrained( BAAI/bge-reranker-v2-m3 ) reranker.eval() def rerank(query: str, candidates: list[tuple[float, str]], top_k: int 3): pairs [(query, text) for _, text in candidates] inputs tokenizer( pairs, paddingTrue, truncationTrue, max_length512, return_tensorspt, ) with torch.no_grad(): scores reranker(**inputs).logits.squeeze().tolist() scored sorted( zip(scores, candidates), keylambda x: x[0], reverseTrue, ) return [item for _, item in scored[:top_k]]Cross-Encoder一次只能處理一對(duì)文本所以它只能在“候選數(shù)量已經(jīng)很小”的環(huán)節(jié)用。我一般讓向量檢索先召回30個(gè)候選重排序后取4個(gè)進(jìn)入生成這樣既保住了檢索的廣度又把生成環(huán)節(jié)的上下文噪聲壓到了最低。這個(gè)設(shè)計(jì)在代碼上成本不高但能在論文里放一張“加Reranker前后回答準(zhǔn)確率對(duì)比”的圖屬于投入產(chǎn)出比很高的優(yōu)化點(diǎn)。需要注意bge-reranker-v2-m3按查詢與片段對(duì)打分分?jǐn)?shù)含義是相關(guān)性不能直接和向量相似度比較。5. 避坑指南最常翻車的五個(gè)地方現(xiàn)象、原因、解決5.1 PDF表格整段消失檢索永遠(yuǎn)命不中現(xiàn)象喂進(jìn)知識(shí)庫(kù)的PDF里有幾張帶邊框的表格任何關(guān)于表格內(nèi)容的問題都檢索不到。 原因pdfplumber的extract_text()只提取文字流邊框表格的單元格文本會(huì)被漏掉或亂序。 解決表格頁(yè)面先用page.find_tables()拿到單元格坐標(biāo)逐格取文本再按行合并也可以直接用page.extract_tables()但合并單元格會(huì)拆成空值。畢業(yè)設(shè)計(jì)數(shù)據(jù)量通常不大我一般優(yōu)先人工整理成Markdown表格再入庫(kù)既不丟信息又省調(diào)錯(cuò)時(shí)間。如果表格實(shí)在太多再用腳本處理別上來就全自動(dòng)否則你會(huì)花一下午查數(shù)據(jù)去哪了。5.2 切塊把句子攔腰截?cái)啻鸢赣肋h(yuǎn)差后半句現(xiàn)象檢索命中的片段總是“半句話”模型生成時(shí)只能說一半怎么調(diào)Prompt都沒用。 原因切塊器按固定字?jǐn)?shù)切分沒有感知句號(hào)逗號(hào)separators里沒放中文標(biāo)點(diǎn)。 解決RecursiveCharacterTextSplitter的separators按順序嘗試邊界要把“?!焙汀啊狈旁诳崭袂懊嫒绻袎K器不支持多級(jí)分隔符就在切之前先給文本做預(yù)分段再按chunk_size聚合。檢查方法是打印前20個(gè)chunk看有多少以句號(hào)結(jié)尾。以我的經(jīng)驗(yàn)中文文本如果chunk里句號(hào)結(jié)尾占比低于80%切塊策略就該調(diào)了。5.3 檢索到了但回答“未找到”Prompt把答案憋壞了現(xiàn)象檢索出的片段明明包含答案模型卻回答“資料中未找到相關(guān)內(nèi)容”。 原因兩個(gè)常見原因一是top_k2導(dǎo)致答案片段被截到上下文之外二是Prompt要求模型“只能根據(jù)資料回答”時(shí)模型過于保守或者max_tokens太小把答案截?cái)嗔恕?解決先打印送入生成模型的context確認(rèn)答案是否真的在context里。若不在調(diào)高top_k若在問題出在生成環(huán)節(jié)把Prompt改為“優(yōu)先依據(jù)資料回答資料不足時(shí)請(qǐng)說明”并調(diào)大max_tokens。這條排查順序非常重要檢索問題先于生成問題不要在沒看context時(shí)瞎調(diào)Prompt。5.4 換Embedding模型后進(jìn)程崩潰索引維度寫死了現(xiàn)象上午用bge-large-zh建好庫(kù)下午換bge-m3程序啟動(dòng)直接段錯(cuò)誤退出。 原因FAISS索引在創(chuàng)建時(shí)確定了向量維度IndexFlatIP(dim)已經(jīng)寫死新模型維度不同index.add()會(huì)內(nèi)存越界。 解決每次切換模型后把索引文件和chunk文本一起重建。建議把模型名和維度寫進(jìn)索引文件名比如index_bge-m3_1024.faiss加載時(shí)先校驗(yàn)維度再加載。FAISS索引文件本身可刪可重建真正怕的是chunk文本和索引順序?qū)Σ簧纤运饕募cchunks的序列化文件要成對(duì)保存。5.5 檢索出“相似但不相關(guān)”的片段長(zhǎng)尾問法搞不定現(xiàn)象用戶用自然口語(yǔ)提問檢索結(jié)果卻總是另一份相似文檔的片段。 原因雙塔Embedding對(duì)字面差異敏感對(duì)語(yǔ)義改寫不夠魯棒或者測(cè)試集里這一類問題本身就少切塊與模型都沒針對(duì)性優(yōu)化。 解決混合檢索里的BM25能兜住字面匹配Reranker能修正語(yǔ)義排序二者疊加后此類現(xiàn)象大幅減少。另一個(gè)有效手段是給查詢加一個(gè)重寫步驟把口語(yǔ)問題改寫成規(guī)范問句再檢索比如“工資什么時(shí)候發(fā)”改寫成“工資發(fā)放時(shí)間”。這個(gè)邏輯可以寫成一個(gè)小函數(shù)也可以讓生成模型在檢索前代為改寫但畢業(yè)設(shè)計(jì)階段用規(guī)則或Few-shot最省錢可控。6. 進(jìn)階用離線評(píng)估和鏈路快照給答辯交一份能復(fù)現(xiàn)的數(shù)字6.1 三個(gè)離線指標(biāo)替代“我覺得變好了”把系統(tǒng)調(diào)到位之后最容易被忽略的是評(píng)估。答辯最怕老師說“這個(gè)效果是你自己調(diào)出來的換一批文檔還能用嗎”。我最后做的一道工序是把評(píng)估腳本固化召回率k、答案中含golden片段的比例、單次問答的生成時(shí)長(zhǎng)中位數(shù)。每改一個(gè)參數(shù)命令行跑一遍輸出對(duì)比表。這里的關(guān)鍵是測(cè)試集要留出一部分“沒參與調(diào)參”的問題防止過擬合到自己這批文檔上。6.2 把一次問答的完整鏈路dump下來另一個(gè)實(shí)用技巧是把每次問答的chunk片段、Prompt、模型輸出全部存成JSON文件翻車時(shí)對(duì)著JSON看是哪一環(huán)出了問題而不是盯著終端猜測(cè)。鏈接口返回異常、檢索為空、生成超時(shí)分別記不同的錯(cuò)誤碼答辯現(xiàn)場(chǎng)出了問題也能說“這是哪一層的日志”。def save_trace(question, hits, final_answer, pathtrace.jsonl): import json record { question: question, hit_chunks: [text[:100] for _, text in hits], answer: final_answer, } with open(path, a, encodingutf-8) as f: f.write(json.dumps(record, ensure_asciiFalse) \n)這段代碼把當(dāng)前問題的檢索片段截?cái)嗪笈c最終答案一起落盤。字段刻意只保留前100字避免日志文件膨脹你要做的就是每改一次參數(shù)后跑一批問題對(duì)比兩次的JSON記錄看答案是變好了還是只是換了個(gè)說法。我最深的教訓(xùn)是第一次做RAG時(shí)花了三周調(diào)大模型最后發(fā)現(xiàn)70%的問題來自切塊和Embedding而不是LLM。所以我強(qiáng)烈建議你先跑通離線評(píng)估再去做界面和包裝。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色丁香婷婷| 26uuu丁香婷婷五月| 可以免费观看的av| 99这里的视频都是精品| 国产欧美日韩综合精品一区二区| 五月丁香综合精品| 91狼友视频在线观看| 色婷婷深爱五月| 亚洲精品亚洲人成人网| 九九婷婷五月天影视| 99精品偷自拍| 婷婷丁香色五月| 国产三级在线播放| www99精品| 久久嘟嘟丁香| 成人av中文字幕| 婷婷视频网| WWW.99热| 久久婷婷五月综合色播| 中文字幕久久婷九女同| 91se在线视频| 少妇婷婷五月天| 欧美性猛交XXXX乱大交极品| 久久黄色片| 色爱爱综合网| 婷婷五月天Av| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 国产毛片精品一区二区色欲黄A片| 丁香五月天色综合| 丁香性爱在线视频| 99热这里只有精品8| 婷婷国产欧美97| 人人操av| 久久久久亚洲A∨成人乱码电影| 精品亚洲国产成人A片在线鸭王| 99在线观看视频蜜臀| 色噜噜丁香| 国产精品视频久久99| 91在线人| 色婷婷基地| 日本女va| 九月婷婷在线观看| 99热97| 亚洲第一色色色| 国产69久久久欧美黑人A片| 99热这里只有精品50| 2018夜夜草| 五月丁香操亭亭网| 婷婷丁香五月综合| 九九色情网五月天| 婷婷五月综合激情| 五月丁香色六月激情干大屄| 日本a片网址| 婷婷五月丁香图片人人操| 色婷婷成人五月| 99久热在线精品99re6热| 在线婷婷| 欧美色色色色色色色| 精品九九网| 99自拍视频| 激情婷婷狠狠干| 二区成人视频| 大战熟女丰满人妻AV| 国产精品VA在线| 婷婷五月情| 成人AV在线电影| 99热精品免费在线观看| 激情五月天啪啪视频| 丁香五月综合狠狠| 在线播放成人网站| 久久婷婷五月综合激情国产| 国产高清精品色| av色婷婷| 婷婷久久五月天中文字幕在线观看| 99这里都是精品| 99热无码| 天干天天干天天天天天| 秋霞免费三级片| 色色色宗合网| 中文字幕日产A片在线看| 丁香 亚洲 久久| 激情婷婷丁香五月| 丁香五月激情婷婷视频| 伊人网色婷婷五月天| 性生活视频98791| 99热这里只有精品69| 亚洲AV网站在线观看| 色啦啦视频| 国产激情久久久| 天天操天天草天天草天天| 黄色精品五月婷婷| 色爱99| 午夜精品久久久久久久爽| 午夜爱爱网站| 久久精品视频在这里有| 五月丁香婷中文字幕| 亚洲综合视频在线| 六月婷欧美| 这里只有精品96| 日本综合色色| 超碰在线观看99| 天天综合亚洲| 99日这里只有精品| 五月丁香婷婷人体| 欧美韩日AAA网站| 91热久久| 99自拍网| av在线观看网站| 日韩aⅴ视频| 婷婷色综合| www.日韩国产| 大香蕉久久久| 少妇搡BBBB搡BBB搡毛茸茸 | 五月婷婷综合丁香视频| 99热6这里只有精品| 欧美猛片| 91艹人| 色婷婷网| 色色综合色视频| 欧美日韩成人在线网站| 97干婷婷| 亚洲AV网址| 99在线小视频| 婷婷五月天丁香久久| 粉嫩AV久久一区二区三区| 五月丁香激情综合网| 久久婷婷色综合| 久久久久人无码人妻| 天天色情站| 久久久大香蕉| 久久99综合| 五月丁香啪啪婷婷| 激情五月天婷婷直播| 丁香五月婷婷av| 伊人网啪啪| 婷婷自拍| 7超碰自拍| 99在线精品视频| 成人在线网站| 人人妻人人澡| www.狠狠操.co m| 99热免费精品热久久66| 婷婷久久夜| 久久婷婷五月国产激情综合片| 五月色色色| 亚洲一区国产传媒| 五月丁香| 激情五月网站| 久久久久久五月天| 天天搞天天爽| 久久9精品| 午夜丁香婷婷| 人妻久久久| 专区无日本视频高清8| 中国丰满熟女A片免费观| 久热9| 国产国产乱老熟女视频网站97| 激情五月天色色网| 狠狠干五月| 九九精品9| 97久久精品视频| 青青草原爱爱网| 激情久久丁香| 激情图片亚洲| 久久这里有精品在线观看| 中文不卡一二区| 婷婷五月激情在线| www.99热在线| 国产成人精品一区二三区熟女在线| 午夜不卡久久精品无码免费 | 99精品色| 日本91在线播放| 久久色吧| 97人人操人人干| 五月天六月丁香| 亚洲Av入口| 丁香五月婷婷色偷偷| 色综合大香蕉| 婷婷五月综合在线| 99热伊人综合| 久9热| 激情桃色网| 丁香五月瑟瑟| www.99热| 亚洲中文字幕在线观看| 欧美一线视频| 色婷婷4| 99这里只有精品99| 可以免费观看的AV| 久热9热| 丁香五月婷婷啪| 99re久热只有精品6在线直播| 五月天婷婷视频30| 色婷婷激情| 久久婷婷九月国产精品| 五月丁香另类图片| 五月天综合影院| 色五月综合在线| 丰满少妇乱A片无码| 久热久re| 色色日韩无码| 色色吧综合| 香蕉久久av一区二区三区| 国产在线自| 丁香婷最新动态| 人妻久久久久久久久妻久久久久| 影音先锋四区| 丁香狠狠色婷婷久久无码视频| 亚洲热综合| 人妻无码精品一区| 男人天堂AV在线一区二区| 日韩不卡DvD| 婷婷五月天色综合| 开心婷婷五月| 亚洲无aV在线中文字幕| 六月婷婷色宗合| 婷婷色正月| 丁香六月婷婷色XXXXX| 午夜伊人大香蕉| 开心五月综合激情网| 激情宗合网激情五月天| 五月天开心网| 大香蕉网站,大香蕉综合| 婷婷丁香五月天小说| 91久久九久久九久久九久久九久久| 精品一二三区久久AAA片| 97五月婷婷| 日韩精品色| 激情四射网| 在线不卡的视频| 天天日夜夜高潮| 九九色播五月丁香| 久婷自拍视频| 婷婷色5月激情网| 香蕉久久国产AV一区二区| 99小视频在线观看| 综合五月天婷婷色| 久久久国产精品黄毛片| 天天色天天爱天天舔| 婷婷九月亚洲| 色婷婷久久视屏| 色五月视频,小说| 人人爱人人草| 另类在线| 欧美va在线| 婷婷六月色情| 天天爽天天摸天天爱| 专区无日本视频高清8| a九九热www| 日本激情综合| 五月婷九月| 无码激情精品色婷婷久久久久| 婷婷激情五月| 九九av| 日本va欧美va国产激情| 日笨久久网| site:publishdd.com| 久9热| 99热99热| 色九九综合| 黄色AAAAAAA| 五月色丁香婷婷中文字幕| 在线中文字幕视频| www.色综合| 五月天天综合| 丁香婷婷色| 五月天色社区| 欧美久久久久久久久中文字幕| 亚洲综合婷婷| 久久九九99视频| 亚洲欧洲自拍图片专区五月天| 色五月激情五月| 日本三级日本三级99| 五月天com| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 5月婷婷视频网站综合| 99自拍视频网站| 99热资源在线| 婷婷五月天色| 丁香五月天偷拍| 91精品久久久久久综合五月天| 五月天婷婷免费| 久婷婷色| 9久精品视频| 激情五月天色色网| 久热只有这里有精品| 婷婷久久五月天| 丁香六月婷婷综合| 婷婷视频网| 九九视频免费| 亚洲人妻av伦理| 婷婷五月天色综合翘| 欧美三级A做爰在线观看| 亚洲中文无码成人| 一起草AV入口| 五月性色| 色婷婷视频| 九九综合色| 五月熟妇婷婷久久| 伊人影院久久网| 丁香五月天综合| 五月婷婷激情性爱| 久久99热这里只频精品6学生| 开心婷婷五月天电影院| 国产原创视频91九色| 婷婷综合网| 综合一区二区三区| 婷婷亚洲综合| 五月天激情小说婷婷基地| 91呦呦呦| 99无码超碰| 噜噜色五月| 免费超碰在线观看| 一起草无码| 九月丁香婷婷| 在线视频九色97| 五月天婷婷在线视频| 在线观看中文字幕亚洲| 亚洲色无码A片一区二区麻豆| 天天日日爽| 色婷婷激情五月天| 国产精品99久久久久久久女警| 蜜桃婷婷丁香| 91狠狠色色丁香婷婷综合久久| 五月丁香婷婷色| 婷婷五月天日本国产| 久综合九综合99| 99热99美国在线观看| 九九热色视频| 色一情一乱一乱一区9| 97色色色色色| 79精品视频| 色狠狠999综合| 五月激情综合网| 色婷婷五月天激情综合| 91人操人人人操人| 婷婷综合性爱网| 丁香五月伊人| 密乳视频| 国产67194| 丁香五月婷婷社区| 99热大香蕉| 26UUU在线观看| 97碰碰在线观看视频| 久碰视频| 五月婷婷三级| 五月婷在线播放| 久久婷婷影院| 五月婷婷综合在线亚洲视频| 狠狠综合| 狠狠色噜噜狠狠狠888| 久久成人性爱| 97热精品| 日韩三级视频一区二区| 99这里只有精品| 2025天天操| 深爱五月婷婷开心中文字幕| 吊色AV男人的天堂| 日本丰满久久| 无码成人AAAAA毛片AI换脸| 熟女网站久久| 五月婷婷真爱激情网| 大香蕉九操| 97涩婷婷| 荫道BBWBBB高潮潮喷| 永久免费一区二区三区| 婷婷色成人| 另类的婷婷| 97超级碰碰碰| 青青久久91| 国外亚洲成AV人片在线观看| 色色色无码| 久久狠狠干| 伊人婷婷五月| 激情五月天之六月婷婷| 日韩人妻在线观看| 9999热在线免费观看| 碰超亚洲| 久久国产一区二区三区| 开心五月天激情网| 天天色综网| 亚洲操操操| 色婷婷六月天在线| 五月丁香欧美综合免费视频| 日韩一66精品| 色情五月天视频网| 色婷婷九月| 激情 婷婷| 久久婷婷五月综合色和| 久9精品视频在线| 色爱综合网| 久久激情五月婷婷| 亚韩在线视频| 五月天婷婷操逼视频| 丁香婷婷成人网| 狠狠色激情综合| 亚洲五月六丁香激情| 九九色精品| 九九99热| 97人人搞| 97人人射| 热的国产99热| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 国产精品99久久久久久猫咪| 98色花堂98t.R| 1024亚洲| 超碰97免费在线| 激情五月天婷婷色色色色色色色色色色色 | 人人干99| 九九99免费视频| 久久婷婷五月综合色奶水99啪| 成人在线99| www.99热视频| 成功精品影院| 激情六月丁香| 中文字幕 中文字幕明步| 五月婷婷av| 欧美六月| 婷婷在线播放| 一点色成人网| 99只有精品9| 激情小说色五月| 天天激情站| 婷婷在线日韩综合| 美女xx不卡| 99啪在线视频| 久久性刺激| 激情综合网址| 日韩无码一区二区三区四区| 中文字幕簧片| 丁香五月婷老师| 色五月亚洲| 欧美色九| 99无码黄色视频| 久久婷婷网| 99热精品在线播放| 少妇水多A片太爽了| 亚洲性爱AV在线| 欧美日韩成人综合9| 一本九九色| 五月婷婷六月丁香首页| 五月色在线| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 《战争与艾拉》完整版| 1010日日无码| 五月丁香激| 青草激情综合| 欧美色男人网站| 中文字幕高清av| 91狠狠色丁香| 婷婷激情综合无月| 91精品久久久久久综合五月天| 五月激情婷婷播播开心| 色色色色色色色色综合网| 99精品偷自拍| 亚洲欧洲美女在线观| 六月激情丁香一道本7777| 99热这里都是精品| 精品九九视频| 九色七七| 国产精品久久久久久久久久| 性爱激情小说AV五月丁香花| 思思久久99热| 色狠久| 婷婷亚洲色| 草了bav视频在线观看| 五月激情久久| 新久久五月天激情| 99热精品中文字幕| 婷婷丁香五月综合| 99色在线观看视频者| 免费亚洲成人电影AV| 色色综合色视频| 丁香五月婷婷在线视频| 色偷偷五月天| 婷婷五月日本| 久久婷婷丁香五月一二三| 99热中文字幕久久| 五月丁香啪啪网| 97超碰在线观看免费| 色色丁香| 九九这里有精品| 99综合| 人人操操97| 色情婷婷| 野战毛片三一3| 少妇高潮呻吟A片免费看软件| 五月天丁香综合在线| 麻豆科斗777| 婷婷伊人网| 天天干天天做| www.maotanji.com| 色婷婷五月天天天干天天操天天爽 | 久久国产色| 亚洲正能量欧美| 91操人| 五月天激情婷婷五月天久久| 六月婷婷综合| 99热99| www,婷婷五月天777me,com| 久久多色| 99免费青青蜜臀| 色五月丁香激情视频| 欧洲亚洲午夜| 六月丁香开心婷婷欧美| 婷婷5月天av| 99噜噜| 91啦丨九色丨刺激中文| 天天拍夜夜爽日日| 亚洲综合色网| caop在线视频| 婷婷丁香五月网| 610018岁成人视频| 色色色视频免费无码 | 色婷婷电影网| 91丨九色丨大屁股| 伊人婷婷综合| 91婷婷五月丁香碰| 亚洲亚洲永久无码777777| 午夜不卡久久精品无码免费| 99re这里只有精品99| 开心激情婷婷| 丁香五月婷综合| www.人人操人人看人人想人人摸 人人人人操,COM | 狠狠色噜噜狠狠| 疯狂做受XXXX高潮A片动画| 五月天堂婷婷| 男女免费视频999| 婷婷五月综合中文字幕| 五月婷婷免费视频| 少妇水多A片太爽了| 久久视这里只有精品| 91成人视频| 日亚二欧美| 色五月丁香婷婷在线观看| 婷婷五月丁香青青草在线| 青青热久久综合| 99在线小视频| 亚洲色五月| 丁香五月婷婷啪| 色娸娸综合网| 思思久久99| 97在线天堂| 色欲丁香久久| 国产性av| www.com操| 日韩少妇内射免费播放| 色亚洲视频| 久久亚洲婷婷| 99热久久这里只有精品| 欧美性色A片免费免费观看的| 91精品久久久久久| 99热啪啪| 丁香色情五月天| 狠狠色综合网| 天天爽,天天操。| 农村熟妇高潮精品A片| 亚洲成人色五月婷婷综合| 噜噜视频| ji'qing'luan'ren'lun| 日韩丁香涩| 五月丁香激情深爱婷婷| 男人的天堂av俄罗斯热| 久久小片| 狠狠色丁香婷婷久久综合| 99人妻碰碰碰久久久久视| 91久久九久久九久久九久久九久久| 亚洲bt丁香五月天婷婷激情小说| 国产91在线视频| 五月天另类小说| 免费成片在线观看| 天天搡日日搡aaaaⅩ| 欧美精品999| 99日韩| 狠狠色噜噜狠狠色噜噜噜999| 天天影院色| 五月丁香va| 91性交在线播放| 青青草激情网| 激情丁香婷婷| 精品一区二区三区免费毛片爱| 深爱激情九九五月天| 99干日日干| www,婷婷| 九洲一级A片| 欧美成人精品A片免费一区99| aⅤ79成人片| 99热91| 99久久婷婷五月天| 在线99精品| 色99网站| 五月婷婷狠天天色综合| 五月丁香 狠狠爱| 色丁香五月婷婷| 66精品国产成人| 成人午夜天| 激情综合丁香五月| 大香蕉久久| 五月开心播播网| 99热在这里只有精品| 色婷婷97| 亚洲视频在线网站| 爽极品色| 日日干干天天干| 高清国产AV| 日日杆天天| 综合五月天天天天天五月| www.爱婷婷.com| 成人电影一区| 亚城区在线| 大香蕉久操| 欧洲MV日韩MV国产| 原琪琪色影院| 五月婷深深爱激情网| 五月婷婷久久久久| 五月激情影院| 天天爽夜夜操| 国产淫熟妇| 五夜丁香| 免费视频在线观看的网站| 丁香五月天婷婷中文字幕| 97色色色色色色色| 婷婷五月丁香色综合| 91性高潮久久久久久久久| 五月丁香婷婷激情久久| 成人婷99最新| 中文幕无线码中文字蜜桃| 草五月| 五月天激情小说电影| www.AV在线| 无码激情AAAAA片-区区| 六月婷婷激情| 丁香婷婷月| 97丁香五月天| 成人短视频在线| 国产av网| 色综合色色色| 日本va欧美va国产激情| ss99热| 九色 在线| 久久五月天激情| 99热网站| 五月丁香六月婷婷久久久综合| 欧美va视频| av在线婷婷| 99色综合| 久操综合| 亚洲另类视频| 婷婷六月花| 99热国产这里只有| 中文字幕婷婷| 第四色五月婷婷| 91丨九色丨首页| 99热久| 九色视频91疯狂| 亚洲五月花| 国产日日操夜夜操的肉棒视频| 久久婷婷六月| 色综合色色| 97九色视频| www.韩日视频| 日韩一本操| 日本欧美成人片AAAA| 色色亚洲视频| 丁香六月婷婷综合欧美| 婷婷天天综合| 亚洲五月天综合| 丁香五月激情六月欧亚激情综合导航| 538任你爽视频不一样的| 国产高潮A片羞羞视频涩涩| 五月婷婷激情综合网| 香焦网五月天| 亚洲九九视频| 色五月综合在线| 亚洲性爱区无码区| 婷婷五月丁香久久| www.婷婷,com| 精品九九视频| 丁香五月婷婷啪| 久久久久婷婷| 色99免费视频中文| 国产乱子轮XXX农村| 婷婷五月天av| 99这里只有精品| 超碰色综合| 五月婷激情| 五月婷视屏在线观看| A久网| 婷婷五月深深爱| 天天透天天摸天天舔| 五月丁香成人版| 国产淫熟妇| 五月天激情综合网站| 亚洲五月天综合色| 亚洲在线激情婷婷五月| 人色五月天婷婷| 五月永久激情| 思思99re这里只有| 激情综合色婷婷啪啪六月天| 五月丁香六月激情综合欧美| 五月丁香免费看| 成人丁香| 97碰| 丁香五月成人社区| 五月婷视频| 丁香六月婷婷| 色婷婷狠狠| 久/久精品99看9| 99ER热精品视频| 大色鬼综合| 真实的国产乱XXXX在线91| 五月停停99| 97在线日本| 99久久精品国产色欲| 亚洲免费av在线| 91seav| 激情综合自拍五月婷婷色五月| 深爱五月婷婷开心中文字幕| 亚洲AAAA网| 综合激情五月天六月婷免费视频| 丁香六月久久| 91丨九色丨东北熟女| 五月天综合在线| 天天综合天综合久久网| 热热99爱爱| 99色综合网| 五月亚洲激情| 丁香六月亭亭久久综合| 97色天堂| 全部老头和老太XXXXX| 香蕉久日夜| 天天干,天天操,天天射| 99婷婷五月天| 涩涩涩五月天| 91丨九色丨国产打屁股| 狠狠色综合久久久久| 日韩性视频| 69er小视频| 91ncm视频| 国产精品久久欧美久久一区| 亚洲成人AV电影网| 一起草无码视频| 五月婷婷啪啪啪啪| 91婷婷| 91中文狠狠综合| av在线免费网站| 久热这里只有精品在线观看| 婷婷噜噜| 色欧洲| 色婷婷婷综合五月天| 婷婷五月天深爱| 999热在线视频| 超碰亚洲天堂| 六月五月天婷婷涩播在线| 五月丁香五月丁香五月丁香五月丁香91| 91干| 少妇人妻综合色6699| 五月激情综合网| 婷婷五月天久草在线| 久久九九玖玖| 中文字幕性爱丰满| 婷婷丁香久久| 婷婷综合玖玖五月| 噜一噜免费视频| 色播播五月| 色色99| 日韩在线观看亚洲| 婷婷六月中文字幕| 成人短视频在线| 综合色七七| 噜噜噜噜噜久| 五月天成人在线播放| 最近中文字幕大全免费版在线 | www.yw尤物| 国内熟女黄色系列| 久久久思思热| 色丁香婷婷| 亚州操人在线视频| 91九色在线观看免费| 激情五月天综合网站网站网站| 五月丁香六月婷婷操操操| 亚洲色在线观看| 国产伊人大香蕉| 丁香五月激情综合在线观看| 六月丁香五月天| 亚洲无aV在线中文字幕| 五月激情婷婷女| 欧美成人AAA片一区国产精品| 大香蕉五月天婷婷| 国产精品色色| 国产永久一黄| 久热精品视频| 黄网在线免费观| 久久国产性爱A V| 另类小说五月天| 在线天堂9| 婷婷丁香五月激情| 婷婷丁香五月视频| 五月天激情.com| 国产毛片欧美毛片久久久| 亚洲小视频免费播放| 婷婷综合97| 69人妻人人澡人人爽久久| www.五月天激情| 大香蕉在九| 五月综合777| 激情婷婷丁香| 五月天婷亚洲综合在线嫩草网| 91五月天| 99色激| 久久综合丁香激情五月| 超碰精品在线| 97色色色色色| 思思色播| 日韩999| 亭亭丁香久久五月| 亚洲综合另类| 天天干,噜噜色,狠狠色| 99re6在线视频精品免费| 丁香五月在线视频| 国产午夜精品AV一区二区麻豆| 婷婷六月丁香在线| 亚洲激情久久| 色日本丁香婷婷| WWW.国产| 色小说五月婷婷| 大香蕉视频婷婷| 色色色9| 婷婷五月18永久免费网站| 五月精品| 久久作爱| 中文字幕在线日亚洲9| 婷婷基地成人五月天| 99国产精品白浆在线观看免费| 婷婷六月丁香色| 激情图片亚洲| 天天色激情| 先锋男人91资源| 五月丁香婷草| 婷婷九月| 人人摸人人干| 2w在线视频| 国产亚洲成人综合| 五月天婷综合| 99色热| 这里只有精品视频| 久久欧洲综合网| 99视频在线啪| 六月色色| 秋霞电影理论| 卡视频1区2区| 激情久久久久久| 五月丁香六月婷婷,婷| 国产午夜精品一区二区三区四区| 丁香五月婷婷手机| 99视频网址| 深爱激情五月天| 精品成人无码A片观看香草视频| www.久久色.com| 9色在线视频| 99热这只有| 日韩AV成人电影| 99热综合在线| 色久婷婷网| 久9热插入| 婷婷99狠狠躁天天| 2025中文在线视频字幕免费观看| 日韩啪啪视品| 久操激情| 伊人五月久久| 九九av在线| www.超碰在线| 五月婷婷丁香在线| 婷婷五月天色色| 美女久久婷婷| 99色干| 婷婷丁香五月天小说| 色综合狠狠色| 亚洲精品又粗又大又爽A片| 亚洲第一第二网站| 色情性爱视频网址| 黄色短视频在线观看| 丁香五月自拍| 伊人色综在线| 99色在线| 色综合婷婷99| 五月开心久久| 色色色图| 婷婷五月丁香六月伊人网| 91干99| 六月天婷婷| 五月天天爽| 婷婷99狠狠| 美女被肏网站在线看| 99操碰| 婷婷.com| 丁香激惜男女| 爆乳熟女一区二区三区爆乳| 人妻体体内射精一区二区 | 久久在线大香蕉| 色国产五月| 色婷婷五月综合在线| 国产真人做爰视频免费| 午夜婷婷久久 | 在线看的免费网站| 色五月天堂| 欧美成人五月天| 久久婷婷六月| 超碰不卡在线| 亚洲字幕AV一区二区三区四区| www天天干| va婷婷| 99国产小视频免费观看| 国产成人AV在线播放| 不卡在线视频| 久久人妻视频| 五月综合丁香婷婷| 婷婷亚洲色| 爆乳熟妇一区二区三区爆乳| 色五月激情综合| 国产成人网站在线观看| 丁香五月激情天AV无码| 五月综亚洲| 久久人妻人人槡| 99久久五月婷婷| 草草操操| 日本久久网| 激情综合网激情五月婷婷| 丁香六月亚洲| w婷婷五月婷婷w| 久久久妻人人人| 三级成人网站| 婷婷五月在线播放| 91九色丨国产丨爆乳| 色综合五月| 婷婷五月天天| 小泽玛利亚视频一区二区| 丁香婷婷五月综合色情| 久久婷五月综合色| 五月天,激情四射,婷婷频道| 九月婷婷色色| 久热免费| 婷婷五月天A V| 色婷婷AⅤ| 色播五月婷婷| 五月天婷婷色小说| 婷婷五月激情图片| 九九热在线视频观看| A片试看120分钟做受图片| 婷婷丁香黄色| 久久五月丁香| 美女主播野战视步页| 五月婷婷之综合激情| 中文字幕综合网| 亚洲日本韩国| 久热伊人在91| 久久久人妻久久久| 久8色色| 天堂中文国产| 成人午夜视频精品一区| 欧美久人人| 99热99网| 久草热视频在线观看| 色婷婷基地| 日韩一级一片内射视频4K| 九色地址91视频| 天天天操天天天爰| 99热九九热| 桃色五月天| 色情婷婷久久五月天| VA色婷婷| 欧美激情综合色综合色| 91一起操| 亚洲AV日韩在线观看| 天天久综合网永久入口17v| 91啪级电影| 91九色熟女| 欧美特大片黄| 综合99综合久久久久久久| 99热这里精| 色欲av伊人久久大香线蕉影院| 成人中文网| 影音先锋一区| 激情五月婷在线精品| 91一起操| 在线日韩av| www久久五月com| 思思热视频| 亚洲精品V天堂中文字幕| 久久综合色五月| 色青青视频| 国产在线中文字幕| 欧美三级韩国三级日本三斤| 六月丁香花婷婷| 日韩无码色色| 国产乱妇无乱码大黄AA片| 热五月婷婷| 日本性激情色播| 婷婷五月天久久久| ww超碰在线| 丁香五月日啪| 五月丁香久久网| 丁香婷婷综合影院| 五月色丁香综合| 日本WWW九九九| 久久婷婷超碰| 激情五月深爱五月| 日本久久人| AV片在线观看| 亚洲精品操一操、噜一噜、摸一摸、爽| 99热99美国在线观看| 婷婷操无码| 99亚洲综合| 丁香激情网| 超碰在线观看caop| www.五月婷婷久久.com| 久久久精品色| 色娸娸综合网| se99视频| 九九视频在线观看视频6| 日本99热| 丁香五月激情网| 九97免费视频| 综合热无码| 色色色色热| 婷婷五月色影视先锋| 六月丁香社区| 日韩AV在线影片| 无码地址| 91一起操| AV色婷婷| www色五月| 综合久久十三| 无码G高清天| 99热这里有精品| 五月婷婷狠狠干| 亚洲色五月婷婷| 成人免费超碰| 成年人99热| 亚洲精品V天堂中文字幕| 99久久99视频只有精品| 五月丁香六月香香蕉| 影音先锋 一区| 思思热久热| 婷婷成人av| 99爱免费在线视频| 少妇人妻丰满做爰XXX| 激情综合自拍五月婷婷色五月| 91爱啪啪| 五月天综合激情网| 五月婷婷导航| 九色在线观看91av| 九九热99热| av电影在线播放| 色五月婷婷内射| 丁香五月婷婷国产av| 深爱五月天婷综合| 久久丁香| 91操色| 99精品久久| 狠狠艹狠狠艹| 97人人干人人操| 99免费视频久久| 99re思思久久| 六月丁香花婷婷| 婷婷五月丁香香蕉| 久久色情| www.99热视频| www.激情五月天。com| 91操碰| 丁香婷最新动态| 五月天成人小说| 婷婷丁香五月天哟啪| 99热这里只有精品中文字幕| 丁香五月婷婷亚洲人| 丁香五月天堂网| 人妻射精AV| 91久操| 五月深爱婷婷| 强辱丰满人妻HD中文字幕| 色的色综合| 中日韩美欧成人一区二区精品在线| 色婷婷五月网| 97爱艹婷婷开心丁香激情综合| 综合深爱五月| 伊人天堂婷婷| 日本婷色| 色色色综合色| 国产67194| 激情文学 综合 色| 国产精品涩涩涩视频网站| 色婷丨日丨天丨综合久久| 五月婷视频| 97色色色色色| 99热日| 在线成人网站| 99re99热| 国产精品第一国产精品| 色爱终和网| 色99www.| 四虎成人精品永久免费AV九九| 激情综合啪啪啪| 丁香激情网| 狠狠五月天婷婷激情网。| 欧美日本99| 射区导航| 五月天激情国产综合婷婷婷就去爱| 丁香五月电影| 99这里只有精品在线观看| av不卡网站| 超碰在线中文字幕| 亚洲思思热久| 无码激情AAAAA片-区区 | 久久99大全| 99热91| 国产无遮挡又黄又爽免费网站| 天天干天天射综合网| 亭亭玉月丁香| 综合色情网| 婷婷五月天无码视频| 黄色网址五月婷婷| 99热综合| 久久丁香五月综合六月激情红杏视频 | 色级停停| 婷婷成人五月天成人文学| 色9999日韩国产| 国产99久久久国产精品免费看| 色丁香六月| 成人一级片| 欧洲第一无人区观看| 精品色色色| AV无码免费| 婷婷在线视频| 色播五月婷婷五月| 99精品自拍视频| 国精产品一区一区三区免费视频| 天天综合影院| 五月激情啪啪啪| 亚洲亚洲人成综合网络| 五月天婷婷久久视频| ww亚洲ww在线观看| 超碰熟女农村在线69| 日韩高清成人| 婷婷激情五月天色| 丁香五月婷婷天堂大香蕉| 亚洲色啪| 狠狠色综合精品视频在线| 丁香久久| 久久久久久婷| 99热这里只有精品2| 丁香五月中文字幕久色| 综合AV在线| 激情四射亚洲| 激情久久五月天| 丁香六月毛片| 婷婷97碰碰| 亚洲欧洲另类图片| AV五月丁香| 五月天久久www| 九九久久99精品免费观看www| 欧美三级巜人妻互换| 91人在线观看| 久久婷婷亚洲| 激情五月四色| 亚洲99综合| 六月丁香激情综合| 丁香六月啪啪啪| WWW.亚洲无码| 激情综合色| 人人噜天天上| 久久五月天大美女| 天天射色五月天| 五月丁香激情综合| 丁香六月激情综合| www.狠狠操.com| 伊人玖玖精品| 九月丁香很很色| 丁香五月五月婷婷| 五月丁香六月成人| 五月婷婷色综图片| 97婷婷丁香| 操逼电影免费看| 五月婷婷综合网| 欧美 日韩 成人| 久久99久久99精品免观看软件| 五月丁香婷婷色色| 久久久五月天婷婷成人网| 九九激情网| 色综合久久中文| 丁香五月天天高清在线| 99在线精品视频免费| 狠狠干在线| 九九操屄| 婷婷激情图片| 国产九九一区二区三区| 色婷婷五月天在线| 狠狠五月激情在线| 日本久久精品18| 99爱在线| 国产亚洲精品AAAAAAA片| 9 1超碰九色| xx人人xx| 色小说五月婷婷| anquye伊人| 亚洲视频操| 艹色18p| 免费无码毛片一区二区A片| 丁香五月婷婷影院| 在线成人视频免费| 99热成人在线观看| 激情五月丁香色婷婷| 九九黄色网| 久久9热| 婷婷丁香综合色AV| 清纯唯美 激情四射| 99视频精品| 久99| 97操碰视频| 激情影院丁香五月| 五月婷婷啪啪啪啪| 五月丁香色婷| 婷婷大美在线| 丁香婷婷综合精品六月初| 成人av在线电影| 六月丁香婷婷色狠狠久久| Av在线不卡一区| 婷婷丁香六月天| 成人无码精品1区2区3区免费看| 99免费热视频在线| 婷婷丁香激情综合色情| 激情影院丁香五月| 久久少妇视频| 婷婷五月深深爱| 亚洲国产精品成人va在线观看| 《战争与艾拉》完整版| 那里有AV网址| 日本久久天堂| 久久停停超碰| 久超超碰| 五月停停999| 日本久草福利| 玖玖婷婷婷丁香五月| 婷婷自拍| 玖色色综合| 丁香九月综合在线| 欧美人人草草| 色五月天 丁香| 182.t午在线观看| 久久久婷丁香五月| 激情综合网激情五月俺也去| 九九九激情综合| 操操操97| 五月Huangsewang| 95精品区一区二| www.91av.com| 九九99精品免费播放| 五月美女婷婷风骚| 婷婷亚洲在线| 久久九九综合| 二色av| 五月天六月婷| 九九精品在线观看视频6| 狠狠五月激情丁香六月| 久久五月天激情| 爱草人视频| 国产精品色|