免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

LangChain+通義千問搭建RAG知識庫問答系統(tǒng)

LangChain+通義千問搭建RAG知識庫問答系統(tǒng) 上周有個朋友問我公司里攢了幾百份產品文檔、報銷制度、設備操作手冊散落在各個文件夾里新同事想問點東西只能靠人肉搜索。他想做一個“文檔問答機器人”但一搜教程全是講微調大模型、租GPU訓練的那種看起來就勸退。我直接給他推了另一條路LangChain 加通義千問做一套 RAG 知識庫問答系統(tǒng)半小時就能把鏈路跑通。這篇文章就是把當時那套可運行的代碼完整拆開講清楚末尾附了完整版復制下來換個 API Key 就能用。這篇文章適合兩類人一是想給自己的資料庫做智能問答、但不想碰模型訓練的開發(fā)者二是剛接觸 RAG、想找一個最小可運行 Demo 來理解全流程的學習者。我不會只丟代碼給你我會把文檔加載、文本切分、向量化、檢索、Prompt 設計這些環(huán)節(jié)的“為什么”都講明白。看完你會發(fā)現(xiàn)RAG 這套東西原理上就是一層窗戶紙真正的坑全在細節(jié)里。1. RAG到底在解決什么問題1.1 大模型天生回答不了私有知識先想一個場景你直接問一個通用大模型“我們公司的請假審批流程是什么”它能答嗎大概率是答不了的。因為模型在訓練時只見過公開的互聯(lián)網(wǎng)語料它根本沒見過你們公司的內部制度。這時候它又不會主動說“我不知道”而是會根據(jù)自己理解過的類似內容編造一套“看起來很像回事”的流程給你。這就是行業(yè)里常說的“幻覺”。這個問題不是換一個更大的模型就能解決的。你再大的模型它的知識截止時間也是固定的你們的文檔今天更新了它不可能今天就學會。私有知識、企業(yè)內部資料、最新的產品變更說明這些東西天然不在模型的訓練范圍里。所以大模型落地到具體業(yè)務場景時第一個要解決的問題不是“模型不夠聰明”而是“模型看不到該看的數(shù)據(jù)”。1.2 RAG的三段式流水線RAG 的全稱是 Retrieval-Augmented Generation檢索增強生成。這個名字很學術但背后邏輯特別樸素——與其強迫模型記住所有知識不如在它回答問題之前先把相關的資料找出來遞給它讓它“看著資料回答”。整個過程分三段第一段是索引構建。把散落在 txt、docx、pdf 里的文檔全部讀取進來切成一個個幾百字的文本塊再用 Embedding 模型把每個文本塊變成一組向量最后存進向量數(shù)據(jù)庫。這一步是離線完成的跑一次就行。第二段是檢索。用戶輸入一個問題時系統(tǒng)先把問題用同一個 Embedding 模型變成向量然后在向量庫里做相似度搜索找出和這個問題最相關的 3 到 5 個文本塊。這一步是實時的要求快。第三段是生成。把檢索到的文本塊和用戶問題拼成一個 Prompt交給大模型讓它基于這些檢索到的資料作答。這一步很像開卷考試模型不用背全部內容但它手邊有一份參考資料回答必須從資料里找依據(jù)。如果你想一句話記牢RAG 就是用“開卷考試”的方式替代“閉卷硬背”的傳統(tǒng)問答。普通 LLM 問答是閉卷RAG 是讓模型帶著參考資料進考場。1.3 為什么我選擇RAG而不是微調很多第一次接觸知識庫問答的人會問為什么不微調模型微調確實可以把特定知識“訓練進”模型參數(shù)里但對大多數(shù)知識庫場景來說RAG 的性價比遠高于微調。我拿常用的幾個維度做個對比對比項微調RAG數(shù)據(jù)準備需要標注好的“問題-答案”訓練數(shù)據(jù)只需要原始文檔零標注硬件成本需要 GPU 訓練周期以天計普通 CPU 就能完成索引分鐘級知識更新文檔一變重新訓練一版換文檔重跑一次索引即可可解釋性黑盒答案無法溯源能返回命中的原文片段對幻覺的抑制依然可能編造配合提示詞約束大幅降低編造你可以把微調和 RAG 的關系理解為“背教材”和“查教材”。如果你要的是學生開口就是專業(yè)術語、語氣完全貼合你的團隊風格那微調合適。但如果你本質上是想解決“內部資料太多了大家找不到答案”的問題那就不要去訓練模型而是把檢索做到位。甚至很多成熟項目是先用 RAG 把知識檢索鏈路跑通后續(xù)再考慮用微調優(yōu)化生成風格兩者并不是互斥的關系。2. 技術選型為什么是LangChain、通義千問、FAISS2.1 LangChain到底幫你省了什么沒有 LangChain 的時候做一個 RAG 系統(tǒng)要自己處理的事情非常多寫代碼遍歷目錄加載文檔處理不同文件格式的解析邏輯自己實現(xiàn)文本切分算法對接向量數(shù)據(jù)庫的 API還要寫 Prompt 拼接和結果解析。每一步都不難但堆在一起就很煩。LangChain 的核心價值是流程編排和組件標準化。它把 RAG 拆成一個個標準組件文檔加載器負責讀取文件、文本分割器負責切分、Embedding 封裝負責調向量模型、向量存儲封裝負責讀寫向量庫、鏈Chain負責把檢索結果拼進 Prompt 再調大模型。你要做的事情從“寫全部代碼”變成了“選組件、配參數(shù)”。當然LangChain 也是被吐槽最多的框架之一因為它更新頻繁、抽象層級多、版本之間破壞性改動不少。但即便如此我依然推薦在起步階段用它。原因很簡單RAG 的鏈路很固定你沒必要自己造每一塊輪子。LangChain 幫你把邊界和接口定義好了等以后你真要上生產再針對瓶頸替換具體實現(xiàn)也不遲。2.2 通義千問作為大模型接口大模型選型我選的是通義千問代碼里用的是 ChatTongyi 這個封裝。選它的理由主要有三個。第一中文效果好。知識庫問答場景里檢索到的資料和用戶的問題大部分是中文模型對中文語義的理解能力直接決定輸出質量。通義千問的中文能力在實測中表現(xiàn)穩(wěn)定尤其是指令跟隨和長文本歸納這兩塊。第二接入成本低。LangChain 社區(qū)里已經(jīng)有現(xiàn)成的 ChatTongyi 類填一個 API Key 和模型名就能用不需要自己寫 SDK 調用邏輯。如果你以后想換別的國產模型也可以看 LangChain 是否支持對應的 Chat 類接口風格基本一致。第三費用可控。它有不同檔位的模型日常測試用輕量型號跑通了再升級到更強型號切換成本幾乎為零。對我這種經(jīng)常要寫 Demo 驗證想法的人來說這個體驗很重要。2.3 Embedding模型與向量庫的選擇RAG 里有兩個“向量”相關的東西容易被混為一談一個是把文本變成向量的 Embedding 模型一個是存向量的向量數(shù)據(jù)庫。兩者都影響效果但 Embedding 模型的影響更大——檢索找不到相關內容后面生成再好也是巧婦難為無米之炊。Embedding 我這里用的是 text-embedding-v3通義千問配套的中文向量模型。中文場景下用專門優(yōu)化過中文語料的 Embedding 模型比直接用英文模型的效果好很多。這個差別在短文本檢索時特別明顯。向量庫我選的是 FAISS而不是直接上 Milvus 或 Elasticsearch。原因很實在FAISS 是一個本地計算庫pip install faiss-cpu就能用不需要單獨啟動服務不需要運維特別適合個人項目和小規(guī)模知識庫。你的知識庫如果只是幾千個文本塊FAISS 的檢索性能綽綽有余。真到了百萬級數(shù)據(jù)量再遷移到專用向量數(shù)據(jù)庫LangChain 的接口層基本不用動這點也是框架帶來的好處。3. 環(huán)境準備先把地基打好3.1 用虛擬環(huán)境隔離項目依賴開始寫代碼之前我強烈建議先建一個獨立的 Python 虛擬環(huán)境。LangChain 的依賴樹比一般庫要復雜它底層依賴 pydantic而 pydantic 對版本要求非常嚴格。如果你把 LangChain 直接裝進全局環(huán)境大概率會跟其它項目里固定版本的 pydantic 起沖突到時候滿屏報錯查得頭疼。創(chuàng)建命令很簡單把這段拿過去用就行python -m venv rag_env # Windows 激活 rag_env\Scripts\activate # macOS / Linux 激活 source rag_env/bin/activatePython 版本建議用 3.10 或 3.11。3.8 太舊個別新版依賴已經(jīng)不再支持3.12 也能跑但有些包在 Windows 上可能沒有預編譯的 wheel裝起來麻煩。我自己的項目環(huán)境是 Python 3.11實測最穩(wěn)。3.2 核心依賴安裝清單這是一個最小可運行方案不需要裝一大堆用不上的包。我在項目里實際安裝的依賴就這幾個pip install langchain langchain-community langchain-text-splitters pip install faiss-cpu pip install dashscope python-dotenv逐個說下它們是干嘛的。langchain主框架提供鏈、Prompt 模板這些核心能力。langchain-community第三方集成組件的家。我們后面要用的文檔加載器、FAISS 向量庫、ChatTongyi、DashScopeEmbeddings 都在這個包里。新版 LangChain 把社區(qū)集成從主包里拆出來了所以必須單獨裝。langchain-text-splitters文本切分工具。這個也被拆成了獨立包專門放 RecursiveCharacterTextSplitter。faiss-cpuFAISS 的 CPU 版本。個人和小型知識庫場景下CPU 版本和 GPU 版本在檢索速度上的差距你幾乎感知不到裝 CPU 版最省事。dashscope通義千問模型的官方 SDK。LangChain 的 ChatTongyi 內部會調用它所以這也是隱性依賴。python-dotenv用來讀取 .env 文件里的環(huán)境變量方便管理 API Key。如果你的知識文檔里有 PDF再額外裝一個pip install pypdf。這是 PyPDFLoader 依賴的后端不裝的話加載 PDF 會直接報錯。3.3 API Key 配置的正確姿勢通義千問的模型服務是走 API 調用的你需要先去模型服務控制臺開通服務然后創(chuàng)建一個 API Key。過程不復雜重點是拿到 Key 之后怎么管理。不要在代碼里硬編碼 API Key。很多人圖快直接把 Key 寫在 main.py 里然后整個文件夾傳到 Git 倉庫Key 就泄露了。正確做法是在項目根目錄建一個 .env 文件DASHSCOPE_API_KEY你的key代碼里通過load_dotenv()自動讀取然后os.getenv(DASHSCOPE_API_KEY)拿到值。.env 文件記得加進 .gitignore永遠不要提交到遠程倉庫。代碼里還有一個健壯性細節(jié)如果 API Key 為空直接拋異常快速失敗而不是讓程序跑到一半才因為認證失敗報錯。這個小習慣能省很多調試時間。4. 核心代碼拆解一條鏈看懂 RAG 全流程4.1 文檔加載把磁盤上的文件變成 DocumentRAG 的第一步是把文檔讀進來。我用的加載器是 DirectoryLoader 加 TextLoader 的組合loader DirectoryLoader( ./knowledge, glob**/*.txt, loader_clsTextLoader, loader_kwargs{encoding: utf-8}, ) documents loader.load()DirectoryLoader 負責遍歷一個目錄glob**/*.txt表示匹配目錄下所有子文件夾里的 txt 文件。loader_clsTextLoader指定具體用 TextLoader 去解析文件內容。load() 返回的是一個 Document 對象列表。每個 Document 有兩個核心字段page_content是正文文本metadata是文件信息比如文件路徑。這個 metadata 后面會當答案來源展示用非常關鍵。單獨說明一下編碼問題。TextLoader 默認按 utf-8 讀取文件但很多人電腦上的 txt 是 GBK 編碼結果一運行就拋 UnicodeDecodeError。所以我這里用 loader_kwargs 顯式傳了encodingutf-8。如果你手上的文檔是 GBK就把值改成gbk。最省心的做法是統(tǒng)一把知識庫文檔轉成 utf-8之后就沒這個煩惱了。4.2 文本切分控制每個片段的信息量文檔加載進來后不能直接向量化因為整篇文檔太長了。一篇 3000 字的說明書如果整體變成一個向量向量里各個主題的信息會互相干擾檢索時相關性會被稀釋。所以要先切塊。text_splitter RecursiveCharacterTextSplitter( chunk_size500, chunk_overlap50, ) docs text_splitter.split_documents(documents)這里有兩個參數(shù)需要重點理解chunk_size 和 chunk_overlap。chunk_size500 表示每個文本塊大約 500 個字符。為什么選 500因為中文場景下一個漢字差不多對應一個 token500 個字符就是大概 500 個 token 的文本既能承載一個相對完整的知識點又不會占用太多大模型上下文窗口。如果設成 2000一個塊里塞了好幾個主題檢索出來的相關性就不精確如果設成 100每段內容太短模型拿不到完整上下文回答容易斷章取義。chunk_overlap50 表示相鄰兩個塊之間保留 50 個字符的重疊。這 50 個字符是為了防止切分邊界恰好把一段完整的話攔腰截斷。比如上一塊結尾在講某個概念的定義下一塊開頭也是這個概念重疊可以讓兩塊各自都保留完整信息。RecursiveCharacterTextSplitter 的切分邏輯不是簡單地按長度硬切而是優(yōu)先按換行符、句號、空格這樣的天然邊界遞歸切分。切出來都是相對完整的句子比無腦按字符切要智能一點。4.3 向量化與入庫構建一次反復使用文本切好后下一步就是向量化并存入向量庫。這一步在我的代碼里是兩行embeddings DashScopeEmbeddings(modeltext-embedding-v3) vectorstore FAISS.from_documents(docs, embeddings) vectorstore.save_local(./faiss_index)第一行創(chuàng)建 Embedding 模型實例。第二行對每個文本塊調用模型接口生成向量并寫入 FAISS 索引。第三行把索引持久化到本地磁盤。FAISS.from_documents 是同步流程文檔多的時候這里會明顯卡幾十秒是正常的它在挨個調用 Embedding API。有一個經(jīng)驗值得記下來如果只是改動 Prompt 模板不需要重建索引如果你改了切分策略、換了 Embedding 模型或者新增了大量文檔就建議重新 build 一次索引。因為索引里存的是文本塊的向量Prompt 改了不影響向量內容。4.4 檢索器與Prompt設計決定回答質量的兩只手索引構建好之后要把它包裝成檢索器retriever vectorstore.as_retriever( search_typesimilarity, search_kwargs{k: 4}, )search_typesimilarity表示用向量余弦相似度找最相關的文本塊。k4表示取最相關的 4 塊。這個數(shù)字不是拍腦袋定的太小了可能漏掉關鍵信息太大了又可能把一堆不太相關的內容也塞進上下文反而干擾模型。4 這個值在大多數(shù)場景下是個不錯的起點你可以在測試時調到 3 或 5 對比效果。Prompt 模板是整個系統(tǒng)里最直接的“指揮棒”我用的模板是prompt_template 請基于以下給定的資料用簡潔、專業(yè)、準確的中文回答用戶的問題。 如果給定的資料中沒有相關內容請直接回答根據(jù)現(xiàn)有知識無法回答該問題。禁止編造或臆測。 給定資料 {context} 用戶問題 {question} 你的回答這個模板的重點在于“禁止編造”四個字。RAG 系統(tǒng)的幻覺問題不只在檢索環(huán)節(jié)如果 Prompt 沒有明確約束模型會把檢索到的資料和自己記憶里的舊知識混在一起作答。給它設置一個“不知道就直說”的兜底是抑制幻覺最簡單有效的一招。模板里的{context}和{question}是占位符組裝時會分別替換成檢索到的文本塊和用戶問題。4.5 組裝問答鏈并調用組裝用的是 RetrievalQA 這個便捷鏈qa_chain RetrievalQA.from_chain_type( llmllm, chain_typestuff, retrieverretriever, return_source_documentsTrue, chain_type_kwargs{prompt: QA_CHAIN_PROMPT}, ) result qa_chain.invoke({query: 報銷流程是什么})chain_typestuff表示把檢索到的所有文本塊直接拼接后塞進 Prompt。這是最簡單也最推薦的方式因為它把全文都給了模型信息損失最小。只有當你檢索結果特別多、超過模型上下文限制時才需要考慮 map_reduce 或 refine 這樣的復雜策略。調用時輸入的是一個字典key 是query。這也是 RetrievalQA 隱式的約定很多人第一次用會慣性寫成question結果跑起來直接報錯。輸出 result 是一個字典result[result]是模型生成的最終回答result[source_documents]是命中的文本塊列表遍歷它就能拿到每個塊的原文和文件路徑。調試時這個字段特別重要它能幫你看到模型到底依據(jù)了哪些資料。5. 實測中的高頻坑與排查思路5.1 中文編碼引發(fā) UnicodeDecodeError這是最常見的啟動報錯。TextLoader 默認用 utf-8 讀文件但你的 txt 可能是 GBK 編碼一加載就拋 UnicodeDecodeError。我的處理方式是在 DirectoryLoader 里顯式傳loader_kwargs{encoding: utf-8}然后把知識庫原始文檔統(tǒng)一用記事本或腳本轉成 UTF-8。手動改文件編碼太累了可以在代碼里加個預處理或者干脆要求團隊上傳文檔時統(tǒng)一格式。如果你堅持讀 GBK就把 encoding 改成gbk。5.2 FAISS加載報錯allow_dangerous_deserialization新版本 LangChain 在加載本地 FAISS 索引時強制要求你顯式聲明允許反序列化否則會報一堆安全提示。這是 because FAISS 的本地索引是用 pickle 序列化的反序列化惡意文件可能有安全風險。解決辦法很簡單加載時加上參數(shù)vectorstore FAISS.load_local( ./faiss_index, embeddings, allow_dangerous_deserializationTrue, )這個參數(shù)看著嚇人但只要你加載的是自己生成的索引文件在本地可信環(huán)境里跑沒有實際問題。5.3 模型調用失敗限流、超時與Key配置如果你在循環(huán)測試時連續(xù)提問可能會碰到服務端返回限流錯誤或超時。第一反應先檢查幾個點API Key 是否配置在環(huán)境變量里DASHSCOPE_API_KEY 是否真的讀到了模型名是否拼寫正確網(wǎng)絡環(huán)境是否穩(wěn)定。排查完了如果還報限流最簡單的方案是把代碼里的模型從效果更強的型號換成輕量型號。日常功能調試階段完全夠用等確認鏈路沒問題了再換大模型。另外可以在循環(huán)里加一個 sleep避免一股腦發(fā)請求。5.4 回答不對檢索內容驢頭不對馬嘴遇到最多的是這個問題代碼跑通了回答也生成了但內容完全不在點上。第一步先看 source_documents。把命中的幾個文本塊打印出來看看模型依據(jù)的資料是不是真的和問題相關。如果檢索出來的就不相關那是索引或檢索參數(shù)的問題調整 chunk_size、換 Embedding 模型、增加 k 值。如果檢索出來是相關的但回答還是不對那就是 Prompt 的問題檢查模板里有沒有明確告訴模型“只能依據(jù)給定資料作答”。還有一個容易被忽略的細節(jié)測試時用文檔里的原話問先確認鏈路是通的再改成同義表達驗證檢索器的泛化能力。很多人一上來就用自己的大白話提問檢索不到內容就以為是系統(tǒng)壞了其實在文檔里原話是有明確答案的。5.5 LangChain版本變動導致的import報錯版本兼容問題我之前被惡心過。LangChain 從 0.1 到 0.3 經(jīng)歷了好幾次大重構很多組件改了導入路徑。網(wǎng)上大量教程還是舊版寫法直接復制就會 ModuleNotFoundError。新版的核心路徑寫在下面RecursiveCharacterTextSplitter 從langchain_text_splitters導入DirectoryLoader、TextLoader、ChatTongyi、DashScopeEmbeddings、FAISS 從langchain_community子模塊導入RetrievalQA、PromptTemplate 從langchain導入解決版本問題有一個笨辦法但很有效遇到 ModuleNotFoundError優(yōu)先檢查 import 路徑是否符合上面這些新路徑而不是急著去 pip 重裝。同時建議在項目 requirements.txt 里把 langchain 版本范圍寫死比如langchain0.3,0.4避免哪天長版本大版本升級后舊代碼突然跑不了。6. 可直接運行的完整代碼文章末尾6.1 項目目錄結構先把目錄結構擺出來照著建就行rag_demo/ ├── .env # 存放 DASHSCOPE_API_KEY ├── knowledge/ # 把你想讓模型學習的文檔放這里 │ └── product_manual.txt └── main.py # 本文完整代碼首次運行 main.py 會自動在項目根目錄創(chuàng)建 faiss_index 文件夾用來存放向量索引。第二次再運行如果檢測到索引已存在就不會重新構建直接加載本地索引。6.2 main.py 完整代碼下面這段代碼就是完整可運行的版本。你只需要做三件事把 .env 文件里的 Key 換成自己的往 knowledge 目錄里放幾個 txt 文檔然后執(zhí)行python main.py。import os from dotenv import load_dotenv load_dotenv() from langchain_community.document_loaders import DirectoryLoader, TextLoader from langchain_community.embeddings import DashScopeEmbeddings from langchain_community.vectorstores import FAISS from langchain_community.chat_models import ChatTongyi from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain.chains import RetrievalQA from langchain.prompts import PromptTemplate DASHSCOPE_API_KEY os.getenv(DASHSCOPE_API_KEY) if not DASHSCOPE_API_KEY: raise ValueError(請先在 .env 文件中配置 DASHSCOPE_API_KEY) KNOWLEDGE_DIR ./knowledge VECTOR_INDEX_DIR ./faiss_index def build_index(): 讀取知識庫文檔切分向量化保存FAISS索引。 loader DirectoryLoader( KNOWLEDGE_DIR, glob**/*.txt, loader_clsTextLoader, loader_kwargs{encoding: utf-8}, ) documents loader.load() if not documents: raise ValueError(知識庫目錄下沒有找到任何 txt 文檔請先往 knowledge 目錄放文件。) text_splitter RecursiveCharacterTextSplitter( chunk_size500, chunk_overlap50, ) docs text_splitter.split_documents(documents) embeddings DashScopeEmbeddings(modeltext-embedding-v3) vectorstore FAISS.from_documents(docs, embeddings) vectorstore.save_local(VECTOR_INDEX_DIR) print(f索引構建完成共切分 {len(docs)} 個文本塊已保存到 {VECTOR_INDEX_DIR}) def load_index(): 加載本地FAISS索引。 embeddings DashScopeEmbeddings(modeltext-embedding-v3) vectorstore FAISS.load_local( VECTOR_INDEX_DIR, embeddings, allow_dangerous_deserializationTrue, ) return vectorstore def create_qa_chain(): 構建檢索問答鏈。 if not os.path.exists(VECTOR_INDEX_DIR): build_index() vectorstore load_index() retriever vectorstore.as_retriever( search_typesimilarity, search_kwargs{k: 4}, ) llm ChatTongyi( modelqwen-plus, temperature0.1, ) prompt_template 請基于以下給定的資料用簡潔、專業(yè)、準確的中文回答用戶的問題。 如果給定的資料中沒有相關內容請直接回答根據(jù)現(xiàn)有知識無法回答該問題。禁止編造或臆測。 給定資料 {context} 用戶問題 {question} 你的回答 QA_CHAIN_PROMPT PromptTemplate( templateprompt_template, input_variables[context, question], ) qa_chain RetrievalQA.from_chain_type( llmllm, chain_typestuff, retrieverretriever, return_source_documentsTrue, chain_type_kwargs{prompt: QA_CHAIN_PROMPT}, ) return qa_chain def main(): qa_chain create_qa_chain() while True: question input(\n請輸入問題輸入 exit 或 quit 退出).strip() if question.lower() in (exit, quit): break if not question: continue result qa_chain.invoke({query: question}) print(\n回答) print(result[result]) print(\n參考來源) for i, doc in enumerate(result[source_documents], 1): source doc.metadata.get(source, 未知來源) content doc.page_content[:120].replace(\n, ) print(f{i}. {source} | {content}) print(已退出。) if __name__ __main__: main()6.3 運行驗證與后續(xù)優(yōu)化按順序執(zhí)行在項目根目錄創(chuàng)建 .env 文件寫入DASHSCOPE_API_KEY你的key。在 knowledge 目錄下放幾個 txt 文檔比如產品說明、FAQ、操作手冊。運行python main.py。在交互提示符后輸入問題比如“備份策略是什么”回車就能看到回答和來源。輸入 exit 退出程序。第一次運行會先構建索引等你第二次輸入問題時檢索和回答就已經(jīng)是實時完成的。我實際測試下來從索引構建到拿到第一個回答整個過程通常不超過一分鐘而且大部分時間是花在文檔切分和向量化上。這個版本跑通之后還有幾個后續(xù)值得做的方向如果想支持多輪對話可以在鏈路里加一個記憶模塊把歷史對話一并傳給模型如果知識庫文檔經(jīng)常更新可以在現(xiàn)有索引上調用 add_documents 增量添加而不是每次全量重建如果想擺脫在線 API 的成本也可以把 ChatTongyi 換成本地部署的開源模型LangChain 的接口層基本不用動。這套代碼我實際跑過很多輪第一次跑通時最大的感受是RAG 真的沒有想象中復雜真正的復雜度全藏在細節(jié)里——切分多大、命中幾個塊、Prompt 怎么寫、Key 怎么配。你把這篇文章的代碼復制下來換成自己的文檔跑一圈很多“教程里為什么這么寫”的問題就自然懂了。以后要做生產級系統(tǒng)再把權限、日志、效果評估這些補上但第一步永遠是把鏈路跑通。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月天色播| 996er热| 亚洲1区| 亚洲五月丁| 日本在线观看aaa 99| 熟女激情五月天 | 五月婷婷天天色| 99精日本久久| 九九99热久久精品66中文字幕| 丁香五婷婷| 久久久久久久97| 色激情五月天| 久热9| 秋霞学生妹一二级| 超碰97干| 婷婷久久18| 激情五月天电影| 天天成人综合视频| 亚洲一色色色色色色色色| 色情五月天导航| 色欲婷婷五月天| 99热这是里只有精品| 无码一级片| 婷婷精品| 超碰人妻在线| 婷婷四色五月| 婷婷五月天久久| 久久九精品| 国产成人在线精品| 色色色色色色五月婷婷| 无毒黄色网址| 国内一级片| 国产精品色婷婷久久久精品| 欧美黄色AA片哗啦啦啦| 狠狠草综合网| 五月天婷婷五月| 91操网| 久久探花91swag| 久久久久这里只有精品| 99色亚洲| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 超碰男人色| 婷婷五月天天| 香蕉影院色| 激情婷婷五月天| 婷婷激情图片| 国产成人av在线播放| 久久99性爱视频| 午夜九九电影| 九九视频精品视频精品| 丁香婷婷综合五月天| 综合激情在线| 九九性视频| 另类 在线| 丁香婷婷综合影院| 97干在线免费| 九色无码| 久操操| 五月丁香六月色| 狠干综合| 8区视频在线| 人人草碰| 久9久9久9久9久9久9| 婷婷五月中文字幕| 婷婷五月天首页激情| 亚洲A片成人无码久久精品青桔| 五月丁香六月激情在线| 97色色婷婷| 婷婷97| 无码色| www.婷婷五月| 99超超碰| 91日韩美女被插视频| 色天五月天在线观看视频| 欧美三日本三级少妇三99| 91九色成人原创视频| 51精品国内探花| 操逼电影免费看| 国产av网| 99婷婷| 大波美女VA网站| 五月丁香六月综合激情网| 26UUU精品一区二区Com| www.91在线观看| av在线观看免费| 久久久性爱视频| 97色吧| 色99综合色88| 91婷婷| 26uuu亚洲欧美另类| 久久精品亚洲一级牲爱综合| 五月天激情婷婷| 婷婷99狠狠躁天天久久久九九九| 五月丁香六月玩女人| 欧美va在线观看| 99久在线观看| 97亚洲精品| 日韩成人中文字幕| 婷婷五月天成人小说| 伊人五月天| 99热自拍| 亚洲综合激情五月久久| 性爱视频久久| 五月天啪啪网| 少妇激情五月婷婷| 中文字幕在线观看视频www| 丰满少妇乱A片无码| www激情网站| 欧美成人无码高清一区二区三区| EEUSS鲁片一区二区三区| 超碰99在线观看| 婷婷播播五月天| 国产毛片精品一区二区色欲黄A片| 欧美影院婷婷| 狠狠se| 亚洲俩性性爱图片久久第六页| 亚洲色色香蕉| 人人人操 超碰| 欧美婷婷日本| 91免费看片| 超pen个人视频97| 亚洲黄3级片网站欧美| 色婷婷综合五月| 国产精品色婷婷久久久精品| 久久久潮喷-久久久九九-成人AV| 九九在线免费观看| 亚洲无AV在线中文字幕| 丁香五月综合激情久久潮喷| 色播五月| 亚洲 综合中文| 玖玖在线| 超碰成人在线观看| 99操视频| 热99国产精品| 狠狠操综合| 天堂色色色| 免费试看小视频 99| 色情五月综合婷婷| 成人av中文字幕| 99精品大片| 操人妻AV| 色婷婷四虎| 99热这里只有精品69| 国产91视频| 999九九九久久久99HD| 久久机只有这里精品| 99视频自拍| 九月丁香亭亭| 丁香五月六月| 天天噪夜夜爽| 操精品9| 五月丁花色综合网| 五月天堂六月丁香亚州中文字幕久久| 五月婷婷啪| 狠狠插.com| 色综合久久天天综合网| 丁香五月天天久久综合小说| 人人爱人人摸人人澡| 五月丁香久久久| 色婷婷亚洲在线| 亚洲妇女熟BBW| 丁香五月自拍| 黄色录像网点| 天天爽天天| 婷婷五月激情五月丁香五月| 另类专区在线观看| 日本色婷婷综合| 五月天丁香| 狠狠色官网| 国产真实乱了老女人视频| 色欲丁香久久| 98热精品| 天天干天天插| 99热这里只有精品 搜| 97超碰免费超级在线观看| www.精品99| 熟女人妻视频| 五月婷婷深深爱| 操日视频| 色狠狠色噜噜AV天堂五区| 婷婷中文字幕版| 久操乱| 天天色宗合| 国产美女主播vip| 91丁香五月| 色婷婷五月天av在线| 久久HD| 色五月天成人在线| 色婷婷9| 26uuu欧美日本| 99热久久这里只有精品| 激情综合在线播放| 国产做爰视频免费播放| 99久热| 开心五月激情| 日韩99视频| 天天弄天天操| 亚洲婷婷五月| 日日夜夜爽| 五月丁香婷婷综合久久| 91女人18毛片水多国产| 人妻少妇色综合| 婷婷丁香综合成人| 伊人五月天男人的天堂在线| 婷婷五月a| 天天色播| 五月婷婷五月丁香| 亚洲色a| 五月丁香六月婷婷成人| 丰滿爆乳一区二区三区| 五月丁香六月婷婷网| 俺也去综合| 成人精品人妻| 东北熟女高潮99综合99| 成熟妇人A片免费看网站| 女人天堂AV| 深爱五月天婷综合| 五月丁香六月综合情在线观看| 亚洲黄色网址| 丁香六月啪啪| 天天狠狠夜夜狠狠2023| 在线观看av网站| 五月丁香欧美| 色青青五月| 五月天久久www| 色呦精品| 国产乱人偷精品人妻A片| 六月综合婷婷开心伊人| 婷婷五月天激情基地| 玖玖在线视频| 午夜天堂啪啪| 五月婷婷影院| 97色色色| 啊V视频在线观看| 性爱五月婷婷| 色五月婷婷五月天激情综合| 人妻中文av| 男同91| 婷婷五月激情小说| 欧美日韩一区二区三区四区| 五月色网| 天天干,天天日| 色婷久久| 综合激情在线| 97久久超碰| www.天天日| 国产精品成人av在线观看春天| 激情五月婷婷网在线观看| 91九九| 999激情视频| 精品九九网| 91高潮喷水久久久久久久久| www.1024久久| 九九热在线99| 成人五月丁香社区| 四色综合网| 亚欧州精品视频| 五月激情射| 色九九丁香九月色九九色| 情色五月天 网站| 97丨九色丨国产丨PORNY| 婷婷五月天福利| 精品人妻伦一二三区久久| 婷婷五月香蕉| 色99视频| 任你弄在线视频免费| 色五月婷婷7777| 一区二区三区四区无码| 丁香五月亚洲天堂| 色五月婷婷基地| 殴美日韩成人| 久久98| 丁香五月婷婷基地| 午夜成人av在线| 人人操人人添人人摸97| 久久久激情视频| 色综合婷婷| 中文网AV| 激情五月开心五月丁香五月| 国产激情视频在线观看| 天天色情站| 婷婷综合丁香| 91丨九色丨白浆秘| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 99干日本| 日本精品人妻无码77777| yw国产AV| 亚洲啪啪啪啪| 激情美女五月天激情在线| 综合激情网激情五月。| 五月天综合激情网| 婷婷五月天无码熟女| 激情婷婷五月色| av性爱网站| 日韩精品999| 亚洲久热| 91九色小视频| 五月天婷婷青青草| 婷婷丁香人妻天天爽| 日本不卡高字幕在线2019| 亚洲人成网站999综合| 九月久久婷婷| 国产亚洲色婷婷久久99精品91| 99热精品99| 久久五月天大美女| 五月婷婷色五月| 99精品视频免费观看| 亚洲AV在线免费看| www色色com| www.sezonghe| 99热啪啪| 超碰人人超碰| 丁香五月婷婷在线观看| 99这里有精品| 日本久热| 日韩啊啊啊| 国产免费一区二区在线A片视频| 夜色热久| 久久五月视频| 久久性操| 色色色婷婷| 婷婷五月天激情综合婷婷五月天激情综合| 丁香六月婷婷久久综合| 大香蕉丁香五月| 日夜操B| 丁香五月婷综合网| 成人无码髙潮喷水A片| 九九99在线视频| 免费AV黄在线播放| 五月天丁香| www.无码com| 思思久久思思| 国产精品18久久久| bbwcuckold精品熟妇| 久久人妻精品| 激情久久丁香| 狠狠操天天干| 色狠狠综合入口| 五月婷婷激情综合拍| 另类小说五月天| 99亚洲精美视频在线观看| 99久久成人| 色五月播五月| 热的国产99热| 99亚洲视频| 欧美啪啪网| 婷婷激情五月综合在线视频| 亚洲亚洲人成综合网络| 五月丁香六月婷婷,婷| 亚洲免费观看高清完整版AV线| 超碰操日| 久久九九蜜| 精品无码久久久久久久久| 67194国产| 91人人操.COM| 久婷婷| 精品99在线| 久re热视频| 99综合网| 99热最新精品| 五月天精品视频| 人人人操| 久久久久久久人妻| 国产婷婷五月中文字幕高清| 噼里啪啦完整版中文在线观看| 亚洲婷婷在线播放十月| 婷婷亚洲色| 99er这里只有精品| 天天射影院| a色色色色色| 国产午夜一区二区三区| 免费日韩99| 日日夜夜狠狠| 5月丁香六月婷婷| 婷婷五月丁香青青草在线| 色狠狠综合网| 91在线看片| 99久久综合| 99啪在线| 五月丁香六月激情在线| 九九爱看亚洲| 懂色av蜜臀av粉嫩av永陈冠希| 亚洲狠狠丁香婷婷香蕉| 色婷婷基地| 人人爽欧美婷婷久久久五月丁香 | 天天色宗合| 天天做天天爱天天日| 中文激情网| 最新午夜理论片| .青娱乐天天操B| 亚洲狠狠干| 亚洲免费观看高清完整版AV线| 九九热re99re6在线精品| 91综合色| 色色网站毛片| 激情综合九月| 99色看| 超碰在线网站| 精品一二三区久久AAA片| 色六月天| 91seav| 熟妇无码乱子成人精品| 激情六月丁| 五月婷婷六月丁香激情深爱| 香蕉久久五月| 丁香六月五月天| 亚洲成人AV高清字幕| 99视频网| 亚洲视频a| 激情综合视频| 色色色99| 五月激情小说| 五月天自拍视频| 蜜乳人妻一区二区三区| 久久在线视频免费观看| 国产成人在线精品| 五月丁香六月激情啪| 亚洲AV日韩无码| 亚洲A片成人无码久久精品青桔 | 色婷婷五月综合在线| 999久久久国产精品| 九九热最新| 五月色婷婷综合| 99噜噜噜在线播放| 综合久久高清| 婷婷综合另类| 中国女人做爰A片| 成人av播放| A色色| 超碰人人操在线| 玖玖爱伊人网| 色五月婷婷五月天| 九热视频| 国产操碰| 日本色色影院| 婷婷丁香五月天之开心少妇| 欧美三级A做爰在线观看| 99亚洲视频| 丁香色啪综合| se色99| 亚洲五月天婷婷| 色亭亭九月| 国产暴力强伦轩1区二区小说| 久碰婷婷视频| 毛片蕉地一二| 在线综合网| 亚洲自拍天堂| 狠狠狠狠狠狠| 深爱五月中文字幕| 女人天堂AV| 先锋av性爱成人电影| 久久五月激情| 色综合中文色综合网| 伊综合蕉| 99在线视频观看| 国产3p露脸普通话对白| 99ER热精品视频| 婷婷婷婷色| 超碰色综合| 亚洲激情久久| 五月天伊人综合| 丁香六月婷婷综合啪啪| 九热视频| 五月天婷婷综合免费| 99热中文字幕久久| 99精色| 久久性爰视频这里只有精品| 日韩精品无码99| 可以看的av| 婷婷五月天奸女| 九月激情综合| 国产成人99久久亚洲综合精品| 六月99天天婷婷激情综合| 色私五月婷婷| 综合激情视频| 成人无码髙潮喷水A片| 久久ww| 五月丁香六月| 九九色网专区| aaa9区免费在线观看| 欧美婷婷综合网| 欧美啪啪网| 91九色中文| 婷婷丁香色情| 全网最新网黄大秀直播高清,主播国产录屏在线| 婷婷午夜激情| 六月伊人婷婷| 美女丁香五婷婷| 天天在线XXX| 色噜噜狠狠色综合网| 另类A片| 五月天婷婷无码| 中文幕无线码中文字蜜桃| 久久婷婷色丁香| 思思热久久婷婷五月天| 天天操天天插| 天天肏夜夜肏| 五月丁香A∨在线| 久久久久久久8| 丁香婷婷大香蕉| 蜜臀av无码久久久久久久久| 日日操,夜夜撸| 99视频| 99久视频| 久久五月婷综合网| 九九日本视频| 丁香五月电影| 日本久久99| www91色网站| 日韩久久色| 亚洲天天免费| 国产免费一区二区三区三州老师F1F1.CC | 丁香五月天堂网AV| 草操网| 九九热只有精品| 欧美日韩99| http://www.com久久久精品一区| 人妻激情在线| 深爱五月最新网址| 思思re99视频在线观看| 婷综合六月| 天天久久66xxx| 久草xx性爱视频| 久久9视频欧美| 欧美色激情四射| 97久人人| 五月成人综合| 狠狠色综合网| 97婷婷狠狠久久综合9色| 免费成人va| 丁香六月婷婷综合缴| 黄网网站在线播放| 色婷婷婷婷| 激情五月婷婷| 久久丁香五月天| 色吧五月婷婷| 精品爱欲五| 蜜臀丁香黄色婷婷五月天| 99热精地址| 天天插天天射| 中美日韩成人在线| 精品色色| 五月婷婷黄色毛片| 欧美va欧美va差| 开心激情站| 婷婷视频网| 五月亭亭直播| 丁香五月激情综合久久| 伊人五月人妻精品| 欧美色色色| 大香蕉久| 五月婷婷av| 久久一级片| 秋霞三及片| 99国产精品久久久久久久久久久| 大香蕉AV在线| 九九aV| 婷婷五月丁香欧洲| 婷婷五月天小说| 7777久久亚洲中文字幕| cc精品国产性传播| 99日热在线视频| 三级成人网站| av一级棒av| 激情五月综合六月丁香婷婷狠狠干| 久久婷婷六月综合| 伊人婷婷五月天| 久99久在线| 欧美日韩国产一区| 人人澡玖玖一| 日本老女人黄页在线播放| 婷婷久久五月天丁香| 欧美三级级99久久| 色久影院| 亚洲成人免费在线| 99只有精品| 狠狠干天天内射| 日韩无码专区| 丰满人妻一区三区三区| 99热10在线高清播放| 翔田千里无码| 97丁香视频| 亚洲欧美一区二区三区四区爱爱动图| 97干资源在线观看| 五月天综合久久| 婷婷综合影院| 色色色色五月| 综合五月亭亭9| 丁香五月五月婷婷欧美大香蕉| 激情五月亚洲综合网| 搡BBBB搡BBB搡18| 另类综合国产| a在线免费v| AV网站免费在线| 久操人妻| 亚洲久久视频| 99在线免费视频播放| www.狠狠艹| 操操自拍| 超碰碰碰碰| 欧美性爱特黄一级aaaassss| 9久热在线精品| 日韩另类在线观看| 久久99热免费| 久久日九九| 成人网站在线观看视频| 狠狠草婷婷| 婷婷日韩| www.色五月| 色香五月天| 欧美日韩日韩成人| 思思热在线观看| 性99网站| 婷婷激情五月| 蒲京久久无码视频| 天天色宗合| 成人色色视频| 亚洲国产婷婷色五月| 97色五月婷婷在线| 婷婷九九| 综合久久人妻| 五月丁香怕怕综合| 亚洲午夜一区二区| 五月久久噜噜| 久久久久婷| 另类图片五月天| 五月丁香六月激情在线| 婷婷激情五月天在线视频| www亚洲无码| 久综合网| 久99在线视频| 五月丁香六月婷婷视频| 亚洲美女婷婷五月天| av五月丁香| 伊人激情AV一区二区三区| 五月婷婷在线观看黄| 丁香五月98| 4399在线日本A片| 丁香色色五月| 丰满人妻妇伦又伦精品国产| 大香蕉综合在线| 99re思思久久| yazhouzonghesese| WWW,色五月| 91综合在线视频| 激情影院69| 噼里啪啦在线观看免费完整版视频| 天天爽,夜夜爽| 襙比视频| 激情五月丁香综合蜜桃| 免费观看亚洲AV片| 久久久久久久8| 十二区无码| 久久精品A片777777| 可以直接看的AV| 婷婷五月天亚洲综合| 婷婷十月激情综合网| 婷婷丁香五月激情图片| 激情久久四色| 婷婷五月天最新综合你懂的| 欧美影院婷婷| 婷婷射丁香| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 狠狠色丁香婷婷综合久久97AV| 337p大胆噜噜噜噜噜91Av| 人人妻人人澡人人爽| 久热久69| 碰超亚洲| 色色丁香婷婷五月天| 亚洲 综合中文| 99爽视频| 五月婷婷欧美| 五月婷丁香花| 久久亚洲婷婷综合色五月| 丁香五月综合高清在线| 这里只有精品免费在线视频| 99ri国产| 婷婷丁香五月天婷婷| 久草五月| 日本女va| 天天艹夜夜爽| 婷婷激情啪啪| www,色色色网站| 激情五月天社区| 99视频网址| AAA久久久| 天天摸天天肏| 色色五月婷| 无码激情AAAAA片-区区| 久久久高清| 国产亚洲成人综合| 伊人网碰碰| 五月天综合网| 丁香五月婷婷精品视频| 色色哒五月婷婷六月丁香| AV性爱在线| 97在线精品视频| 久久99婷婷| 久热伊人| 婷婷激情综合网| 思思热国产在线| 久久丁香综合| 99精彩视频| 国产精产国品一二三在观看| 色综合久久88色综合天天| 五月丁香综合影院| 六月婷婷俺也去| 99热这里只有的精品视 | 激情五月天啪啪| 99精品在线观看视频| 中文字幕丰满孑伦无码专区| 欧美婷婷九月| 婷婷丁香五月av| 色5月婷婷| 99干视频| 亚洲中文字幕在线观看| 人人操人人干AV| 色婷婷久久综合久色| 五月丁香六月香综合激情| 色婷婷88| 91色性感五月婷婷丁香| 99色热视频| 天天干-天天日| 色九亚洲| 99久久婷婷国产综合精品电影| 成人网在线视频| 99爱免费在线观看| 综合一区二区三区| 久久人人添人人爽添人人片αV| 熟女激情五月天| 五月婷婷激情五月| 婷婷五月丁香综合桃花色网| 人人亚洲| 日本婷久久| 深夜婷婷 丁香| 妇激情基地| 九九99视频| 熟妇人妻中文字幕无码老熟妇| 久久日韩婷婷五月| 艹| 久久婷婷六月综合| 六月丁香激情| 欧美性色五月天| 色婷婷在线视频| 亚洲成人网站在线| 5月婷婷五月天| 六月丁香网| 久久久WWW| 久狠狠狠| 日韩三级视频一区二区| 99er在线观看| 大香蕉啪啪啪| 五月天色导航婷婷资源婷婷| 伊人色综合久久久| 超碰在线个人观看| 久久99久久99精品免视看婷婷| 五月天伊人久久久久| 伊人大香蕉爱聚| 襙比视频| 激情六月天| 九九色婷婷| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 成人短视频在线免费观看| 国产日韩欧美性生活| 欧美婷婷五月丁香| 久久99看免费| 日本天天色| 色婷婷激情五月天丁香| 九九亚洲| 色五月婷婷综合| 五月丁香成年黄色| yirenjiqingshiping| 先锋av性爱成人电影| 激情第四色| 五月婷婷另类| 免费观看亚洲AV片| 久久婷婷91| 超碰在线9| 77777亚洲午夜久久| 无码人妻一区| 影音先锋五月天婷婷丁香在线观看| 深爱五月天 开心网| www.婷婷| 色五月亚洲五月天| 色色五月婷| 激情五月激情综合网一级丸片| 中文无码婷婷| 这里只有精品偷拍| 色玖玖| 色情性爱视频网址| 99免费| 丁香五月狠狠在线观看| 狠狠干,狠狠操| 婷婷久久免费看| 亚洲色五月| www好屌操| 无码少妇高潮喷水A片免费| 色五月五月天| 久99婷婷色综合| 六月丁香综合999| AA片在线观看视频在线播放| 狠狠人人| www.五月.com| a色色片| 99久久综合| 欧洲第一无人区观看| 久热久色| 丰满少妇乱A片无码| AV 3P| 五月婷天堂视频| 噜一噜在线| 色婷婷99| 国产精品扒开腿做爽爽爽A片唱戏| 九九一综合精品| 五月丁香婷婷老司机| 亚洲激情五月| 亚洲综合在线伊人婷| 五月婷激情| 人人干Av| 丁香五月综合激情久久潮喷| 色五月超碰| 色五月婷婷久久| 色色欧美。| 激情五月色在线播放| 999激情视频| 99热亚洲| www.婷婷五月| 97人人干人人操| 超碰成人公开| 久热 91| 26uuu色噜噜精品一区| 开心婷婷五月综合| 国产avapp 网| 99精品爱| 99热这里有精品首页10| 欧美搡BBBBB摔BBBBB| www、色色色| 天天艹天天综合网| caop视频| 超碰AV在线| 天天插轮理| 丁香伊人网| 九九九干精品| 欧美久久婷婷| 天天日天天干天天天| 激情九月婷婷| 99久热在线精品99re6热| 日韩AV片| 久久开心五月天激情| 亚洲中文字幕AV| 色婷婷五月天天天干天天操天天爽 | 亚洲欧美综合7777色亭亭| 99热这里只有精品1| 99极品视频| 久久狠婷婷| 五月天久久婷| 丁香五月久久| 涩涩五月天| 天天色综合色| 思思热天天看| 婷婷五月丁香四射| 99热这里是精品| 五月丁香色色| 天天搞天天色综合| 中文字幕丁香五月| 玖玖在线| 亚洲综合在线网站| 极品人妻VIDEOSSS人妻| 久久丁香五月天| 色5月婷婷| 丁香五月天天日| 天天爽在线视频| 99在线综合视频| 操大屄五月天视频| 91超碰人人操| 五月天婷婷久久视频| 激情综合激情综合| 99热久久这里只有精品2010| 激情二色月| 天天色综合天天| 亚洲网视屏| 婷婷五月丁香香蕉| 婷婷色基地在线看 | 性爱激情久久| www,99热在线观看| 狠狠久久婷五月综合色| 国产99久久久国产精品免费看| 久久久精品色| 婷婷的99视频网站| 色九网| 精品色色| 五月天婷婷綜合院| 成人五月天丁香| 亚洲色五月| 婷婷色综合av| 激情五月天影院| 亭亭玉月丁香| 婷婷六月啪啪| 日本在线99| 99精吕视频在线观看了| 五月丁香基地| 天天精品视频免费观看| 婷婷 月 丁香| 丁香六月久久| 这里只有精品免费| 欧美日韩成人在线网| 日本激情91| 91九色国产熟女| 久热中文字幕| 丁香婷婷啪啪| 色婷婷激情| 亚洲无码99| 中文字幕视频色婷婷| 超碰色碰碰| 97婷婷五月| 午夜婷婷久久 | 国产精品社区| 色色色色五月| 亚洲精品久久久久久久久久吃药| 大香蕉久久视频久久视频 | 成人免费网站免费看| 丁香五月婷婷激情蜜桃| 色99色| 九九av| 99视频久久免费视频| 九九草热在线观看| 婷婷五月天亚洲精品| 激情网五月| 丁香婷婷影院| 国产婷婷色综合AV蜜臀AV| 日本久久久97| 日韩大片艹艹| sesesesezonghe| 色情丁香五月天| 婷婷丁香五月在线播放| 日本色天堂| 婷婷五月天在线观看| 久久视9精| 丁香狠狠操| 99热综合| 五月播播| 亚洲99综合| 亚洲网综合在线| 人人操碰| 91丨熟女丨首页| 激情六月日韩| 色5月婷婷色| 一本色综合色| 碰碰碰91| 六月丁香婷婷色综合| 丁香婷婷五月天色综合| 色婷婷精品| 九九aV| 久热精品9999| 亚洲婷婷丁香五月在线| 婷婷五月深深爱| 一区视频网站| 大香蕉丁香五月| 9l视频自拍九色9l视频自拍九色9l社区| 婷婷成人综合免费视频| www.成人婷婷综合| 五月婷婷色色| 91丨九色丨白浆秘| wwwxxx五月婷婷小说| 成人av播放| 嫩草AV久久伊人妇女超级A| 91肏| 色欲AV导航| 操操碰| 色噜久| 五月婷婷五月天激情视频| 噜噜狠狠色综合久| 国产jd1024基地手机看国产| 91玖玖| 激情婷婷五月| 狠狠色噜噜狠狠狠狠综合| 一婬一伦一区二区三区| 五月丁香色狠狠干大屄| 婷婷五月丁香综合| 婷婷 丁香 久久| 久久6这里只有精品| 激情九月婷婷| h亚洲| www.激情五月天com| 大香蕉人妻| 成人五月丁香社区| 欧美国产一区二区三区| 超碰人妻公开在线| 色婷五月| 五月丁香亭亭操逼| 欧美色偷拍| 天堂草在线观| 日韩成人不卡| 婷婷六月丁香激情| 日本一道久久| 97超碰在线免费观看| 五月婷综合网| 九九婷婷激情综合网| 激情五月天之六月婷婷| 91操碰| 丁香婷婷网| 999久久久国产精品| 色色色色色日韩午夜激情 | 久久92| 久久五月天精品视频| 97五月天婷婷| 四色五月婷婷| 天天日夜夜草进麻麻的子宫| www.激情| 日日婷婷不卡| 天天做天天爽| 激情婷婷丁香色五月综合| 全部老头和老太XXXXX| www.zbzhongsen.com| 久久五月丁香| 99网址在线看| 五夜婷婷| 五月天天丁香婷婷在线中| 日韩无码专区| 九玖视频这里只有精品| 婷婷丁香五月综合| 网站免费一站二站| 六月婷婷私欲| 五月婷婷日| 加勒比日本一区二区三区| 少妇被下春药玩弄A片| 性色欲情 网站| 久热伊人| 久久婷婷五月国产色综合激情| 九色PORNY9l原创自拍| av九九| 六月婷婷综合| 天天综合干| 91大操| 色婷婷久久| 久久婷婷丁香五月宗合| 六月丁香啪啪啪| 久久机热这里只有精品免费视频| 色婷婷视频在线| 激情伍月 欧美| 亚洲综合视频八| 亚洲av骚货| 成人五月天丁香婷| 婷婷五月婷婷| 激情五月婷黄版| 国产熟妇乱子伦hd| 17.c黄色| 26uuu丁香婷婷五月| 五月丁香六月激情综合| 久久aaa| 亚洲国产网站| 婷婷伊人五月天| 99热这里只有精品在线免费| 99视频免费播放| 在线观看av网站| 成人短视频在线| 无遮羞AV| 婷婷色五月综合丁香| 人人摸人人干| 色啪影院| 99er6| 亚洲精品成人片在线播| 九九在线精品| 五月婷婷乱| 超碰com| 亚洲视频综合网| 狠狠干在线| 亚洲色婷婷色| 日本一级大片| 亚洲五月花| 思思热精品在线观看| 亚洲精品视频在线| 丁香五月激动深爱欧美| 五月婷婷啪啪啪| 精久久色| 第四色网婷婷| 国产XXXX搡XXXXX搡麻豆| 99热| 日韩砖区| 久久与婷婷| 中文超碰视在线| 另类综合激情| 99热无码| 婷婷 激情 五月| 激情婷婷综合网| 国产精品第一国产精品| 免费黄色片子| 久久人妻高清中文| 五月婷婷丁香成人网| 日本99视频精品免费播放| 天天色播| 99热精品观看| 婷婷五月图片小说网| 大香蕉婷婷丁香视频在线| 丁香婷婷久久五月天| 色色色网站| 成人免费在线电影| 亚洲综合婷婷六月丁香五月| 婷婷丁香六月五月天| 五月天色色色色色| 狠狠婷婷色综合| 色5月婷婷| 色玖玖综合| av在线色五月丁香婷区久| 激情综合女人网五月播播| 激情人妻综合| 免费黄网不卡AV| 九九碰九九爱97超碰| 婷婷久热| 亚洲视频伍月婷婷| 狠狠做五月婷婷| 综合亚洲色色| 玖玖婷婷五月天| 欧美熟妇一区二区三区| 色婷婷小视频| 色综啪啪网| 激情网五月天| 中文av网站| 99热在线精品观看| 婷婷五月天激情电影小说| 开心五月深爱激情| 五月天精品综合在线| 婷婷五月激情四月综合 | 色色免费网站| 五月丁香综合中文| 五月婷婷六月情| 色色色色色色色综合| 色噜噜狠狠色综合无码久久欧美| 91avse| 超碰人人操人人干| 超碰爱爱爱| 久久久久网站| 强伦轩人妻一区二区电影| 丁香五月 性爱| 色婷婷丁香AV综合| 丁香五月 激情文学| 97人人干视频| 久久曰9| 九九综合五月欧美| 99热最新国内| 丁香九色不卡aaa| 怡红院91a√| 狠狠干综合网| 免费播放片大片| 婷婷色九月| 天天爽夜夜爽夜夜爽精品| 99色视频在线观看最新| 91一起操| 思思视频这里是精品| 亚洲色色色色色| 五月天欧美 另类小说| 六月婷婷影院| 狠狠xx| 99热97| 色五月激情综合网| 91一起操| 婷婷五月色| 日韩不卡123| 啪啪东京热| 综合激情在线视频| 五月天婷婷影院| 九热在线这里有精品6| 天天干天天操天天上| 欧美色色色| 激情五月天偷拍综合网| 色色五月丁香| www.操.com| 久久精品国产AV一区二区三区 | 色婷婷影| 久久五月激情综合| 亚洲天堂亚洲色色色| 五月丁香色婷婷综合| 五月色丁香视频精品| 大香蕉天堂| 女人高潮内射99精品| 九色激情| 啪啪操超碰| 99热99思午夜精品| 五月婷婷六月丁香色| 丁香五月成人| 五月天社区| 我想看国产大学生口爆吞精的视频| 婷婷丁香97| 久久丁香五月婷婷激情综合网| 久久久精品人妻录| 亚洲九区| 国产精品99久久久久久久女警| 丁香五月天社区婷婷| 91狠狠色丁香婷婷综合久久| 五月婷在线视频免费播放| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 亚洲国产精品五月天| 丁香五月婷婷色偷偷| 偷拍五月丁香| 少妇AB又爽又紧无码网站| 刘玥精品一区| 婷婷五月天在线看| 91九色欧美| 天天擼久久擼在线| 激情AV在线| 色婷婷久久| 日韩欧美一道四区中文字幕| 99热这只有| 色99热| 内射在线CHINESE| 久久色五月| 99色视频免费在线规看| 五月丁香五月综合欧美| 久婷婷视平| 婷婷6月综合网| 热99在线精品| 人人摸人人干| 六月丁香六月婷婷欧美| www.lingjunshare.com| 狠狠色成人影片| 色播激情婷婷| www.色婷婷。com| 亚洲不卡| 男人視頻站| 色色综合日韩| 丁香六月啪啪啪| 高清av在线国产| 人人射av| 99色综合网| 无码九九九九| 婷婷五月深深爱| 国产成人一区二区三区在线观看| 色五月大| 色婷婷小说| 婷婷丁香无码专区| 婷婷97狠狠干| 超碰人人操| 色五月婷婷91在线| 五月综合婷婷久久在线| 成人无码精品1区2区3区免费看| 婷婷五月色情| 最新丁香六月婷婷| 伊人九热| 人人干Av| 99操视频| 色五月开心婷婷| 五月激情婷婷丁香| 免费观看亚洲AV片| 九九热精品视频| 综合婷| 狠狠干夜夜干| 日本三日本三级少妇三级66| 五月天婷婷色播| 国产成人精品一区二三区熟女在线| 五月婷婷另类| 夜夜操夜夜操| 91成人视频| 成人国产综合| 亚洲精品电影| 色五月婷婷丁香五月| 1024成人在线观看| 天天干天天做| 亚洲综合一区二区| 在线观看av网站| 日本WwW色偷偷丁香花久久久京东热| 久久婷婷六月综合资源| 欧美日本日韩| 开心五月丁香婷婷| 亚洲亚洲人成综合网络| 97五月天婷婷午夜| 嫩草AV久久伊人妇女超级A |