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

ARTICLE DETAIL

資訊詳情

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

對(duì)話式數(shù)據(jù)分析系統(tǒng):用LLM將自然語(yǔ)言自動(dòng)轉(zhuǎn)為ECharts配置

對(duì)話式數(shù)據(jù)分析系統(tǒng):用LLM將自然語(yǔ)言自動(dòng)轉(zhuǎn)為ECharts配置 剛做完一個(gè)挺有意思的項(xiàng)目對(duì)話式數(shù)據(jù)分析系統(tǒng)。用戶(hù)輸入一句大白話比如“給我看看最近三個(gè)月各區(qū)域的銷(xiāo)售額對(duì)比順便標(biāo)出環(huán)比增長(zhǎng)率”系統(tǒng)自動(dòng)把這句話轉(zhuǎn)成ECharts配置前端直接渲染出圖表。整個(gè)過(guò)程不需要拖拽組件不需要手寫(xiě)option全部靠LLM理解意圖、映射數(shù)據(jù)、生成配置。我在這篇文章里把這套東西的完整思路、架構(gòu)設(shè)計(jì)、核心代碼、踩坑記錄全部整理出來(lái)項(xiàng)目命名為“某對(duì)話式數(shù)據(jù)分析系統(tǒng)”以下簡(jiǎn)稱(chēng)“對(duì)話分析系統(tǒng)”。希望對(duì)正在做類(lèi)似LLM應(yīng)用落地的朋友有點(diǎn)幫助。這套方案最直接的價(jià)值有三個(gè)。第一數(shù)據(jù)分析門(mén)檻大幅降低業(yè)務(wù)人員不需要懂前端也不需要會(huì)寫(xiě)SQL只要會(huì)提問(wèn)就能看數(shù)據(jù)。第二開(kāi)發(fā)效率提升明顯原來(lái)寫(xiě)一個(gè)圖表配置需要查文檔、調(diào)樣式現(xiàn)在只要Prompt設(shè)計(jì)得好LLM生成的配置完成度能做到80%以上。第三對(duì)話上下文天然適合多維度的探索式分析用戶(hù)可以從“總銷(xiāo)售額是多少”一路追問(wèn)到“華東區(qū)哪個(gè)品類(lèi)增長(zhǎng)最快”系統(tǒng)保持上下文連貫。適合看這篇文章的人主要是這幾類(lèi)做LLM應(yīng)用開(kāi)發(fā)的工程師想知道怎么把大模型輸出跟具體業(yè)務(wù)場(chǎng)景做可靠對(duì)接前端開(kāi)發(fā)者想了解ECharts配置的自動(dòng)化生成思路數(shù)據(jù)分析師或數(shù)據(jù)產(chǎn)品經(jīng)理想低成本實(shí)現(xiàn)一個(gè)智能BI的Demo。1. 先想清楚自然語(yǔ)言轉(zhuǎn)圖表配置難在哪在寫(xiě)代碼之前我花了不少時(shí)間梳理這個(gè)問(wèn)題的本質(zhì)。表面上這是“把文字變成JSON配置”但實(shí)際操作中你會(huì)發(fā)現(xiàn)真正的難點(diǎn)根本不在配置生成上而是在“語(yǔ)義理解”和“數(shù)據(jù)對(duì)齊”這兩層。1.1 傳統(tǒng)方式的三個(gè)明顯痛點(diǎn)傳統(tǒng)的圖表開(kāi)發(fā)流程通常是前端工程師拿到需求查ECharts文檔手寫(xiě)option聯(lián)調(diào)數(shù)據(jù)接口最后調(diào)整樣式。這個(gè)過(guò)程有幾個(gè)老生常談但一直沒(méi)被很好解決的問(wèn)題。第一需求溝通成本高。業(yè)務(wù)方說(shuō)“做個(gè)好看的圖”但“好看”的標(biāo)準(zhǔn)是什么柱狀圖還是折線圖顏色用藍(lán)色系還是漸變色要不要顯示數(shù)值標(biāo)簽這些細(xì)節(jié)點(diǎn)如果每個(gè)都靠溝通確認(rèn)效率非常低。第二圖表配置的細(xì)節(jié)非常多。ECharts的option結(jié)構(gòu)說(shuō)簡(jiǎn)單也簡(jiǎn)單說(shuō)復(fù)雜也復(fù)雜。一個(gè)坐標(biāo)軸就有十多個(gè)配置項(xiàng)series里還有堆疊、平滑、動(dòng)畫(huà)、漸變色等用法。稍微沒(méi)查文檔就很容易寫(xiě)錯(cuò)屬性名或者漏掉必要的配置項(xiàng)導(dǎo)致圖表渲染異常。第三數(shù)據(jù)格式跟圖表類(lèi)型強(qiáng)耦合。餅圖需要{name, value}結(jié)構(gòu)折線圖需要xAxis的category數(shù)據(jù)和series的data數(shù)組對(duì)齊。后端接口返回的數(shù)據(jù)往往不是現(xiàn)成的還需要前端做大量map、filter、reduce的轉(zhuǎn)換操作。1.2 LLM介入之后流程發(fā)生了什么變化LLM介入后原來(lái)的“需求 → 設(shè)計(jì) → 開(kāi)發(fā) → 聯(lián)調(diào)”壓縮成了“提問(wèn) → 出配置”。用戶(hù)直接用自然語(yǔ)言描述想要看什么系統(tǒng)通過(guò)大模型解析意圖、識(shí)別維度與指標(biāo)再?gòu)臄?shù)據(jù)源取數(shù)并聚合最后生成結(jié)構(gòu)化ECharts配置。這個(gè)流程里L(fēng)LM承擔(dān)了最費(fèi)腦子的部分意圖理解、字段映射、圖表類(lèi)型選擇、配置內(nèi)容生成。人只需要做兩件事一是把問(wèn)題描述清楚二是在結(jié)果不滿意時(shí)追加一句“換成玫瑰圖”或“不要顯示數(shù)值標(biāo)簽”。這是典型的“AI Copilot”模式不是替代人而是替代了人跟圖表配置搏斗的過(guò)程。1.3 一個(gè)關(guān)鍵認(rèn)知LLM輸出的可靠性取決于約束強(qiáng)度這個(gè)項(xiàng)目做下來(lái)我最深的體會(huì)是LLM生成的自由文本能力很強(qiáng)但直接讓它輸出“JSON配置”時(shí)如果不對(duì)輸出格式做強(qiáng)制約束結(jié)果會(huì)非常不穩(wěn)定??赡艹霈F(xiàn)多余的注釋、Markdown代碼塊標(biāo)記、錯(cuò)誤的字段名、字符串和數(shù)值類(lèi)型混亂等問(wèn)題。所以整個(gè)系統(tǒng)的核心設(shè)計(jì)思想就一句話在自由語(yǔ)義和嚴(yán)格配置之間搭一座橋。LLM負(fù)責(zé)理解自然語(yǔ)言但它輸出的不是裸配置而是經(jīng)過(guò)Prompt約束、Schema校驗(yàn)、兜底修復(fù)三道防線之后才交給前端渲染。這座橋建得牢不牢直接決定了系統(tǒng)的可用性。2. 系統(tǒng)整體架構(gòu)與模塊劃分這個(gè)系統(tǒng)的架構(gòu)設(shè)計(jì)從一開(kāi)始就確定了原則只做LLM能做好且適合做的事其他全部用傳統(tǒng)代碼兜住。整體分為四層各司其職。2.1 四層結(jié)構(gòu)對(duì)話層、語(yǔ)義層、數(shù)據(jù)層、渲染層對(duì)話層負(fù)責(zé)接收用戶(hù)輸入、維護(hù)多輪會(huì)話上下文、記錄用戶(hù)對(duì)配置結(jié)果的修正反饋。語(yǔ)義層核心的Prompt編排與LLM調(diào)用模塊把用戶(hù)問(wèn)題結(jié)構(gòu)化為“意圖 維度 指標(biāo) 圖表偏好”四要素。數(shù)據(jù)層負(fù)責(zé)從數(shù)據(jù)庫(kù)中取數(shù)、按維度聚合、把結(jié)果轉(zhuǎn)成ECharts需要的標(biāo)準(zhǔn)數(shù)據(jù)格式。渲染層前端拿到配置和數(shù)據(jù)后直接執(zhí)行同時(shí)提供局部修改的入口。每一層都只跟相鄰層通信不跨層調(diào)用。這樣做的最大好處是任何一個(gè)模塊出問(wèn)題都能單獨(dú)替換或降級(jí)。2.2 為什么選擇ECharts而不是其他圖表庫(kù)這個(gè)項(xiàng)目選擇ECharts是一個(gè)經(jīng)過(guò)比較后的決定不是因?yàn)樗盍餍卸撬钸m合這個(gè)場(chǎng)景。對(duì)比之下Chart.js的配置簡(jiǎn)單但圖表類(lèi)型較少?gòu)?fù)雜統(tǒng)計(jì)圖表支持一般。D3.js的定制性最強(qiáng)但學(xué)習(xí)曲線陡峭讓LLM生成D3代碼的難度遠(yuǎn)高于生成聲明式配置。而ECharts恰好是聲明式配置的典型代表本質(zhì)上就是一個(gè)大的JSON對(duì)象這在“大模型生成配置文件”的場(chǎng)景里優(yōu)勢(shì)非常明顯。另外ECharts的中文文檔完善社區(qū)方案豐富遇到特殊圖表需求比如?;鶊D、主題河流圖時(shí)有現(xiàn)成案例。對(duì)于LLM應(yīng)用來(lái)說(shuō)訓(xùn)練數(shù)據(jù)里ECharts的示例濃度也相對(duì)夠用模型對(duì)該配置結(jié)構(gòu)的辨識(shí)度明顯更高。2.3 數(shù)據(jù)源與指標(biāo)體系的預(yù)設(shè)這個(gè)環(huán)節(jié)非常重要也是很多人在做類(lèi)似項(xiàng)目時(shí)容易忽略的。直接讓LLM去數(shù)據(jù)庫(kù)里查表是不現(xiàn)實(shí)的你不可能讓模型知道你的庫(kù)里有什么表、字段叫什么、有沒(méi)有權(quán)限限制。所以我在數(shù)據(jù)層做了一個(gè)“數(shù)據(jù)字典預(yù)設(shè)”的操作。預(yù)先在系統(tǒng)里定義好業(yè)務(wù)指標(biāo)和維度的映射關(guān)系比如“銷(xiāo)售額” → 字段total_amount聚合方式SUM“訂單量” → 字段order_count聚合方式COUNT“區(qū)域” → 字段region分組維度“時(shí)間” → 字段order_date按月份格式化LLM不直接面對(duì)數(shù)據(jù)庫(kù)它只面對(duì)這份數(shù)據(jù)字典輸出“我要用哪些字段、怎么聚合、按什么維度分組”。然后由傳統(tǒng)的代碼模塊把這個(gè)結(jié)構(gòu)化描述翻譯成SQL查詢(xún)執(zhí)行取數(shù)。這樣做有三重好處安全性可控、生成的SQL不會(huì)亂來(lái)、字段歧義大幅降低。3. Prompt工程讓LLM穩(wěn)定輸出ECharts配置Prompt是這個(gè)項(xiàng)目的靈魂。如果Prompt設(shè)計(jì)得不到位后面寫(xiě)得再漂亮也沒(méi)用。這一節(jié)把我反復(fù)迭代出來(lái)的Prompt方案完整講清楚。3.1 系統(tǒng)級(jí)Prompt的結(jié)構(gòu)化編排我采用的System Prompt分為四個(gè)部分角色設(shè)定、任務(wù)定義、數(shù)據(jù)字典、輸出格式要求。下面是一個(gè)精簡(jiǎn)但完整的示例你是一個(gè)數(shù)據(jù)分析助手。你的任務(wù)是根據(jù)用戶(hù)提出的問(wèn)題生成ECharts可視化配置。 可用的數(shù)據(jù)字段 - 日期維度order_date格式 YYYY-MM-DD - 區(qū)域維度region值華東、華南、華北、西南、西北 - 品類(lèi)維度category值數(shù)碼、家電、服飾、食品 - 指標(biāo)total_amount銷(xiāo)售額數(shù)值單位元 - 指標(biāo)order_count訂單量數(shù)值 使用規(guī)則 1. 從用戶(hù)問(wèn)題中提取需要展示的維度和指標(biāo)。 2. 如果用戶(hù)指定了圖表類(lèi)型優(yōu)先使用指定類(lèi)型 否則根據(jù)字段性質(zhì)和關(guān)系推薦時(shí)間序列用line類(lèi)別對(duì)比用bar占比用pie。 3. 輸出必須是JSON對(duì)象包含兩個(gè)字段sql和option。 sql字段包含維度和指標(biāo)信息用query_columns表示。 option字段是ECharts的完整配置對(duì)象必須包含title、tooltip、xAxis、yAxis、series。 4. 不要輸出任何解釋性文字不要使用Markdown代碼塊標(biāo)記只輸出JSON。 本次會(huì)話開(kāi)始。這個(gè)Prompt里面值得注意的細(xì)節(jié)是我明確說(shuō)了“不要使用Markdown代碼塊標(biāo)記”否則LLM很容易把JSON包在json里增加后端解析的額外動(dòng)作和出錯(cuò)概率。同時(shí)把字段含義和可用值直接寫(xiě)進(jìn)Prompt讓LLM能根據(jù)用戶(hù)描述精確匹配而不是自己瞎編。3.2 圖表類(lèi)型的自動(dòng)推薦規(guī)則最開(kāi)始的時(shí)候我讓LLM完全自由決定圖表類(lèi)型結(jié)果發(fā)現(xiàn)它經(jīng)常選得不對(duì)。比如用戶(hù)問(wèn)“各地區(qū)銷(xiāo)售額情況”它給個(gè)雷達(dá)圖視覺(jué)上好看但信息表達(dá)效率其實(shí)不高。后來(lái)我在Prompt里加了顯式的推薦邏輯效果一下子穩(wěn)定了很多。推薦規(guī)則參考了傳統(tǒng)BI工具的選擇邏輯用戶(hù)問(wèn)題出現(xiàn)“趨勢(shì)”“變化”“走勢(shì)”等關(guān)鍵詞優(yōu)先折線圖。出現(xiàn)“對(duì)比”“排名”“Top”等關(guān)鍵詞或明確提到“柱狀圖”優(yōu)先柱狀圖。出現(xiàn)“占比”“比例”“百分比”或單一維度多指標(biāo)對(duì)比優(yōu)先餅圖或環(huán)形圖。出現(xiàn)“分布”“區(qū)間”“密度”等關(guān)鍵詞優(yōu)先直方圖或散點(diǎn)圖。這個(gè)規(guī)則本質(zhì)上是在給LLM一個(gè)“決策路徑”比讓它完全自由發(fā)揮要可靠得多。3.3 Few-shot示例的加入時(shí)機(jī)初期版本沒(méi)有加入few-shot效果不穩(wěn)定但勉強(qiáng)能用。但遇到復(fù)雜一點(diǎn)的查詢(xún)比如“按區(qū)域和品類(lèi)兩個(gè)維度交叉分析銷(xiāo)售額”模型輸出的SQL字段排列和ECharts配置就可能出現(xiàn)混亂。后來(lái)我在Prompt里加入了兩個(gè)典型示例一個(gè)是簡(jiǎn)單的時(shí)間趨勢(shì)圖一個(gè)是帶鉆取的環(huán)形圖。示例會(huì)提多個(gè)不同場(chǎng)景的few-shot讓模型對(duì)不同復(fù)雜度的問(wèn)題都能找到參照。注意few-shot不是越多越好通常2到3個(gè)覆蓋不同難度級(jí)別就夠了多了會(huì)拉長(zhǎng)輸入Token并增加成本。加完few-shot之后配置生成的成功率明顯上了一個(gè)臺(tái)階。特別是涉及多指標(biāo)并列展示的場(chǎng)景模型能正確輸出兩個(gè)yAxis和兩個(gè)series的配置結(jié)構(gòu)。3.4 用戶(hù)反饋修正的上下文利用多輪對(duì)話是這個(gè)系統(tǒng)的亮點(diǎn)但開(kāi)始我也沒(méi)想清楚怎么管理上下文。如果每輪都把全部歷史記錄丟給LLMToken消耗和響應(yīng)延遲都受不了而且很容易導(dǎo)致模型被無(wú)關(guān)信息干擾。后來(lái)采用的方案是維護(hù)一個(gè)結(jié)構(gòu)化會(huì)話狀態(tài)每輪只保留三部分信息用戶(hù)最近的輸入、上一輪的配置修正指令、系統(tǒng)上一輪輸出的圖表配置摘要。在Prompt中以“歷史修改記錄”的形式拼接讓模型知道用戶(hù)上一次做了什么調(diào)整。比如用戶(hù)第一輪問(wèn)“看看各區(qū)域銷(xiāo)售額柱狀圖”系統(tǒng)生成柱狀圖第二輪說(shuō)“改成玫瑰圖并且加上百分比”歷史記錄里就保留“上一輪為bar圖用戶(hù)希望改為pie玫瑰圖并顯示百分比”。這樣模型就知道是在原有基礎(chǔ)上修改而不是重新生成一個(gè)全新的圖表上下文連貫性就有了保障。4. 核心實(shí)現(xiàn)邏輯與關(guān)鍵代碼細(xì)節(jié)這一節(jié)是全文最硬核的部分。我會(huì)把后端接口、LLM輸出解析、數(shù)據(jù)聚合映射、前端渲染這幾個(gè)核心環(huán)節(jié)的代碼邏輯完整走一遍附上關(guān)鍵代碼段和踩坑說(shuō)明。4.1 后端接口接收自然語(yǔ)言并返回結(jié)構(gòu)化配置后端我用Python FastAPI實(shí)現(xiàn)整體是一個(gè)輕量級(jí)的代理服務(wù)。核心接口就一個(gè)接收用戶(hù)輸入和會(huì)話ID返回ECharts配置和狀態(tài)信息。示例代碼如下from fastapi import FastAPI, HTTPException from pydantic import BaseModel from typing import Optional, List, Dict, Any import json import uuid app FastAPI() class QueryRequest(BaseModel): message: str session_id: Optional[str] None class QueryResponse(BaseModel): session_id: str echarts_option: Dict[str, Any] sql_info: Dict[str, Any] raw_response: str # 模擬會(huì)話存儲(chǔ) session_store: Dict[str, List[Dict[str, str]]] {} app.post(/api/query, response_modelQueryResponse) async def handle_query(req: QueryRequest): if not req.session_id: req.session_id str(uuid.uuid4()) history session_store.get(req.session_id, []) # 調(diào)用核心處理函數(shù) result process_natural_language_query(req.message, history) # 保存會(huì)話歷史 history.append({role: user, content: req.message}) history.append({role: assistant, content: result[raw_response]}) session_store[req.session_id] history[-10:] # 只保留最近10條 return QueryResponse( session_idreq.session_id, echarts_optionresult[option], sql_inforesult[sql_info], raw_responseresult[raw_response] )這個(gè)接口設(shè)計(jì)比較樸素但足夠用。需要注意兩點(diǎn)一是會(huì)話存儲(chǔ)簡(jiǎn)單用內(nèi)存字典實(shí)現(xiàn)了真實(shí)項(xiàng)目建議換Redis否則重啟會(huì)話就丟了二是歷史記錄做了長(zhǎng)度限制避免無(wú)限增長(zhǎng)導(dǎo)致Token成本失控。4.2 LLM輸出解析從文本到JSON的可靠路徑這是整個(gè)項(xiàng)目里最坑的地方。LLM返回的內(nèi)容偶爾會(huì)比較不可控有時(shí)會(huì)非常規(guī)整地直接輸出一個(gè)JSON但也有時(shí)候會(huì)在JSON前后加一些自然語(yǔ)言描述甚至在鍵名里加了沒(méi)必要的引號(hào)或者把布爾值寫(xiě)成字符串。我封了一個(gè)解析函數(shù)來(lái)處理這類(lèi)問(wèn)題def parse_llm_json_response(text: str) - dict: # 1. 直接嘗試解析 try: return json.loads(text) except json.JSONDecodeError: pass # 2. 嘗試提取JSON塊兼容 json 或 包裹 import re json_pattern r(?:json)?\s*(.*?)\s* match re.search(json_pattern, text, re.DOTALL) if match: try: return json.loads(match.group(1)) except json.JSONDecodeError: pass # 3. 嘗試從文本中截取第一個(gè) { 到最后一個(gè) } 之間的內(nèi)容 start_idx text.find({) end_idx text.rfind(}) 1 if start_idx ! -1 and end_idx start_idx: try: return json.loads(text[start_idx:end_idx]) except json.JSONDecodeError: pass # 4. 最后兜底拋出明確異常 raise ValueError(f無(wú)法從LLM輸出中解析JSON: {text[:200]})實(shí)際測(cè)試下來(lái)這個(gè)四級(jí)解析方案能覆蓋絕大多數(shù)情況。我強(qiáng)烈建議不要只做第一級(jí)直接解析就完事因?yàn)長(zhǎng)LM輸出的不確定性決定了你必須在解析層面做足夠防御。4.3 數(shù)據(jù)映射SQL信息轉(zhuǎn)成真實(shí)查詢(xún)結(jié)果前面Prompt里要求LLM輸出sql字段這個(gè)字段不是真正的SQL語(yǔ)句而是我自定義的一個(gè)結(jié)構(gòu)化查詢(xún)描述。例如{ query_columns: { dimensions: [region], metrics: [{field: total_amount, agg: SUM}] }, filter: { date_range: 最近3個(gè)月 } }后端拿到這個(gè)結(jié)構(gòu)之后再拼接成真的SQL去查數(shù)據(jù)庫(kù)。這樣做的好處是LLM不需要知道具體的數(shù)據(jù)庫(kù)表結(jié)構(gòu)它只需要理解字段語(yǔ)義真正的SQL生成由代碼完成可靠性和安全性都有保障。import sqlite3 def generate_sql(sql_info: dict) - str: dims sql_info.get(query_columns, {}).get(dimensions, []) metrics sql_info.get(query_columns, {}).get(metrics, []) dim_str , .join(dims) if dims else 1 metric_str , .join([f{m[agg]}({m[field]}) AS {m[field]}_{m[agg].lower()} for m in metrics]) sql fSELECT {dim_str}, {metric_str} FROM sales_data GROUP BY {dim_str} if dims else fSELECT {metric_str} FROM sales_data return sql這里有一個(gè)實(shí)際項(xiàng)目中很容易踩的坑如果用戶(hù)只問(wèn)“總銷(xiāo)售額是多少”沒(méi)有指定維度那GROUP BY子句就不能加否則會(huì)按一行返回沒(méi)有意義的結(jié)果。所以我在generate_sql函數(shù)里做了判斷沒(méi)有任何維度時(shí)直接查詢(xún)總指標(biāo)這個(gè)邏輯務(wù)必不要忽略。4.4 ECharts配置的二次校正與降噪LLM直接生成的option雖然整體結(jié)構(gòu)正確但偶爾會(huì)有一些影響渲染的細(xì)節(jié)問(wèn)題。我寫(xiě)了一個(gè)配置文件的后處理函數(shù)專(zhuān)門(mén)處理常見(jiàn)的“低級(jí)錯(cuò)誤”。def normalize_echarts_option(option: dict) - dict: # 確保基本配置項(xiàng)存在 option.setdefault(tooltip, {trigger: axis}) # 檢測(cè)series是否為空列表 if not option.get(series): raise ValueError(圖表配置中series為空無(wú)法渲染) # 修正xAxis/yAxis格式ECharts允許對(duì)象或數(shù)組但必須保證data存在 if xAxis in option and isinstance(option[xAxis], list): if len(option[xAxis]) 1: option[xAxis] option[xAxis][0] # 確保series.data與xAxis.data長(zhǎng)度一致這是一個(gè)高頻問(wèn)題 x_data option.get(xAxis, {}).get(data, []) if isinstance(option.get(xAxis), dict) else [] if x_data: for series_item in option.get(series, []): data_len len(series_item.get(data, [])) if data_len len(x_data): series_item[data] series_item[data][:len(x_data)] return option這里最值得說(shuō)的是xAxis.data和series.data長(zhǎng)度不一致的問(wèn)題。由于LLM生成的series.data有時(shí)候會(huì)來(lái)自SQL查詢(xún)結(jié)果而SQL結(jié)果和維度列表之間存在順序或數(shù)量上的錯(cuò)位這個(gè)不一致會(huì)導(dǎo)致圖表顯示不全或坐標(biāo)軸錯(cuò)位。寫(xiě)一個(gè)硬性的截?cái)鄬?duì)齊邏輯能避開(kāi)不少渲染異常。4.5 前端渲染與配置修正接口前端這一端我選擇了Vue 3 ECharts 5的組件化方案。核心邏輯就是接收后端返回的option塞進(jìn)ECharts實(shí)例監(jiān)聽(tīng)窗口變化做resize。// ChartRenderer.vue (關(guān)鍵代碼片段) template div refchartEl stylewidth: 100%; height: 480px;/div /template script import * as echarts from echarts; export default { name: ChartRenderer, props: { option: { type: Object, required: true } }, data() { return { chart: null }; }, watch: { option: { deep: true, handler(newVal) { if (!this.chart) return; this.chart.setOption(newVal, true); } } }, mounted() { this.chart echarts.init(this.$refs.chartEl); this.chart.setOption(this.props.option, true); window.addEventListener(resize, this.handleResize); }, methods: { handleResize() { this.chart this.chart.resize(); } }, beforeUnmount() { window.removeEventListener(resize, this.handleResize); this.chart this.chart.dispose(); } }; /script注意一個(gè)細(xì)節(jié)setOption的第二個(gè)參數(shù)我傳了true表示notMerge。這個(gè)在多次更新配置時(shí)很重要。如果不傳ECharts會(huì)做merge操作可能出現(xiàn)上一次圖表殘留的問(wèn)題比如柱狀圖切換為折線圖時(shí)舊的柱子還在。傳true以后每次全量覆蓋配置更新就是干凈的。5. 模型選型與成本控制策略LLM是這個(gè)系統(tǒng)的核心動(dòng)力源選什么模型、怎么控制成本直接影響項(xiàng)目能否從Demo走向落地。這一節(jié)聊聊我實(shí)測(cè)下來(lái)的選型感受和優(yōu)化手段。5.1 不同能力等級(jí)模型的表現(xiàn)差異實(shí)測(cè)了幾款當(dāng)前主流的商用和開(kāi)源模型簡(jiǎn)單對(duì)比一個(gè)直觀感受輕量級(jí)模型或同等級(jí)小參數(shù)模型能處理簡(jiǎn)單配置生成但復(fù)雜一點(diǎn)就經(jīng)常出錯(cuò)。特別是多指標(biāo)、雙y軸、數(shù)據(jù)聚合邏輯容易把配置結(jié)構(gòu)寫(xiě)亂。中端模型整體可用在加了few-shot之后解決常見(jiàn)圖表生成問(wèn)題表現(xiàn)不錯(cuò)。是這個(gè)系統(tǒng)的主力模型。高端旗艦?zāi)P土鲿扯群屠斫饬Υ_實(shí)更好但成本高出不少。適合用于復(fù)雜查詢(xún)、多輪對(duì)話語(yǔ)義糾偏的場(chǎng)景不適合作為默認(rèn)全量調(diào)用。具體到項(xiàng)目里我是按問(wèn)題復(fù)雜度做模型路由的。簡(jiǎn)單問(wèn)題單指標(biāo)、單維度走輕量模型復(fù)雜問(wèn)題多指標(biāo)、多維分析、圖表修改走中高端模型。這樣既保住了體驗(yàn)又控制了成本。5.2 成本估算實(shí)例假設(shè)一個(gè)中等復(fù)雜度的查詢(xún)輸入Prompt約1200 Token輸出配置約600 Token。一次調(diào)用的總Token約為1800 Token。按目前的Token計(jì)價(jià)折算下來(lái)單次約為千分之幾元。如果日均調(diào)用1000次一個(gè)月成本在幾十元到上百元之間完全在可接受范圍內(nèi)。但如果未來(lái)做到企業(yè)級(jí)、日調(diào)萬(wàn)次甚至更多就需要引入更激進(jìn)的緩存策略和語(yǔ)義分割方案。成本控制我建議一定要做Token統(tǒng)計(jì)每個(gè)會(huì)話、每次請(qǐng)求都記錄Token消耗。有了數(shù)據(jù)才知道哪里該優(yōu)化不能拍腦袋省成本。5.3 緩存策略相同問(wèn)題不重復(fù)計(jì)算用戶(hù)經(jīng)常會(huì)問(wèn)重復(fù)或高度相似的問(wèn)題比如“幫我看一下華東區(qū)銷(xiāo)售額Top10的品類(lèi)”。這個(gè)查詢(xún)第一次執(zhí)行后結(jié)果短時(shí)間內(nèi)一般不會(huì)變化。所以我在后端加了一個(gè)簡(jiǎn)單但有效的緩存層。緩存Key由兩部分組成session_id message的哈希值。有效期設(shè)個(gè)5分鐘到10分鐘。緩存命中直接返回上次的結(jié)果不再調(diào)用LLM和數(shù)據(jù)源。實(shí)測(cè)命中率大約在20%到30%之間整體響應(yīng)速度和成本都優(yōu)化了不少。5.4 流式輸出的權(quán)衡很多LLM應(yīng)用現(xiàn)在都搞流式輸出但在圖表生成場(chǎng)景里我一開(kāi)始也做了后來(lái)發(fā)現(xiàn)收益不大。圖表配置的生成速度和流式展示的體驗(yàn)提升對(duì)用戶(hù)來(lái)說(shuō)感知并不強(qiáng)。因?yàn)橛脩?hù)最終看到的是圖表渲染結(jié)果而不是一行一行地看JSON。所以后端直接用同步接口返回完整配置前端加一個(gè)加載動(dòng)畫(huà)簡(jiǎn)潔且穩(wěn)定。只有在制作長(zhǎng)報(bào)告或復(fù)雜洞察分析時(shí)流式輸出的價(jià)值才會(huì)體現(xiàn)出來(lái)。6. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄這個(gè)項(xiàng)目做了這么久踩過(guò)的坑能寫(xiě)滿一頁(yè)A4紙。這一節(jié)把最高頻的問(wèn)題和排查思路整理成一個(gè)速查表按“現(xiàn)象 → 原因 → 做法”的結(jié)構(gòu)羅列方便遇到問(wèn)題直接對(duì)號(hào)入座。6.1 圖表渲染空白但控制臺(tái)無(wú)報(bào)錯(cuò)遇到這個(gè)問(wèn)題我一開(kāi)始一度懷疑是ECharts版本問(wèn)題排查了半天發(fā)現(xiàn)不是。后來(lái)定位到原因通常有兩個(gè)一是series.data為空數(shù)組ECharts不渲染空數(shù)據(jù)但也完全不報(bào)錯(cuò)二是xAxis.data和series.data長(zhǎng)度不匹配導(dǎo)致某些數(shù)據(jù)點(diǎn)被丟棄。排查步驟建議固定為先把LLM返回的JSON打印出來(lái)檢查series和xAxis的data結(jié)構(gòu)。其次在后端對(duì)數(shù)據(jù)長(zhǎng)度做一致性校驗(yàn)發(fā)現(xiàn)不一致時(shí)提前修正。6.2 生成的圖表類(lèi)型不符合用戶(hù)預(yù)期用戶(hù)說(shuō)“看下銷(xiāo)售情況”模型給出了餅圖但用戶(hù)其實(shí)想看的是柱狀圖。這類(lèi)問(wèn)題本質(zhì)上不是bug而是意圖理解不夠精準(zhǔn)。解決思路有三個(gè)層次最簡(jiǎn)單粗暴的在Prompt中設(shè)定“當(dāng)用戶(hù)未明確指定圖表類(lèi)型時(shí)默認(rèn)使用柱狀圖”。較推薦的做法把圖表類(lèi)型選擇權(quán)交給一個(gè)單獨(dú)的“意圖分類(lèi)”步驟先判斷用戶(hù)想要的圖表類(lèi)型再讓LLM生成具體配置。體驗(yàn)最好的做法前端提供圖表類(lèi)型切換按鈕用戶(hù)不滿意時(shí)一鍵切換切換時(shí)只調(diào)整series類(lèi)型和對(duì)應(yīng)配置不需要重新生成。實(shí)際項(xiàng)目中我采用了第二和第三層的結(jié)合既在對(duì)話層做了預(yù)分類(lèi)也在展示層做了快速切換兜底。6.3 某些字段被LLM憑空捏造這個(gè)問(wèn)題在所有LLM應(yīng)用中都會(huì)出現(xiàn)圖表配置場(chǎng)景也不例外。模型在生成查詢(xún)字段時(shí)偶爾會(huì)“發(fā)明”一些數(shù)據(jù)字典里根本不存在的字段名。比如數(shù)據(jù)字典里只有total_amount單輸出結(jié)果卻可能出現(xiàn)profit_rate這種虛構(gòu)指標(biāo)。這種問(wèn)題的根源是Prompt數(shù)據(jù)字典的語(yǔ)義約束不夠嚴(yán)格。我采取了三層防御Prompt里加了硬性限制“只能使用可用字段不得新增字段”。后端解析時(shí)加字段白名單校驗(yàn)一旦發(fā)現(xiàn)未知字段立即拋異常要求模型重新生成。加了重試機(jī)制最多重試兩次用模型自己的上一個(gè)錯(cuò)誤輸出來(lái)糾正它。def validate_sql_info(sql_info: dict, allowed_fields: set) - bool: dims sql_info.get(query_columns, {}).get(dimensions, []) metrics sql_info.get(query_columns, {}).get(metrics, []) for dim in dims: if dim not in allowed_fields: return False for m in metrics: if m[field] not in allowed_fields: return False return True白名單校驗(yàn)看起來(lái)多做了一步實(shí)際上避免了非常多后續(xù)的數(shù)據(jù)查詢(xún)報(bào)錯(cuò)和渲染異常。6.4 多輪對(duì)話的上下文污染多輪對(duì)話是整個(gè)系統(tǒng)里維護(hù)成本最高的部分。我遇到過(guò)一種情況用戶(hù)第一輪問(wèn)的是“華東區(qū)的銷(xiāo)售額”第二輪問(wèn)“那華南呢”模型把兩輪問(wèn)題合并成了一個(gè)查詢(xún)或者按第一輪的維度約束了第二輪的查詢(xún)最終結(jié)果不符合預(yù)期。排查后發(fā)現(xiàn)問(wèn)題出在上下文拼接的方式上。我把完整的歷史記錄拼接后一次性發(fā)給模型模型理解重點(diǎn)發(fā)生了偏移。后來(lái)改成“歷史修改指令”模式只保留上一輪的圖表配置和用戶(hù)最新的修改要求情況明顯好轉(zhuǎn)。再進(jìn)一步可以在每輪會(huì)話記錄時(shí)帶上“當(dāng)前數(shù)據(jù)范圍”摘要模型在生成新查詢(xún)時(shí)就有明確的基準(zhǔn)。6.5 常見(jiàn)問(wèn)題速查表現(xiàn)象可能原因處理方案前端圖表空白series.data為空或長(zhǎng)度不匹配打印JSON檢查data后端做長(zhǎng)度校準(zhǔn)圖表類(lèi)型不符預(yù)期意圖解析失敗或Prompt缺乏傾向性增加類(lèi)型預(yù)分類(lèi)前端提供手動(dòng)切換字段不存在模型幻覺(jué)白名單校驗(yàn)異常時(shí)重試多輪問(wèn)題答非所問(wèn)上下文過(guò)載或始終以歷史為主結(jié)構(gòu)化會(huì)話狀態(tài)只保留修正指令生成的配置偶爾帶Markdown標(biāo)記模型輸出格式不穩(wěn)定解析時(shí)兼容包裹刪除非JSON內(nèi)容響應(yīng)延遲明顯調(diào)用鏈路太長(zhǎng)/模型太重走緩存、模型路由、去掉流式輸出6.6 一個(gè)被很多人忽略的細(xì)節(jié)代碼塊包裹的冗余處理即便我在Prompt里已經(jīng)明確說(shuō)了“不要使用Markdown代碼塊標(biāo)記”模型有時(shí)候還是會(huì)在輸出中把JSON包在代碼塊里。前端直接傳給后端解析時(shí)會(huì)失敗。這個(gè)問(wèn)題不復(fù)雜但很影響體驗(yàn)。我的建議是后端解析的時(shí)候做了一層“防呆處理”不管模型輸出什么格式都嘗試提取其中的JSON部分。也就是前面提到的解析函數(shù)第2層和第3層這兩層代碼看著多余實(shí)則在真實(shí)項(xiàng)目中能省下很多溝通和debug的時(shí)間。7. 這個(gè)項(xiàng)目的邊界與擴(kuò)展可能性個(gè)人實(shí)操回顧做到這個(gè)程度這個(gè)系統(tǒng)基本達(dá)到了“業(yè)務(wù)人員能自己提問(wèn)、自己看圖”的效果。但我也很清楚它的邊界在哪。數(shù)據(jù)字典預(yù)設(shè)意味著增加一個(gè)新的業(yè)務(wù)指標(biāo)需要手工維護(hù)字段映射。圖表類(lèi)型雖然覆蓋面夠用但遇到非常規(guī)圖表比如關(guān)系圖、樹(shù)圖、地圖時(shí)生成效果依然不穩(wěn)定。這些限制不是LLM本身的問(wèn)題而是工程上選擇了“穩(wěn)定優(yōu)先”的路子。從我實(shí)操的角度看如果后續(xù)要繼續(xù)演進(jìn)我會(huì)優(yōu)先考慮兩個(gè)方向。第一是接上真實(shí)的數(shù)據(jù)庫(kù)Schema自動(dòng)發(fā)現(xiàn)機(jī)制讓數(shù)據(jù)字典能動(dòng)態(tài)更新減少人工維護(hù)成本。第二是引入“用戶(hù)行為反饋信號(hào)”比如用戶(hù)強(qiáng)行切換了圖表類(lèi)型、修改了取數(shù)范圍這些行為可以作為隱含標(biāo)注數(shù)據(jù)用于后續(xù)微調(diào)Prompt或模型。這兩個(gè)方向本質(zhì)都是為了讓系統(tǒng)從“固定配方”走向“自適應(yīng)理解”。做出來(lái)之后這個(gè)對(duì)話式數(shù)據(jù)分析系統(tǒng)的落地空間還會(huì)更大。8. 最后的幾個(gè)實(shí)操建議文章寫(xiě)完之前我再分享三個(gè)實(shí)用的經(jīng)驗(yàn)總結(jié)都是踩過(guò)坑換來(lái)的教訓(xùn)。第一個(gè)建議不要把LLM的JSON輸出當(dāng)成理所當(dāng)然。無(wú)論P(yáng)rompt寫(xiě)得多么嚴(yán)格解析層都要做兜底。模型畢竟是概率模型它的輸出天然存在隨機(jī)性工程上必須設(shè)計(jì)好容錯(cuò)機(jī)制。用模板加校驗(yàn)加重試的方式把不確定性限制在可控范圍內(nèi)。第二個(gè)建議在畫(huà)界面之前先把Prompt和數(shù)據(jù)結(jié)構(gòu)跑通。我一開(kāi)始最先做的是前端以為把ECharts配好就完事了結(jié)果后端LLM輸出的格式頻繁調(diào)整導(dǎo)致前端也跟著改了兩三回。如果先花時(shí)間把Prompt、輸出Schema、解析邏輯確定下來(lái)再去做前端開(kāi)發(fā)效率會(huì)高很多。第三個(gè)建議盡量保留每個(gè)請(qǐng)求的完整日志。LLM應(yīng)用的調(diào)試難度遠(yuǎn)高于傳統(tǒng)應(yīng)用因?yàn)楹芏鄦?wèn)題不是代碼邏輯錯(cuò)誤而是模型輸出的語(yǔ)義偏差。完整記錄Prompt輸入、模型原始輸出、解析后結(jié)果、最終渲染狀態(tài)排查問(wèn)題時(shí)能省一半以上時(shí)間。日志字段用JSON格式存儲(chǔ)后面用來(lái)分析模型錯(cuò)誤模式也能派上大用場(chǎng)。這個(gè)項(xiàng)目目前已經(jīng)作為內(nèi)部工具投入使用業(yè)務(wù)同學(xué)用得還挺順手。如果你也在做類(lèi)似的事情希望里面的經(jīng)驗(yàn)和代碼片段能幫你少走幾段彎路。有新的想法也歡迎交流。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲另类电影| 牛牛色av| 婷婷激情综合| 日日插日日干| 狠狠狠狠免费| 亚洲综合字幕色色| 翔田千里 50岁 无码| 国精产品一区一区三区免费视频| 激情久久久| 亚洲久久婷婷| www·五月天| 婷婷五月丁香花综合| 少妇做爰免费视看片| 天天做天天爱天天高潮| 99热这里只有精品22| 日本老女人黄页在线播放| 丁香花社区av| 五月Huangsewang| 五月丁香婷婷综合网| 亚洲欧美一区二区三区爱爱动图 | 丁香五月丁香伊人| 婷婷丁香五月激情图片| 亚洲激情免费久久| 久久99热这里只有精品23| 婷婷丁香色情| 久久五月激情| 91啪啪视频| 国产亚洲99久久| 亚洲99热| 99热在线免费| 99热777| 日韩操人| 天天综合久久| 九九草热在线观看| AV天堂婷婷五月天| 婷婷五月天六点丁香五月| 五月天亚洲最大成人| 强伦轩人妻一区二区电影| 伊人大香蕉毛片| 激情综合五月婷婷| 国产精品久久久久久喷浆| 91成人品| 五月色丁香| 五月天婷婷在线播放| 欧美啪啪9| 日日干日日| 欧州色色| 久月婷婷| 14色综合婷婷| 99色啊| 丁香大香蕉| 日本天天操| 亚洲激情久久| 六月激情网| 91狠狠综合久久久| 噼里啪啦完整版中文在线观看| 色色国产| 久久久久久久久月丁| 欧美天天干五月丁香| 大香网伊人久久综合| 九九自拍网| 久久久www| 婷婷亚洲日本| 丁香五月婷婷六月| 日日天天干| 色婷婷久久| 极品人妻VIDEOSSS人妻| 欧美日韩一区二区三区四区| 亚洲在线资源| 激情纯色婷婷五月天在线不卡视频| 丁香亚洲婷婷五月| 婷婷九月丁香| 日日夜夜天天| 综合久久久婷| 久色视频首页| 五月婷婷六月丁香在线| WWW.桔色成人.COM| 九月av| 99九九精品| 99热精品网| 久热精品视频| 强伦轩人妻一区二区电影| 麻豆AV一区二区三区| 综合AV网| 99九九精品| 无码G高清天| 日韩人妻AV在线| 高清资源站日A美A欧亚…| 97操碰日本女人| 久久9精品视频| 久久黄色网扯| 啪啪综合网| 拍真实国产伦偷精品| 亚洲av| 婷婷五月六月| 婷婷激情丁五月| 开心激情五月天网| 成人.在线日韩| 99色免费在线观看| 韩国久久少妇视屏| 一本大道嫩草AV无码专区| 欲色人妻| 激情色情五月天| 丁香婷五月天开心六月| 九九热狼人| 91超级碰碰| 伊人9999| 99超超碰| 五月丁香亭亭成人电影| 久久国产色| 九九色网| 免费观看的婷婷五月视频在线| 草草操操| 伊人超碰| 中文字幕av在线| 蜜桃婷婷丁香五月天狠狠久久综合| 激情五月色在线播放| 秋霞性爱AV| 伊人网色婷婷五月天| 99亚洲精品视频| 久久网思思| 亚洲中文字幕av| 9999热在线| 丁香婷婷激情综合五月激情| 综合网色| 中文字幕在线播放视频| 超碰九九热| 综合激情sV| 五月激情开心婷婷| 国产成人精品一区二三区熟女在线 | 亚洲综合久| 婷婷激情五月天小说校园| 激情深爱五月天| 久9精品视频| www,天天干| 无码人妻AV久久久一区二区三区| wuyuedingxiang99| www.yw尤物| 狼人婷婷久久| 久9热在线视频| 九九视频在线观看视频在线播放69| 99热热九九| 色一情一乱一乱91Av| 都市激情蜜桃婷婷五月天 | 成人在线综合| 婷婷五月丁香综合| 99热这里只有精品在线观看| 亚洲色色爱| 九热视频| 激情亚洲五月| 亚洲正能量欧美| 六月婷婷七月丁香| 99在线综合视频| 亚洲 五月 婷婷 成人| 亚洲精品久久久久久久久久飞鱼 | 丰满少妇猛烈A片免费看观看| 久久三级视频| 99久久国产宗和精品1上映| 婷婷五月丁香狠狠| 超碰啪啪网| 国产婷婷五月在线视频| 一区二区乱码视频| 亚洲亚洲人成综合网络| www.成人婷婷综合| 久久婷网| 风流少妇A片一区二区蜜桃| 婷婷亚洲丁香五月| 九月丁香欧美综合| 婷婷丁香久久| 婷婷伊人久久综合| 五月婷婷五月丁香| av中文在线| 成人精品在线| 激情婷婷狠狠干| 黄网在线免费| 国产精品国产| 丁香五月婷婷成人色区| 91丨九色丨国产在线| 欧美天堂久久| 夜夜爽日日躁| 影音先锋一区| 女人被躁到高潮嗷嗷叫小| 开心激情久久久久久久| 五月天停婷基地| 亚洲区视频| 视频这里只有精品| 精品一区二区三区三区| 成片免费播放| 天天久| 内射综合网| 色色五月婷婷| 激情丁香九九五月综合网| 九九aV| 欧美色综合天天久久综合精品| 久久在线人妻| 色情综合| 94干大香蕉| 99久在线精品99re8| 婷婷五月天777| 天天综合色99| 欧美色男人网站| 六月婷婷久久| 欧洲电影在线观看免费版英语版| 色婷久九| 五月丁香在线综合| 第六色在线| 狠狠情色| 亚洲中文字幕在线电影| 久久久GOGO无码啪啪艺术| 停停五月丁香| 五月天成人在线播放丁香| 丁香五月六月综合激情| 日韩精品无码AV| 日韩aaa| 天天天久久人人人合| 99久久久免费| 五月婷婷七月丁香| 国产性爱色| 久久精彩视频| 成年人丁香五月| 播五月丁香六月| 狠狠色丁香五月婷巨| 国产44页| 极品嫩草| 日日操天堂| 超碰国产在线| 97色婷婷成人综合在线观看| 91丨九色丨熟女丰满| 千人斩操逼| 五月丁香久人妻中文| 大鸡巴伊人网| 91高潮喷水久久久久久久久| 天天摸,天天爽| 久九色| 激情五月天99色| 中文字幕日产A片在线看| 色色五月婷| 婷婷五月丁香色综合| 五月丁香激情婷婷综合| 深爱激情五月天婷婷网| 婷婷五月天a| 韩国情人在线电视剧免费观看高清版全集| 久久婷婷视频| 激情图片亚洲| 99极品视频| 性爱AV天堂| 日韩综合久久| 丁香五月天激情婷婷丁香六月 | 激情五月婷婷综合秋霞| 色综合久久久无码中文字幕999| 九九在线精点品| 99操久久| 婷婷五月天成人网| 亚洲国产精品SUV| www.夜夜| 亚洲欧洲中文日韩久久AV乱码 | 亚洲精品久久久久久久久久吃药| 久久AV电影| 国产精品色色色色| 亚洲成人婷婷| 大香蕉婷婷色| 99在线免费观看| 天天天天干| 日日干日日| 婷婷99狠狠躁天天躁| 99热在线观看精品| 久久综合久色欧美综合狠狠| 五月婷婷综合天天操| 操操综合网婷婷| 色婷婷激情五月天丁香| 色婷婷影| 激情深爱综合| 另类激情五月天| 播四月婷婷六月丁香| 五月婷婷六月丁香激情| www.色99| www.91av.com| 日本一级特黄大片AAAAA级| 婷婷五月AV| 久热精品视频在线观| 在线va网站| 色五月天天| 久久久久久丁香五月| 五月丁香婷婷开心| 九九热在线观看视频| 嫩BBB搡BBBB榛BBBB| 狠狠干最新地址| 99超级超级超级碰| 人妻性爱av网站| 色情五月天se| 婷婷五月综合啪| 欧美精品999| 99在线精品免费视频| 黄色AAAA韩国guochansanji| 久久五月激情| 99热这里只有是亚洲国产| h在线看免费版在线看| 色综合网址| 做爰丰满少妇1313| 久久色五月| 色色色色色色色综合| 3www激情| 激情AV| 任你搞免费视频观看| 久综合九| 色色色色色爱| 99视频精品| 99欧美三级视频| 国产激情综合五月久久| 婷婷五月丁香综合激情| 亚洲精品白浆高清久久久久久| 大香伊人婷婷| 六月丁香五月激情网| 夜夜躁婷婷AV| 久草视频大香蕉99| 五月丁香婷婷啪啪综合网| 国产91视频| 碰碰碰97国产| 丁香五月婷婷综合视频| AV在线资源| 久操乱| 可以免费观看的av网址| 婷婷情色五月天| 中国丰满熟女A片免费观| 91日日日| 97热这里只有精品| 91熟妇大香蕉| 欧美激情综合色综合色| 国产午夜成人免费看片无遮挡| www.婷婷,com| www.夜夜操.com| 激情综合网激情五月婷婷| 激情婷婷色色| 婷婷五月亚洲综合| 日韩成人电影在线播放| 极品另类| 99久re热| 久久92| 久草五月丁香婷婷综合| 人人人va亚洲视频在线| 九九婷| 激情五月黄色小说| 色播播五月天| 久久九九怡红院| 丁香婷婷色色| www.色9| 99热这里只有精品5| 综合狠久久| 丁香五月日啪| 国产精品久久久爽爽爽麻豆色哟哟| 久热这里只精品| 激情五月天色色网| www.狠狠| 人妻久久久久久| 日本色噜| 丰满少妇乱A片无码| 干亚洲天堂| 女人天堂AV| 就是色婷婷五月亚洲色| 日本高清久久| 久久五月婷婷开心网| www.婷婷| 色五月首页| 国内自拍1区| 五月丁香六月婷婷综合网缴情| 美女久久天堂| 99噜噜| 精品久久久999| 97干欧美| 成人久久天天x资源站| 欧美人与性动交CCOO| 亚洲综合丁香婷婷六月天| 国产真人做爰视频免费| 久久婷婷五月天激情唯美| 婷婷不卡基地| 变态另类9| 色色综合网站| 成人免费黄色短视频| 天天爽天天透天天爱| 伊人久久婷婷五月综合97色| 亚洲国产99| 成人版视频在线观看| 婷婷99狠狠躁天天| 五月天开心色情网| 六月综合婷婷开心伊人| 色五月综合网| 可以免费看的av网站| 一级七香蕉| 97碰碰视频在线观看免费| 久婷婷| 色99色| 色五狠狠| 九九热这里只有精品7| 无码99| 婷婷五月天男人影院色色网| 色琪琪一综合久久激情五月视频| 大地9中文在线观看免费高清| 狠狠狠五月婷婷六月丁香| 六月丁香啪| 五月婷婷中文| 香蕉AV777XXX色综合一区| 国产avapp 网| 婷婷五月丁香四射| 色播五月网| 99热精地址| 激情伊人| 97丁香视频| 99精品久久| 久久免费视频62| 色色五月丁香婷婷| 亚洲电影中文字幕| 99热一区| 亚洲视频在线网| 大香蕉五月天婷婷| 思思热久热| 996er在线观看| 丁香五月综合激情久久潮喷| 国产人妻777人伦精品HD| 色婷婷小说网| 亚洲激情免费视频| 色噜噜,噜噜色| 91综合在线视频| 精品一二三区久久AAA片| 欧美色婷婷| 丁香五月综合图片在线观看| 99欧美| 色婷婷丁香社综合| 开心色色五月天综合| 精品婷婷| 五月丁香色综合| www开心激情网| 五月丁香久人妻中文| 婷婷色五月天色| 欧美三级巜人妻互换| 97操操操| 精品成人久久久久久久_一二三四视| 欧美激情凹凸丁香网| 婷婷欧美综合| 五月天综合视频网| 六月综合在线| 区区欧美你爱| 亚洲人妻一区二区 | 久青青久| 激情五月激情综合俺也去婷婷小说| 亚洲九九婷婷| AV在线收看| 日本三级99人妇网站| www99热| 久综合网| 99热.com| 亚洲五月天婷婷| 日韩久热| 狠狠综合| 综合激情婷婷| 欧美成人AAA片一区国产精品| 思思热精品在线| 人人操97| 色播五月婷婷| 思思热这里只有精品| av在线免费播放| 9月色婷婷| 射久久丁香五月| 精品久久99码| 久99久99精品免| 免费亚洲婷婷| 熟女网站久久| 99热网站| 粉嫩AV久久一区二区三区| 99热精品在线| 欧美精品在线观看| 天啪天啪天啪天啪| 91一道本| 国产成人+综合亚洲+天堂| 激情四射网| 99久久99九九99九九九| 激情五月丁香色婷婷| WWW.桔色成人.COM入口| 久狠日av| 色噜噜五月天| 丁香五月婷婷基地| www婷婷色| 就爱日五月天| 五月天婷婷綜合院| 五月丁香怕啪啪| 综合激情五月丁香| av色色国产| 久久在线大香蕉| 成人AV免费观看| www.五月天婷婷| AA片在线观看视频在线播放| 9热在线视频| 中文字幕,综合,91| 亚洲激情高潮| 桃色五月天| 五月丁香| 欧美A片在线视频免费观看| 91热手机在线| 亚洲丁香五月综合| 5月婷婷激情在线| 五月开心久久| 丁香五月日啪| 99热这里有精品| 亚洲免费婷婷| www.久久色.com| 婷婷五月天激情小说| 色插综合网| 五月丁香中文| 粉嫩AV久久一区二区三区| 久久综合五月情| 久久久久久9| 狠狠色丁香婷婷基地| 色五婷婷开心缴| 五月婷婷色五月| 影音先锋AV资源男人站| 99re66热这里只有精品| 婷婷五点亚洲| 亚洲亚洲人成综合网络| 丝袜激情网| 色色网站免费观看| 九九色综合九九色| 色综合狠狠色| 亚洲五月综合色播| 99爱视频在线| 狠狠爱婷婷丁香| 97色伦另类图片小说视频 | 五月丁香色综合| 五月激情婷婷四射| 六月五月久久丁香| 色婷婷五月在线| 韩日AV片| 这里只有精品视频看看| 久久久久久人妻| 吾爱AV导航| 丁香婷婷人妻综合网| 色五月五月婷婷| 67久久| 99这里精品| 日韩成人网址| 五月天开心色情网| 99爱视频| 99热在线爱| 日本成人噜噜噜噜噜| 婷婷金品综合视频| 欧美啪啪9| 激情五月天开心总和网| 成人AV播放| 五月天无码视屏播放| 99热e| 五月婷婷六月丁香玖玖玫瑰91| 丁香六月成人网| 成人av免费观看| 九色视频91疯狂| 五月天综合在线| 伊人在线大香蕉网| 亚洲性爱区无码区| 亚洲狠9| 5月婷婷激情6月| 欧美成人精品A片免费一区99| 九九九热精品| 亚洲激情四射| 久草五月| 五月婷婷六月丁香| CHINESE熟女老女人HD视频| 激情婷婷五月久久| 五月婷婷六月激情| 婷婷六月色丁香视频在线观看| 婷婷色综合| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 伊人网啪啪| 婷婷在线激情| 亚洲无aV在线中文字幕| 五月丁香影院| 久久婷婷内射| 丁香五月婷婷在线| 五月婷婷色播视频| 亚洲精品一区无码A片| www.99热最新视频8| 丁香五月天堂网| 99热啪啪| 99人人操人人摸| 九色在线五月婷婷网址| 天堂草在线观看| 狠狠色噜噜狠狠亚洲A∨| 五月天激情国产综合婷婷| 久久精品五月| 超碰人人色| 天天婷婷综合| 国产精品久久久久9999小说 | 丁香狠狠色婷婷久久无码视频| 天堂网色婷婷| 成人亚洲精品| 99视频久久免费视频| 无码少妇高潮喷水A片免费| 天天草天天日| 性热视频99精品| 91操熟女| 激情综合网亚洲色图| av五月丁香婷婷网| 婷婷香五月天| 六月天丁婷婷| 99ri久久| 五月婷婷操操| 色情久久久| 91精品电影18T| 9九九久久精品无码专区| 五月婷婷六月情| 天天日天天添| 婷婷婷五月香蕉| 亚洲av网站| 五月婷婷久久激情 | 激情五月综合网最新| 婷婷五月天播| 97超碰欧美中文字幕| 26uuu欧美日本| 嫩BBB槡BBBB搡BBBB视频| 综合 蜜月 婷婷| 在线综合网| 久久视频这里99| 亚洲av免费在线| 婷婷色色综合| 欧美内射AA| 五月丁香婷婷激情澎湃四射| 丁香五月婷婷久久综合激情网| 久久大大香| 成人网址在线观看| 亭亭五月色男人| www.婷婷网| 五月天婷婷亚洲| 免费视频WWW在线观看网站| 第五色婷婷| 婷婷五月激情基地| 天天久综合网永久入口17v| 婷婷91视频| 日韩另类| 久久中国毛毛片爱久久| 国产精品人人做人人爽人人添| 大香蕉久久婷婷精品综合| 婷婷丁香午夜综合影视| 久久曰曰| aa久久| 日日噜噜久久婷婷五月天| 天天综合网站| 超碰免费在线| 狠狠爱婷婷| 激情五月天小说| 婷婷五月天激情小说网站| 婷婷操逼| 91色综合| 久久女人天堂| 91人人超碰在线| 97偷拍在线视频| 成人草榴视频| 青草视频在线观看视频| 亚洲激情久久| 日日.c| 色综合久久44| 伊人久久大香线蕉av最新| 激情五月色播五月| 丁香六月婷婷色XXXXX| 婷婷激情网五月天| 少妇久久诱惑视频| 午夜性爱影视一区77| 久久五月天婷婷视频| 久久HD| 色狠狠综合网| 狠狠爱综合| 九九亚洲综合| 九九九色综合| 色9999日韩国产| 天天综合五月| 超碰免费成人| 97婷婷色| 午夜美女人啪最红院| 丁香六月 婷婷六月| 五月丁香六月色婷婷综合五月天| 五月婷婷在线短视频| 天天爽爽日日做做| 99区视频| 91大屁股| 九九热在线视频观看| 丁香五月婷老师| nvrentiantang av| 99riAv1国产在线观看| 五月丁香无码| 久热免费视频| www。久久久久一b。Cc| 丁香五月激情五月| 精品爆操| 看婷婷五月天网| 婷婷区日本| 99惹精品视频| 日日操天天操| 日韩色色视频| 久久久久久久久久久久久9| 大操人妻| 色娸娸综合网| 99爱免费在线观看| 欧美狠狠地| 色噜噜狠狠色综无码久久合欧美 | 久久人妻视频| 亚洲超碰中文字幕| 99超碰在线观看| 无码激情| www,婷婷五月天777me,com| 天天干天天操| 色婷婷电影网| 97爱艹婷婷开心丁香激情综合| 精品一区二区三区三区| 人人爱操| 五月婷婷久草在线视频综合| 夜夜资源站| 亚洲精品字幕在线观看| 亚洲婷婷综合视频| 狠狠搞五月天| 欧美色爱五月天| 99热这里只有精品16| 亚洲激情四射色| 五月停停999| 天天做天天要天天爽| 久久久噜噜噜久久人妻| 九九热在线视频| 综合九九中文字幕| 婷婷丁香五月激情图片| 涩综合网| 色天使久久综合| 色婷婷电影网| 色五月婷婷丁香五月| 天天操天天操天天操天天操天天操 | 欧美丁香五月夫妻天| 亚洲妇女熟BBW| 日韩精品超碰在线观看| 这里只有免费的精品| 五月丁香婷婷久久| 色色色色色日韩午夜激情 | 狠狠色大香蕉| 色婷婷丁香中文在线播放| 九九九九国产| 国产婷婷久久| 五月天激情小说婷婷基地| 天天操无码| 91传媒无码人妻精| 中文aV网| 亚洲五月婷| 女操碰| 欧美激情综合五月色丁香| 大地9中文在线观看免费高清| 五月天婷婷免费| 91色情播放| 欧美三级巜人妻互换| 色在线99| 99天堂网最新| 色五月婷婷婷婷| 狠狠干狠狠干| 国产精品久久久99视频| 激情婷婷五月| 色婷婷色情| 色色色色色网| 天天综合网色欲香| 五月丁香花开综合网| 99热9| 狠狠色婷婷777| 中文字幕综合| 日韩黄色电影| 美女天天爽| 激情五月婷婷色色| 26uuu欧美宗合| 成人AV片播放| 婷婷六月五月天综合| 激情人妻蜜夜系列区| 婷婷色系婷色| 国产美女无遮挡裸体毛片A片| 激情五月天婷婷激情| 欧美在线视频99| 亚洲综合网 665566| 超碰人人91| 九热久| 五月婷婷亚洲| 97人人操人人干| 久久婷婷五月天| 99精品久久| 五月天色丁香| 久久99热免费| 日韩综合成人| 天天撸天天干天天插| 色色综合网。| 亚洲国产99| 男人的天堂五月丁香| 成人版视频在线观看| 九热精品| 色色热| 天色综合网站| 欧美日韩一区二区三区四区| 天天五月天综合网址| 91 原创 在线 九色| 亚洲天堂啪啪| a色色片| 第四色在线观看| 国产精品久久久丁香五月八戒视频| 九九99精品视品| 五月丁香婷婷六月| w婷婷五月婷婷w| 久久免片| 三级大香蕉网| 色色婷婷丁香五月天| 婷婷综合色色| 天天免费成年人视频| www.99riav99| 婷婷激情六月综合| 一夜福利不卡| 丁香五月伊人| www色五月| 婷婷五月天另类视频| 伊大人久久| 成人精品人妻| 婷婷深爱五月天在线| 中文字幕av久久爽| 色婷婷视频| 丁香五月综合在线播放 | 91精品无码久久久久久五月天| 色播五月网| 五月婷婷丁香综合| 四虎成人精品永久免费AV九九| 国产67194| 五月丁香六月婷综合成人综合| www.久久久久久| 色婷婷小说| 久久六月天| 99热只有精品在线播放| 超碰自拍天堂| 99精品无码| 777色色色| 婷婷97狠狠干| 婷婷五月,偷窥偷拍网| www.久久| 激情亚洲婷婷| 久久久久人无码人妻| 九九热视频99| 五月天激情亚洲| www.夜夜操.com| 毛片色五月| 久久五月六月| 五月丁香婷婷成人版| 香蕉AV777XXX色综合一区| 播五月开心婷婷欧美综合| 六月色婷婷欧美| 久久五月天视频| 久久婷婷免费| 五月天综合网| 97人人做| 亚洲色网络| 色天天综合色| 五月婷成人| 五月丁香综合成人社区| 久爱综合| 99色综合| 91干| 99热综合| 婷婷六月情| 米奇激情婷婷| 思思99热热热99| WWW,五月| 九色PORNY在线精品酒店| 一级操逼大片| 天天综合网站| 五月婷婷六月丁香在线| www,com,五月色色| 思思re99视频在线观看| 精品成人无码A片观看香草视频| 丁香五月香蕉在线| 久久多色| 97久人人| 色爱99| 热久69| www.色情五月天.com| 丁香五月婷婷图片综合| 夜夜爽77777妓女免费下载 | 人妻22p| 久久伦乱| 91啪啪网| 色婷婷综合综合网| 91视频久久久| 九九精品99久久久| 停停六月 综合| 99视频在线看| 色99欧洲色19| 国产高潮白浆一区二区| 欧美日本不卡黄色片| 桃色五月婷婷| 久9久视频精品| 99久久婷婷国产综合精品电影| 亚洲深喉AV| 天天日天天肏天天奸| 99久久人妻精品无码二区| 人妻内射一区二区在线视频| 丁香五月香蕉在线| 激情综合五月婷| 色色色色色热| 婷婷激情五月天激情在线| 激情文学天天| 欧洲日韩一区二区三区| 久久婷婷五月综合激情国产| AⅤ色区| 五月丁香色狠狠干大屄| 99视频热| 国产激情综合五月久久| 丁香五月婷婷大香蕉| www.五月天色色.com| 丁香婷婷网| 久久99综合| 成人做爰黄A片免费看直播室男男| 三级av在线| 97操碰日本女人| 狠狠色丁香久久婷婷综合五月| 色五月婷婷操逼| 精品五月视频婷婷在线观看| 月婷婷亚洲| 五月婷婷福利| 能看的AV| 五月激情小说| 五月四色激情| 久热69| 色噜噜狠狠色综合AV兰草影视| a69在线视频| 激情网婷婷婷| 久久作爱| 97在线观视频免费观看| 免费观看日韩成人av| 久久五月天视频| 久久亚洲婷婷综合色五月| 精品少妇蜜臀91| 日韩在线一级| 色色色综合网| 六月丁香开心婷婷欧美| 91碰视频| 在线A色| 欧美天堂久久| 性一交一乱一交A片久| 国产人人操| 欧亚洲在线高清视频| 激情五月天小说视频| 天天搞天天色综合| 国产暴力强伦轩1区二区小说 | 99在线69| 日韩精品无码99| 黄网免费观看| 五月丁香花成人社区| 操人久久| 五月丁香婷婷伊人| 99视频自拍| 色一色综合| 色丁香五月婷婷| 五月婷婷丁香狠狠撸久久| 伦乱天堂| 嫩草视频| 丁香婷婷人妻综合网| 五月婷婷激情日本| 北条麻妃九九九国产精品视频| 亚洲性视频| 色色色色色色色色色999| 中文AV在线播放| 99热在线极品极品| 五月丁香在线视频观看| 第四色五月天| 极品人妻VIDEOSSS人妻| 97色婷婷五月天| 深夜激情网| 五月婷久久| 五月天色色无码| 人人综合久| av性爱在线| 久久久久久久人妻| 久久久香| 亚洲综合激情五月久久| 99年操人人爽| 婷婷五月天激情文学小说| 超碰人人99| 久9热在线免费观看| 五月熟妇婷婷久久| AV中文在线| 亚洲五月激情| 日本色色色| 4399啪啪视频| 99热精品少| 婷婷五月激情五月激情| 91视频人人做97| 开心五月深爱婷婷| 七七婷婷综合| 五月丁香999| 久久久久9| 丁香婷婷基地| 色五月超碰| www五月天com| 99这里只有精品|v| 男人的天堂99| 色色综合视频| 伊人九热| 人人做天天爱| 五月婷性爱| 永久地址 色| 两性婷婷丁香五月| 怡红院精品视频久久久久久久久| 极品少妇XXXX精品少妇偷拍| 五月色婷婷亚洲| 99性爱视频| 久久精品爱爱| 九热视频| 婷婷六月色丁香视频在线观看| 五月香婷婷| 五月天婷亚洲天综合网综合| 五月丁香色综合| 国产色丁香| 久久婷婷五月综合| 丁香婷婷激情五月色| 国产亚洲精品久久久久久豆腐| 激情五月图| 深爱激情五月天| 五月丁香激情综合六月涩涩爱| 欧美色综合天天久久综合精品| 丁香五月婷婷六月婷| 五月色丁香婷婷中文字幕| 男女啪啪做爰高潮无遮挡| 丁香五月天精品| 丁香花大香蕉婷婷综合| 人人草人人视| 狠狠色丁香久久婷婷综合五月| 99re这里只有| 九九99精品视频| 五月丁香婷婷成人网| 永久思思热在线| 欧美性猛交AAAA片黑人 | 99久久思思| 久久久色情| 96精品久久久久久久久| 丁香婷婷人妻| 色狠狠色噜噜AV天堂五区| 影音先锋人妻出差| 亚洲Av成人在线观看| 99热这里只有精品1025| 亚洲精品网站色视频| 99国产精品久久久久久久久久久| 欧美婷婷五月| 婷婷激情人妻| 亚洲色综合| 五月婷婷啪啪网| 日韩AV在线免费观看| 99这里只有精| 综合久久五月| 激情婷婷五月| 色停停五月,在线观看| 色99在线观看| 无码人妻精品一区二区蜜桃色欲| 国内精品玖玖| 九九婷婷综合| AA片在线观看视频在线播放| 久久婷婷六月综合综合色| 久久激情网| a免费在线| 激情五月天色网站| 五月天婷婷久久综合| 欧美色偷拍| 99无码| 色偷偷色婷婷| 激情网五夜婷婷| 人操人| 色婷久久| jiZZdr| 五月色婷婷影视在线电影| 色很久综合| 欧洲色色| 五月婷婷六月丁香| 婷婷激情蜜桃玖玖丁香| 超碰93在线观看| 一起草AV入口| 九九五月天| 79色色色色| 色色99色色| 丁香久月婷| 操操操97| 丁香色婷婷五月天| 俺也去在线视频| 开心久久xxx色| 啪啪操超碰| 丁香五月天影院| 在线综合网| 天天色噜| 亚洲久久婷婷| 久久婷婷五月国产色综合激情| 海外网站专业操老外| 9精品久久999| 日日干天天爽| 欧美色色色色色色色色色色| 五月婷婷激清网| 五月丁香色婷婷伊人| 噜噜色五月| 大香蕉视频婷婷| 精品人妻伦九区久久AAA片| 欧美久久婷婷| 欧美性色视频| 开心五月深爱五月丁香五月激情五月 | 久草xx性爱视频| 精品一区二区三区四区五区六区介绍 | 色五月婷婷青娱乐| 五月丁香婷婷欧美色图视频五月丁香777电影| 五月婷婷啪啪| 97热在线精品| 俺去也五月| 五月婷婷丁香在线视频| 色色色视频| 第四色婷婷日本| 任你爽免费视频| 九九九九九九毛片| 奇米四色五月天| 婷色天堂| 亚洲视频在线观看| 能看的av| 五月丁香六月婷婷网| 97干欧美| 99精品国产在热久久婷婷| 六月合五月婷| 亚洲精品激情| 天天色激情| 婷婷五月天日本无码| 国产精品久久久60086| 伊人丁香五月| 婷婷丁香人妻| 一根材五月婷成人| 六月婷婷五月丁香首页| 99色在线视频观看| 丁香五月亚洲激情婷婷射| 九色PORNY9l原创自拍| 五月丁香婷婷色| 激情五月综合网最新| 精品人人操| 丁香六月开心| 色婷婷内射| 亚洲色情一区二区三区四区| 激情五月丁香在线观看直播| 无码人妻一区二区三区四区| 情五月亚洲婷婷| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 色五月播五月| 婷婷五月天伊人| 欧美成人一区二区三区在线视频| 99精品偷自拍| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 五月婷婷大香蕉| 狠狠爱综合| 免费观看全黄做爰的视频| 青青久在线视频免费观看| 五月天色色无码| 99久热视频在线| 激情五月婷婷她| 久碰婷婷视频| 99热只有精品综合| 色亚洲视频| 婷婷丁香五月,狠狠综合| 婷婷丁香熟女| 婷五月丁香俺| 五月婷婷五月天天| 五月丁香龟婷婷| 综合XX网| 丁香五月电影| 国产精品美女久久久久AV超清 | 日本天天色| 精品热九九| 婷婷五月色惰| 精品五月视频婷婷在线观看| 成年AAAA色情| 日本熟女一区二区| 99热成人精品网站| 成人精品在线观看| 免费看成人AA片无码视频吃奶| www...com黄在线观看| 日本精品干| 丁香五月 综合| 99国产这里只有精品| 色伊人婷婷| 国产精品天天狠天天看| 日本一区二区三区精品视频| 人妻久热| renrencaoav| 天天人人人人人人人人人人人| 婷婷丁香十月| 日韩国产AV播放| 九月丁香亭亭| 婷婷五月婷婷五月| 欧美熟女99| 99婷五月| 久久婷婷成人| 六月狠狠综合| 色色色色色色色色综合网| 99久久婷婷国产综合精品电影| 国产免费一区二区三州老师F1F1| 天天草婷婷五月| 婷婷色操| 玩熟女五十AV一二三区| 欧美三级欧美一级| www色五月天| 夜夜爱网站| 青青草Avb在线| 狠狠操天天操天天操| 991精品在线视频| AV成人在线网站| www久久99| 成人丁香婷婷| 99精品国产在热久久| 91丨九色丨熟女丰满| 狠狠狠狠狠草| 国产亚洲色婷婷久久99精品91| 中文字幕婷婷在线| 青青五月天婷婷| 亚洲成人免费电影| 91日综合欧美| 26uuu欧美亚洲日韩| 婷婷伊人綜合中文字幕小说| 丁香五月婷婷www..com| 五月人人丁香婷婷五月人人丁香 | 国产FREESEXVIDEOS性中国| 黄色激情久久| 欧美成人网99网| 欧美性猛交99久久久久99按摩| AV操逼网| 五月丁香激情综合久久| 黄色片久久| 色五月婷婷五月丁香五月激情五月视频| 婷婷五月av| 99ri网站在线观看| 色婷婷丁香五月天在线视频| www.婷婷五月| 六月丁香婷婷色狠狠久久| www.开心激情| 色色色激情网| 天天综合图片| 91久操| 久久曰曰| 人妻AV在线观看| 亚洲AV无码一区二| 夜夜躁爽日| 操97在线观看| 亚洲精品色色色| 国产69精品久久久久999小说| 婷婷丁香五月av| 婷婷伊人网| 五月色网| 色五月综合激情| 久天综合| 综合色色婷婷| 91在线日| 97干视频| 91综合国免费久入| 成人av中文字幕| 久久婷婷婷| 在线成人网址| 91九色丨国产丨爆乳| 999激情视频| 欧美色99| 久热伊人| 婷婷月五天在线在线看| 久久久噜噜噜久久人妻| 色婷婷影院| 超碰在线成人| 天天网站天天爽| 日本视频不卡123区| 色婷婷六月精品| 高清a片基地| 操操操Av|