免费国产精品自在自线-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
返回資訊列表
最新av在线观看| 婷婷五月综合久久中文字幕| 91婷婷五月天嫩女| 性五月激情| 97人妻碰碰中文无码久热丝袜| 免费国产VA国产免费| 99久久户外勾搭| 五月天婷婷免费视频| 色综合久久88色综合天天99| 九九色网| 国产乱妇无乱码大黄AA片| 亚洲热综合网在线观看| 亚洲人成网站999综合| 战争与艾拉电影免费观看| 99国产欧美视频| 婷婷五月天久久久| 亭亭五月丁香五月天激情| www.久久久久久久| 国内久久婷婷| 久久久天堂国产精品女人| 可以看的av| 成人精品一区二区三区四区五区| 久久与婷婷| AA片在线观看视频在线播放| 色色色色网| 91精品久久久久久综合五月天| 丁香五月天啪啪| 色婷婷丁香AV综合| 久久婷婷丁香花综合网| 欧美日韩中文国产一区发布| 色播五月| 99热综合| 九九RE视频在线精品| 密乳视频| 婷婷五月丁香婷婷| 婷婷丁香五另类网站| 日本久久超碰| www.婷婷五月天| 激情五月婷婷综合网| PORNY九色9l自拍视频成人| 欧洲亚洲激情五月天在线| 99在线热| 久久久久久xxxxx| 婷婷综合日本| 五月丁香 啪啪| 一区二区无码视频| 超碰京东热av男人的天堂| 青青草伊人婷婷| h在线看免费版在线看| 亚洲丁香五月天视频| 五月丁香婷婷激情澎湃四射| 六月婷婷久久大全| 第四色五月天| 97狠狠色| 六月丁香五月天| 丁香婷婷色色| 婷婷久草| 强壮的公次次弄得我高潮A片日本 | 成人av中文字幕| 四月丁香五月婷婷久久| 97人人看| 激情综合五月天| 亚洲色网址| 色丁香久久| 日日夜夜小色哥| 99免费综合网| 26UUU精品一区二区c〇m| 五月天激情中文字幕| 激情婷婷色小说| 九九熱最新視頻| 久热中文字幕| 六月丁香五月亭亭| 五月婷婷啪啪| www.久久久久久久| 五月丁香六月婷婷精品| 麻豆五月丁香婷婷| 欧美成人va| 欧美日韩成人在线网| 五月亚洲| 九九成人| 337p大胆噜噜噜噜噜91Av| 亚洲操逼片| 中文字幕永久在线| 欧美性生交XXXXX无码小说| 疯狂做受XXXX高潮A片| www色色色com| 大香久久综合网| 都市激情亚洲| www.婷婷五月天啪啪| 丁香六月视频| 久久综合综合久久| 久热这里只有精品在线观看| 超碰1999| 少妇人妻丰满做爰XXX| 97很鲁在线视频| 男女激情久久| 五月噜噜噜色综合| 婷婷玖玖五月天| 狠狠操狠狠操| 玖玖热99| 五月丁香六月欧美| 婷香五月激情视频| 一级无码作爱片| 综激情网| 美国色五月天婷婷资源站| 天天透天天爱| 久久精品一区二区三区四区| 欧洲亚洲免费视频9| 色婷婷手机在线| 婷婷伊人五月| 五月丁香六月激情在线| 偷拍91九色| 激情四射五月天偷偷看婷婷| 日韩啊啊啊| 丁香五月自拍| 欧美在线视频9| 狠狠干狠狠色| 亚洲激情综| 久久五月丁香| 超碰在线综合| 无人精品在线视频| 91免费啪视频| 丁香六月色情| 人人爱人人草| 国产精品成人在线| 久久婷婷五月综合啪| 国产精品第一国产精品| 亚洲激情在线| 婷婷五月丁香综合| 婷婷色吧| 婷婷五月天开心网| 婷婷五月天综合久久日| 午夜丁香六月婷| 久青操| 国产SUV精品一区二区6| 久这里只有精品99| 色五月丁香婷婷| 激情丁香五月天图片| 久久婷婷成人视频| 激情五月婷婷视频一区二区三区| www.婷婷六月天| 日日爱699| 婷婷五月天成人| 色婷婷精品视频| 深爱五月日韩| 月丁香久久久| 天天色天天日天天舔| 少妇熟女视频一区二区三区| 六月婷婷狠狠色在线观看| 色综合久久88色综合天天看| 国产成人在线不卡AV| www.热99热| 高清无码网址| 亚洲综合干| 丁香五月天之婷婷影院| 激情网五夜婷婷| 五月天伊人网| 狠狠色婷婷丁香六月| 激情婷婷六月天| 日韩成人无码人妻| 五月丁香啪啪啪| 超碰超碰在线| www.久久久久| 天天日,夜夜爽| 99久久这里只有精品| 九九99精品视频| 色噜噜五月天| 激情综合在线观看| 中文激情网| 色天堂A| 五月天天天天天天天天天天天婷婷婷| 超碰免费人妻| 天天干天天拍| 五月婷婷开心丁香| 日本一毛片| 色色色综合网| 99热啪啪| 成人在线二区| 激情五月丁香六月综合AVXXXX| 蜜桃婷婷狠狠久久综合| 欧美色色色色色| 激情亚洲婷婷| 免费视频WWW在线观看网站| 久久五月天激情婷婷| 99热网站| 全亚洲最大的婷婷五月天网站COM| 99精品无码| 婷婷无五月无码视频| 深爱五月中文字幕| 啪精品| 久久玖玖综合| 激情WWW| 亚洲免费成人电影AV| 91精品久久久久久综合五月天| 啪啪五月婷婷| 婷婷五月色| 久久性爱视频免费| 免费观看日韩成人av| 五月婷婷综合网| AV在线资源| 色99视频| 五月婷婷五月| 六月99天天婷婷激情综合| 中文字幕日产A片在线看| 五月丁香视频在线观看| 性爱五月婷婷| 国产精品久久久久久久久久| 91ncm视频| 久久精品国产色| av不卡网站| 在线五月色播| 婷婷色色丁香| www.婷婷| 婷婷十月激情综合网| 大香蕉五月| 97久久久| 综合另类视频| 婷婷久久草| 懂色av蜜臀av粉嫩av永陈冠希| 激情综合网五月天| 国产精品久久久海的味道| 另类图片天天影视在线观看| 成年视频免费观看| 色啦啦视频| 婷婷射图| 噜一噜在线| 成人网站免费sxj| 极品五月天| 99免费| 五月天婷婷激情小说电影| 婷婷色婷婷亚洲成人| 丁香婷婷五月综合欧美另类| 双性美人被调教到喷水A片| 婷婷五月综合视频免费播放| 久久99热精品a片在线观看| 超碰在线观看9| 人妻激情久久| 成人精品视频99在线观看免费| 色玖玖综合| 操逼福利视频| 99在线er热| 97碰人人操| ai97re99一本| 色九月综合| 久99| 色综合婷婷| 五月丁香啪啪综合| 色色色五月婷| 亚洲色色色| 丁香综合网| 99r久久这里只有精品| 五月停停999| 丁香伊人五月色婷婷五十路| 国产欧美精品AAAAAA片| www.色五月| 婷婷色五月开心五月| 九九精品视频在线观看| 欧美婷婷色五月| 6080av| 深爱激情四射| 久久AV电影| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 欧美天堂久久| 国产老熟妇亲子乱对白| 中文字幕AV网址| 超碰一区二区| 久久jiuwww| 色约约视频一区二区三区四区五区 | 精品亚洲国产成AV人片传媒| 五月婷婷香| 丁香综合网| 色婷婷五月天在线观看| 久婷婷婷| 色婷网| 色欲天天综合网| 99热97| 色色色色五月| 九九99精品视频在线观看| 婷婷综合色| 大香蕉啪啪网| 8090在线影视少妇| 日韩成人电泉AV| 在线sebiav精品视频| 天啪天啪天啪天啪| 亚洲视频另类| 日本综合色色| 天天干天天色天天干| 久久AV电影| 久久人妻伦理| 五月婷婷AV| 久9热视频在线观看| AV在线免费网站| 啊V视频在线观看| 久久曰曰| 九九热这里只有精品9| 婷婷五月天激情五月天网站| 九九亚洲综合| 性做久久久久久久免费看| 亚洲精品无码久久| 激情婷婷丁香| 久热黄色| 开心五月婷婷99| 婷婷综合五月| 国产精品色色| 射区导航| 婷婷五月天a| 开心激情综合| 精品一二三区久久AAA片| 亚洲成人丁香花| www.久久久.com| 成人丁香五月天| 99热热热99精品丁香| 九九色中文| 日本乱论99| 碰久久精品w| www.五月婷婷.com| 99热12| 99热综合在线| 五月婷婷 激情按摩| 伊人久久综合| 综合网激情五月天| 99热啪啪| 51XX嘿嘿午夜无码| 丁香婷停五月激情综合深爱| 色色色色五月天| 69精品人人人人| 亚洲第二AV| 午夜婷婷| 九九人人精品| 亚洲9久久精品| 久久HD| 婷婷综合六月| 色狠狠色噜噜AV天堂五区| 婷婷综合视频| 丁香五月综合| 91色五月| 秋霞av吧| 国产激情在线观看| 99 这里只有精品| 日本五月天网站| 国产又粗又大又爽又黄| 99热综合网| 丁香六月成人网| 天天噜噜| 丁香婷婷六月激情文学 | 手机AVAV天堂看网| 色九九综合| 综合狠狠干| 激情婷婷五月天日本系列| 开心五月婷婷| 激情五月婷黄版| 五月天婷婷视频30| 丁香婷婷AV| 婷婷五月黄色激情在线| 99热精品在线| av九九| 婷婷五月天亚洲综合| 中文超碰视在线| 美女丁香五月天| 色色99| 91丨九色丨高潮丰满日本| 九九久热| 国产午夜精品AV一区二区麻豆| 色欲久久久久久综合网综合网| 五月亭亭综合五码| 婷婷9月天| 五月色欧洲| 欧美99热| 日日干综合| 五月天婷婷成人网| www.色9| 天天综合精品| 天色综合网| 色丁香五月| www.9色色色| 天天摸人人摸| 99爱视频免费| 97在线/亚洲| 六月丁香av| 日韩在线视频中文字幕| 婷婷久久五月天| 熟女色专区| 五月丁香综合| 激情涩涩网| 综合婷婷| 欧美草久久五月天91| 玖玖婷婷免费| 亚洲综合激情五月久久| 青青草tp| 这里只有精品免费视频| 色丁香在线视频| 久婷婷视平| 久久人妻乱| 99热1| 另类专区在线观看| 狠狠色官网| 激情六月婷婷啪啪| 亚洲婷婷欧美婷婷| 超碰在线免费| 日本4399天堂中出| 深爱综合网| WWW.久久久久久久久久久久久| 天天搞天天色综合| 亚洲免费在线观看岛国| 欧美xx激情视频在线观看| 久久宗合影| 无码任你操| 97涩涩丁香五月天| 超碰人人在线观看| 深爱激情综合网| 月婷婷亚洲| 色在线免费观看| 狼人婷婷综合| 婷婷五月色亚洲| 婷婷丁香先锋资源网站| 99精品在线| 丁香六月AV| 婷婷五月成人社区| 久草婷婷| 五月天婷婷成人| 久久九九爽| 日韩av一区二区在线/日产精品久久久 | 五月天丁香啪啪综合| 无码91中文字幕| 青青操丝袜美腿| 色色国产| 五月花亭亭| 91色逼| 国产视频色色色色色色色| 99精品网| 五月天色婷婷基地| 久久只有精| 1囯产午夜仑鲁鲁| 九九热只有精品| 思思国产99| 夜夜骑操AV| 91丨九色丨老农村| 91919191919久久成人视频| 超碰国产在线观看| 日日日日操| 久1色色| 久艹大香蕉| 99热有精品在线观看| 97色婷婷| 香蕉国产2013| 九九99香蕉在线视频播放| 色综合综合色| 婷婷丁香五另类网站| 操九色| 五月婷婷亚洲天堂97色婷婷| 欧美日韩中文国产一区发布| 亚洲最大视频| 天天操天天曰| 99热偷拍| 九九re精品视频在线观看| 特级片神马电影| 99在线爽| 最新日本A片| 丁香五月婷婷AV| 亭亭玉月丁香| 99啪视频在线观看| 丁香六月成人网| 三级片AAA久久久AAA久久久AAA | 丁香五月婷婷网| 久久综合五月| 精品久久久人妻| 天天日天天干天天插天天射| 人人干AV| 操一操插一插| 五月色网| 天天激情| 开心婷婷五月| 香蕉人在线香蕉人在线 | 男人的天堂五月丁香| 九九视频精品在线免费| 伊人午夜综合色啪| 无码色色| 婷婷丁香小说| 天堂久久婷婷| 色婷婷亚洲六月婷婷中文字幕| 日韩操逼小电影| 精品怡红九九九| 五月天成人在线| 丁香综合网| 天天爽天天做| 激情综合网激情五月天| 96精品久久久久久久久| 色五月婷婷五月天| 五月天亭亭俺也| www夜夜操| 五月婷婷九九热| 色女人久久| 99久久99九九99九九九| 久久精品国产一区二区三区四区| 日B日潘金莲BB| 五月丁香综合网| 5五月综合网亚洲| a在线免费v| 超碰国产在线观看| 色综合色| 色亭亭五月天网扯| 五月天国产婷婷精品视频在线| 五月四色婷婷| 五月婷婷啪啪网| 丁香五月在线| 亚洲精品婷婷| 婷婷.com| 日韩成人影片在线观看| 婷婷久久久| 六月婷伊人| 欧美色色色色色色色| 五月婷婷五月天| 欧美日韩成人在线| 婷婷伊人综合| 色999五月色| 六月丁香五月亭亭| 五月婷婷中文字幕| 91se视频| 久久婷婷色| 激情 婷婷 丁香五月天| 亚洲激情综| 三男玩一女三A片| 综合 蜜月 婷婷| 九九色热| 免费在线观看欧美激情xx小视频| 来吧亚洲综合网| 北条麻妃九九九国产精品视频| 丁香五月天AV在线 | 色色综合五月| 色综久久AV| 熟女激情五月天 | 久草热在线视频| 婷婷五月丁香四射| 久久综合五月天| 国产精品A片| 五月丁香六月香香蕉| 五月婷婷影视| wuyuedingxiang99| 婷婷人人操| 黄色网址五月婷婷| 涩涩五月天综合| 五月天久久婷婷| 免费观看18视频网站| 色五月天丁香婷婷| 日本五月婷| 国产69久久久欧美黑人A片| 九九色之九九色之88| 3p日韩网站视频| 99re在线观看| 97影院一级片| 天天干天天干天天干天天干天天| 美欧成人视频| 色婷婷最新域名| 久久婷婷五月天激情新地址| 91久久电影| 色天使久久综合| 91成人视频| 99精品在线观看视频| 日韩一级一片内射视频4K| 日本综合色图| 中文字幕在线免费观看视频| 精品99在线看| 色婷婷的五月天| 九九99热精品| 色激情五月| 五月天大香蕉av| 亚洲成人高清在线| 狠狠色狠狠| 99热狠狠操| 五月天婷婷激情综合| 夜色五月天| 色情久久久| 类似婷婷激情综合网站| 青青日韩| 六月婷婷久久| 97碰碰人人| 久9热在线视频| 99视频九九热| 五月丁香婷婷AV| 日韩啪啪自拍| 成人色情五月天婷婷丁香| 五月开心网| Www99热| 91精品国产99久久久久久天美| 99久免费视频| 五月天激情婷婷丁香| 色五月激情五月| 欧美猛片| 五月婷婷先锋| 丁香五月天堂网| 人人爽欧美婷婷久久久五月丁香| 日韩99视频| 91vip在线观看| 在线另类| 色五月婷婷激情五月| 91av传媒高清在线视频网| 情涩婷婷五月天| 无码人妻一区二区一牛影视| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 成 人片 黄 色 大 片| 丁香五月宝贝激情网| 热99玖玖99玖玖99九九| 99热97| 美女网黄| 内射爽无广熟女亚洲| 五月婷婷丁香五月婷婷| 色欧美日| 婷婷激情六月| 日本激情五月天‘| 成人在线综合| wwwss在线观看| 色婷婷先锋| 九九色院| 五月天综合| 99热视精品| 美欧成人视频| 能看的av| 日日噜噜夜夜狠狠久久丁香六月| 丁香五月1页| 日日噜噜夜夜狠狠久久丁香五月| 婷婷五月天偷拍| 丁香五月六月综合激情| 激情综合网五月婷婷| 情涩婷婷五月天| 亚洲三A| 天堂综合久| 激情深爱婷婷网| 色色色丁香| 99综合| 丁香九月婷婷色| 激情六月婷婷| 久久丁香网| 五月丁香六月激情欧美综合| 亚洲十月婷婷综合| 五月丁香av中文| 婷婷五月天综合亚洲| 午夜亚洲国产精品av一区二区| 欧美天天干五月丁香| 色444综合网| 久久久激情| 色色婷婷丁香五月天| www.久久五月天.com| 啪啪黄页网| 亚洲国产精品VA在线看黑人| 色婷婷在线播放| 久久色这里只有精品| 色婷婷五月天激情| 色综合久久之分久久| 婷婷色操| 色婷婷狠狠色| 色情五月天导航| 国产欧美精品AAAAAA片| www.99热| 国产无人区大片| 婷婷五月丁香综合人妻| 天天日狠狠| 大香蕉五月丁香| 九月av在线| 91蝌蚪窝视频在线| 人妻丰满精品一区二区A片| 国产五月天欧美色| 伊人深爱综合| 五月丁香色播| 情欲综合网| 色玖玖| 日韩精品成人在线| 五月天婷婷久草丁香| WWW、日本色丁香、co m| 影视av久久久噜噜噜噜噜三级| 一区二区无码视频| 桃色五月婷婷| 99re欧美精品| 丁香五月婷婷欧美性爱| 色婷婷综合网站| 丁香婷婷五月综合| 日日干日日| 狠色狠色综合久久| 视频综合网| 丁香六月啪啪| 丁香五月色| 婷婷五月色惰| 99热丁香| 五月丁香福利| 色噜噜狠狠色综合无码久久欧美| 中文字幕黄色片| 久久婷婷伊人| 天堂久久婷婷| 亚洲天堂99| 国产日产成人亚洲欧美国产VA| 九九九午夜视频| 色色影院黄大片| 久久综合婷| 色婷婷五月影院| 色婷婷AV在线| 超碰成人在线观看| a色色色色色| 丁香五月天天| 婷婷五月色网| 五月天婷婷影院影院| 99r这里只有精品哦| 五月花综合| 六月丁香激情最新更新| 五月天色裸体视频| 久久精品夜色噜噜亚洲a∨| 五月天综合激情网| 婷婷爱五月天| 日韩成人精品中文字幕电影| 丁香五月婷婷久久久| 超碰国产AV| 久久婷婷亚洲无码一起| 亚洲免费电影2| 久久9热好| 桃色五月婷婷| 午夜丁香综合婷婷| 五月丁香精品| 天天艹夜夜爽| 99成人在线观看| 日本99视频| 亚洲情综合五月天| 91婷婷丁香五月亚洲| 久99热在线观看| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 五月婷婷色| 日日色综合| 欧美日韩二区在线| 五月婷婷婷综合网| 热这里只有精| 强伦轩人妻一区二区电影| 91色久| 五月天婷婷社区| 五月婷九月| 亚洲精品国产成人AV在线| 日日噜噜久久婷婷五月天| 婷婷香五月天| 99免费在线视频| 五月天久久激情| 天堂爱爱| 天天综合色丁香| 国外亚洲成AV人片在线观看| 亚洲一二三网| 色婷婷777狠狠| 丁香五月网| 激情人妻综合| 沈娜娜av| 久久五月网| 99色免费视频| 青青青在线视频国产| 丁香综合久久| 五月婷婷精品视频| 色情五月综合婷婷| 丁香五月天狠狠操| 99精品久久久久久久婷婷久久| 任你爽精品免费视频6| 91男人操女人视频| 人妻久久久久久久久妻久久久久久久久| 99久久免费精品| 琪琪色五月天| 黄色高清无码| 色综合播放| 婷婷爱婷婷| 激情噜噜噜| 亚洲激情网| 色yeye色综合| 婷婷综合网站| 欧美搡BBBBB摔BBBBB| 97干在线视频| 丁香六月天| 亚洲免费成人电影AV| 婷婷五月激情丁香激情| 啪啪激情综合| av无码电影| 99re热视频这里只精品5| 五月天婷婷在线视频| 大香蕉久久久| 婷婷五月综合啪| 国产人人操| site:minyis.com| 二色AV| 九九超碰人人| 五月丁香激情综合六月涩涩爱| 六月婷婷开心| 欧美日韩999| 91超级碰碰碰| 久操热| 国产精品久久..4399| 色五月天成人| 九色激情网| 丁香五月色五月婷婷宗合| 五月天伊人| 亚洲激情综合色站| 色婷婷九月| 色色自拍视频网站| 色色五月婷| www。88热在线视频免费观看| 这里只有精品视频一区| 丁香婷婷九月在线| 丁香五月天激情网| 婷婷五月丁香激情图片 | 操操碰| 婷婷天天日婷婷| www.刺激色网站www.| 婷婷婷婷婷婷婷婷| 91在线日本| 五月天综合视频| 日韩久久欧亚| 这里只有精品视频在线| 色婷婷五月综合色婷婷| 五月综合精品| 日本欧美成人片AAAA| 婷婷五月成人| 婷婷五月天色综合| 丁香六月婷婷综合| 人妻久久久久久久| 欧美丁香婷婷天天操| 东京热伊人| 天天操天天日天天爱| 激情综合五月| 婷婷色播六月无码| 婷婷丁香大香蕉| 99在线亚洲| www.五月天色色色| 99综合网| 亚洲欧美成人在线| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 光棍影院日韩精品| 久久婷婷综合基地| 色波激情五月天| AV操一操| 99免费热视频在线| 超碰啪啪网| 99re6在线视频精品免费| 97色精品视频 | 九九成年视频| 国产综合色婷婷精品久久| site:xmssd.com| 99.色| 五月天综合| 狠狠做婷婷| 久久久婷婷五月天| 91九色小视频| 大香蕉手机视频| 天天爱天天做天天爽| 五月色欧洲| 丁香五月23111| 激情二色月| 日日日日操| 亚洲欧美成人在线| 七月丁香五月婷婷在线| 欧美日比视频| 婷婷五月欧美综合| 99视频精品全部观看10| 五月天婷婷久久| 天天婬色综合| 色婷婷色综合激情91| 激情五月激情综合俺也去婷婷小说| 91小黄书网址在线观看| 五月激情婷婷综合| 色色色激情网| 无码人妻电影| 婷婷色激情五月天| 殴美日比视频| 噼里啪啦完整版中文在线观看| 久久久精品99| 婷婷五月天日本国产| 欧美日韩一区二区三区四区| AV九九| 99久久玖玖| 开心激情婷婷| 久久99看免费| 日韩免费乱轮网站| 人人摸人人澡人人| 五月天天天色| 久婷自拍视频| 激情小说五月丁香在线视频观看视频| 亚州精品色情在线观看| 日韩另类在线观看| 丁香五月婷婷欧美性爱| 五月丁香| 五月综合色播播丁香婷婷| 人妻久久久久久| 美欧成人视频| 婷婷五月天激情综合网| www.婷婷五月| 色色五月婷婷久久| 婷婷色激情五月天| 精品一二三区久久AAA片| www.五月天色色.com| 欧美啄木乌丝袜人妻系列| 色情五月综合婷婷| 婷婷五月a| 狠狠色五月激情| 91九色无码日韩| 97在线观视频免费观看| aaaaa黄色| 丁香六月色婷婷| 成人做爰A片免费看网站找不到了| 五月色网| 婷婷九月亚洲| 五月做爱| 五月丁香六月婷婷亚洲激情综合| 九九黄色网| 可以看的AV| 日韩啪| 五月天激情综合| 大香蕉天堂色| www.lingjunshare.com| 51精品国自产在线| 狠狠88综合久久久久噜噜噜| 色婷婷婷婷| 成人婷99最新| 婷婷五月天开心激情网| 骚逼视频一区2区| 亚洲色久| 第四色五月婷婷| 大香婷婷| 五月婷婷网站| 亚洲精品亚洲人成人网| 婷婷香香五月| 五月激情小说网| 婷婷综合网| 色播五月婷婷| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 99爽视频| 久久婷婷五月天激情四射| 激情综合五月.....| 9+1视频网址| aaaaaa片| 天天日天天摸| 人妻狠狠操| 玖玖色综合网| 久久久18| 蜜臀99精品| 伊人9在线| 婷婷色啪| 九九青青草成人| 久噜久噜| 色级婷婷| 激情综合激情综合| 久久hd| 色五月天堂| 大香蕉五月天婷婷丁香91| 日韩五月丁香| 97碰碰视频| 日本三级日本三级99| 91久久五月天| 人妻操逼视频| 日韩无码专区| 操逼视频一区| 久久天堂精品| 精品久久这里热66| 99狠狠色| 中文字幕黄色片| 九九热区一区二区三区| 97婷婷五月丁香| 久热这里| 91性高潮久久久久久久久| 日韩欧美一级大黄网站| 丁香婷婷精品视频| 婷婷五月激情小说| 欧美日韩成人在线| 性av| 五月亚洲| 久久婷婷五月综合色奶水99啪| 婷婷内射视频在线| 五月婷婷在线视频免费观看| 久久精品国产AV一区二区三区 | 狠狠干思思热| 五月丁香在线观看99| 欧美色五月| 99热9| 九九九九这里只有精品| 婷婷五月在线综合| 97超级碰| 色欲天天综合| 高清无码一区二区三区四区| 久久全色| 丁香五月天色婷婷| 久久九九99亚洲国产久精综合| 39视频第二区| 69久久99精品久久久久婷婷| 99色色爰| 98国产精品综合一区二区三区 | 亚洲综合成人网| 天天揷综合网| 中文字幕,综合,91| 婷婷五月天成人导航| 无码免费人妻A片AAA毛片西瓜| 啪啪亚洲综合| 人人爱操| 91在线看片| 五月丁香六月欧美综合网站| 一本久久亚洲五月婷婷| 色色九区| www.激情| 丁香六月婷婷综合麻豆| 九九超日本| 91热99| 伊人婷婷五月天av| 久久五月丁香| 婷婷久久色| 激情五月天婷婷| 99热网站| 五月青青草综合| 色婷婷文字幕| 激情开心五月天| www.久久av.com| 99热人人| 婷婷基地成人五月天| 久久久婷| 成人精品人妻| 99热这里只有精品官网| 变态另类9| 影音先锋AV男人站| 婷婷五月天开心网| 五月丁香婷婷六月天| 激情综合网址| 色综合色综合色综合| 色综合激情| 五月丁香六月婷婷激情视频在线观看免费| 99re这里只有精品国产99| 超级碰碰碰碰视频| 9视频在线成人网站| 五月丁香亭亭| 五月天久久综合| 久久这里有| 97干婷婷五月天| 二级黄色毛片| 激情综合丁香| 色婷丁香| 五月天色五月| 婷婷.com| 五月婷婷黄色毛片| 色图亚洲91| 婷婷97| 激情丁香九九五月综合网| 五月婷婷 激情五月| 色五月五月丁香| 伍月婷婷免费视频| 成人午夜无码视频| 超碰五月婷婷五月天| 深爱婷婷网| 婷婷欧美色| 欧美超碰亚洲| 中文字幕丰满乱孑伦无码专区 | 农村熟妇高潮精品A片| 日日操夜夜撸| 91日本在线观看| 5月婷婷激情网| 色婷婷99| 色婷婷av在线| 五月激情婷婷综合| 非洲一级AV| 色天使久久综合| 国产精品扒开腿做爽爽爽A片唱戏| 久久99综合| 久99视频| 色色色色综合网| 99热日韩| 91九九| 色在线99| www.26uuu.com亚洲电影| 婷婷五月综合婷婷| 久久女人九九| 九九热99精品| 97luluse| 日韩五月婷婷久久| 97婷婷五月丁香| 午夜天堂一区人妻| 99热免费精品| 九九热短视频在线观看| 这里只有国产精品在线| 天天日天天操天天干| 79色色免费| 另类综合激情| 五月天堂婷婷| 新激情五月开心五月婷婷五月丁香五月| 国产成人高清| 国产在线中文字幕| 欧美激情综合| 九九激情网| 五月激情久久综合| 色婷婷五月亚洲| 天天夜夜爽| 这里只有精品2| 婷婷情色激情| 26UUU欧美| 大天天伊人| 国产67194| 五月丁香综合啪啪| 日本三级日本三级99| 国产成人精品一区二区三区视频 | 婷婷伊人綜合| 久综合| 永久的网站AAAA| 亚洲综合干| 婷婷情色激情| 蜜桃人妻无码AV天堂三区| 婷婷天堂综合| 中文字幕丰满人妻无码专区| 99热在线看片| 激情五月天综合| 夜夜爱网站| 超碰人妻公开在线| 婷婷综合偷拍| 国产亚洲色婷婷久久99精品91| 激情婷婷五月天伊人在线观看| 99爱精品视频| 五月天婷婷青青| 亚洲va在线∨a天堂va欧美va| 91狠狠综合网| 国产精品久久久久久久久久| 69精品人人人人| 丁香五月伊人| 国精产品一区二区三区| 色五月婷婷91| 99色啊| 久久五月婷天天干| 亚洲色 视频| 可以直接看的av网站| 另类激情首页| 天天做天天爱天天玩| 亚洲人人操| www.久操| 91九色熟女| 精品福利911| www.五月天婷婷姐姐| 五月婷视频| 99热97| 成人在线日韩| 成人片在线免费看| 天天搞夜夜叫| 亚洲操b| 国产成人网站在线观看| 91婷婷丁香五月亚洲| 亚洲国产精品五月天| 自拍盗摄 另类| 激情婷婷六月天| Www.Av网9| 国内婷婷丁香社区在线播放| 激情小说 五月天| 99久热这里只有精品| www.cao.com久久| 亚洲色精彩| 涩涩网五月天| 天天插天天干| 强辱丰满人妻HD中文字幕| 色色免费网站| 天天干com| 五月天婷婷在线观看| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 97色碰| 婷婷五月激情小说| 香蕉久久国产AV一区二区| 婷婷五月综合啪| 色六月丁香婷婷啪啪啪| 五月丁香婷庭在线| 九九色播五月丁香| xxxx久| 九月婷婷人人操人人舔人人爱| 九九狠狠干| 婷婷五月天综合小说网| www.99视频| 国产熟女大叫受不了| 激情婷婷人妻| 天天天干夜夜夜操| 草草色情综合网| 激情综合五月激情XXXX| 久久久无码精品成人A片小说| 99精品在线观看| 99热销国产这里有精品| 五月情涩综合婷婷| 五月丁香| 婷婷久热| 99在线观看视频| www,999日本色| 综合五月草 | 97在线天堂| 99热91| 日韩在线观看亚洲| 色色色色色日韩午夜激情 | 亚洲六月色婷婷| 夜夜爱网站| 伊人天堂婷婷| 天天做天天爱综合| 99色色网| 色色五月天激情| 激情婷婷久久| 婷婷影院欧美| http://www.sd-xiangsu.com/| 最近免费中文字幕大全高清大全1| 色婷婷五月天激情| 色婷久久| 4399在线日本A片| 99久久www| 超碰99资源站| 五月丁香啪综合| 人操综合| 中文网av| 九色成人AV在线| 五月婷婷亞洲中文| 91碰免费视频| 五月色丁香激情| 婷婷影院A成人| 成 人 色 色| 黑人糟蹋人妻HD中文字幕| 婷婷激情六月综合| 狠狠的日| 亚洲最大在线| 99啪99| 永久免费视频| 伊人狠狠丁香婷婷综合尤物| 婷婷色一二三区波多野结衣| 色五月涩涩婷婷| 亚洲无码成人网| 99狠狠| www.五月天色色.com| 香蕉久久国产AV一区二区| 色综合色五月| 五月婷婷片| 丁香六月AV| 亚洲欧洲另类图片| 婷婷五月 丁香六月| 超碰99热| 天天日夜夜欢| 九九热在线99| 思思99精品视频在线观看| 日本久久天堂| 日本特黄aaaaa| 色色色九九九五月婷婷| 日本va欧美va欧美精品88| 九九综合网| 99视频只有精品| 九九久久99精品免费观看www| a久久| Av大香蕉| 无码色| 狠狠干在线视频| www,setingting| 深爱五月天婷综合| 五月停停99| 91色逼| 亚州激情网| 丁香五月婷婷影院| 丁香五月六月综合激情| 日韩aaaaa| 能看的AV网站| 岛国在线观看91| 色婷婷影音| 一操久久| 五月丁香激情啪啪| 色综合综合网| 97资源欧美日韩大香蕉超碰一区| 狠狠干五月丁香综合网| 天天综合五月天| 久久人妻精品| 丁香五月五婷| 九九色黄色| 久久九九爽| 婷婷激情五月天激情在线| 丁香久久在线| 天天噜日日噜综合无码| 九九热九九热精品| 碰超在线九色| 九九99久久| 日本成人噜噜噜| 激情网五夜婷婷|