久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

RuoYi-Vue-Plus 集成 AgentScope Harness:純 Java 實(shí)現(xiàn) AI 編排引擎

RuoYi-Vue-Plus 集成 AgentScope Harness:純 Java 實(shí)現(xiàn) AI 編排引擎 1. 為什么要在 RuoYi-Vue-Plus 里塞進(jìn)一個(gè) AI 編排引擎RuoYi-Vue-Plus 這套腳手架在國(guó)內(nèi)中小型管理系統(tǒng)開(kāi)發(fā)里出鏡率極高權(quán)限、數(shù)據(jù)權(quán)限、多租戶、代碼生成、工作流這些企業(yè)級(jí)能力基本開(kāi)箱即用很多團(tuán)隊(duì)拿它當(dāng)后臺(tái)底座來(lái)搭業(yè)務(wù)系統(tǒng)。但這兩年有個(gè)明顯變化業(yè)務(wù)方開(kāi)始不滿足于表單列表審批這套老三樣越來(lái)越多的需求變成能不能讓系統(tǒng)自己判斷一下能不能根據(jù)這段描述自動(dòng)生成工單能不能把這幾份文檔自動(dòng)歸類。說(shuō)白了就是要在傳統(tǒng) CRUD 系統(tǒng)里長(zhǎng)出一點(diǎn)智能。問(wèn)題在于絕大多數(shù) RuoYi 系項(xiàng)目是純 Java 技術(shù)棧團(tuán)隊(duì)里沒(méi)人愿意為了一個(gè) AI 功能再單獨(dú)維護(hù)一套 Python 服務(wù)跨語(yǔ)言調(diào)用、部署、監(jiān)控、鑒權(quán)全是額外成本。這時(shí)候把 AI 編排能力直接以 Java 庫(kù)的形式嵌進(jìn)現(xiàn)有工程就成了最省事的路子。AgentScope 的 Harness 模塊正好提供了這樣一套 Java 側(cè)的 Agent 編排能力它把模型調(diào)用、工具注冊(cè)、多輪對(duì)話、執(zhí)行循環(huán)這些原本散落在各處的邏輯收斂成一個(gè)可編程的運(yùn)行時(shí)。這篇內(nèi)容面向的是已經(jīng)熟悉 RuoYi-Vue-Plus 基本結(jié)構(gòu)、想在不引入第二套語(yǔ)言棧的前提下接入 AI 能力的后端開(kāi)發(fā)者。我會(huì)把整個(gè)集成過(guò)程拆開(kāi)講從依賴怎么引、模塊怎么放到 Agent 怎么注冊(cè)、工具怎么暴露、會(huì)話怎么和系統(tǒng)用戶綁定再到實(shí)際跑起來(lái)之后那些文檔里不會(huì)寫(xiě)的坑。核心關(guān)鍵詞就三個(gè)AgentScope Harness 集成、純 Java AI 平臺(tái)、RuoYi-Vue-Plus 擴(kuò)展。讀完你應(yīng)該能自己動(dòng)手把一套可用的 AI 編排能力掛到現(xiàn)有后臺(tái)里而不是停留在知道有這么個(gè)東西。2. 集成前的架構(gòu)判斷Harness 到底該放在哪一層2.1 RuoYi-Vue-Plus 的模塊劃分與 AI 能力的歸屬RuoYi-Vue-Plus 默認(rèn)是多模塊 Maven 結(jié)構(gòu)常見(jiàn)的是ruoyi-admin啟動(dòng)入口、ruoyi-system系統(tǒng)業(yè)務(wù)、ruoyi-common通用工具、ruoyi-framework框架配置這幾塊。AI 編排能力放哪里直接決定了后面依賴會(huì)不會(huì)打架、循環(huán)依賴會(huì)不會(huì)出現(xiàn)。我的建議是單獨(dú)開(kāi)一個(gè)ruoyi-ai模塊而不是塞進(jìn)ruoyi-system或者ruoyi-common。理由很實(shí)際Harness 會(huì)引入自己的 HTTP 客戶端、JSON 處理、可能的日志門面這些和ruoyi-common里已有的工具類存在版本沖突風(fēng)險(xiǎn)。單獨(dú)成模塊依賴隔離干凈ruoyi-admin只依賴ruoyi-ai的接口層業(yè)務(wù)模塊通過(guò)接口調(diào)用不會(huì)把 AI 的傳遞依賴污染到整個(gè)工程。具體依賴方向是這樣的ruoyi-ai依賴ruoyi-common復(fù)用它的統(tǒng)一返回、異常、工具類ruoyi-system按需依賴ruoyi-airuoyi-admin負(fù)責(zé)把ruoyi-ai的 Bean 掃描進(jìn)來(lái)。這樣 AI 模塊既能用上框架的通用能力又不會(huì)反向被業(yè)務(wù)模塊依賴保持單向。2.2 為什么不做成獨(dú)立微服務(wù)有人會(huì)問(wèn)既然 AI 調(diào)用可能耗時(shí)、可能不穩(wěn)定為什么不干脆拆成獨(dú)立服務(wù)我的實(shí)測(cè)結(jié)論是在中小規(guī)模場(chǎng)景下獨(dú)立服務(wù)的運(yùn)維成本遠(yuǎn)大于它帶來(lái)的隔離收益。拆出去意味著你要多維護(hù)一套注冊(cè)發(fā)現(xiàn)、多一套鑒權(quán)透?jìng)鳌⒍嘁惶祖溌纷粉櫠?AI 調(diào)用本身在 RuoYi 這種后臺(tái)系統(tǒng)里往往是低頻、非核心路徑的操作比如生成一段摘要、做一次分類完全可以用線程池 異步任務(wù)的方式在單體里消化掉。真正需要拆服務(wù)的臨界點(diǎn)是當(dāng) AI 調(diào)用變成高頻核心鏈路或者需要獨(dú)立擴(kuò)縮容的時(shí)候。在那之前單體里嵌一個(gè)模塊部署簡(jiǎn)單、調(diào)試方便、事務(wù)和權(quán)限都能復(fù)用現(xiàn)成的這才是純 Java AI 平臺(tái)這個(gè)思路的價(jià)值所在。2.3 Harness 在運(yùn)行時(shí)的角色定位把 Harness 理解成一個(gè)Agent 運(yùn)行時(shí)容器比較準(zhǔn)確。它本身不負(fù)責(zé)具體業(yè)務(wù)而是提供Agent 的生命周期管理、消息在 Agent 之間的流轉(zhuǎn)、工具的注冊(cè)與調(diào)用分發(fā)、以及一輪對(duì)話的執(zhí)行循環(huán)。你在 RuoYi 里要做的事情本質(zhì)上是把系統(tǒng)的業(yè)務(wù)能力包裝成 Harness 能識(shí)別的工具再把 Harness 的執(zhí)行結(jié)果接回系統(tǒng)的業(yè)務(wù)流。這個(gè)定位決定了集成的兩個(gè)關(guān)鍵接口一個(gè)是工具注冊(cè)把 RuoYi 的 Service 方法暴露給 Agent另一個(gè)是會(huì)話管理把 Harness 的會(huì)話和 RuoYi 的登錄用戶、租戶綁定起來(lái)。這兩塊做扎實(shí)了剩下的就是配置和調(diào)優(yōu)。3. 依賴引入與模塊骨架搭建的實(shí)操細(xì)節(jié)3.1 Maven 依賴的引入方式與版本對(duì)齊Harness 作為 Java 庫(kù)通常以 Maven 坐標(biāo)形式提供。在ruoyi-ai模塊的pom.xml里引入時(shí)第一件要確認(rèn)的事是它依賴的 JSON 庫(kù)和 HTTP 客戶端版本。RuoYi-Vue-Plus 較新版本用的是 Jackson 或者 Hutool 的 JSON 工具如果 Harness 內(nèi)部用的是別的 JSON 實(shí)現(xiàn)就可能在序列化時(shí)出現(xiàn)字段丟失、日期格式不一致這類隱蔽問(wèn)題。我的做法是在ruoyi-ai的pom.xml里顯式聲明 Harness 依賴然后用mvn dependency:tree把整棵依賴樹(shù)打出來(lái)重點(diǎn)看三類包JSON 處理、HTTP 客戶端、日志門面。如果發(fā)現(xiàn)和父工程已有版本沖突用exclusions把 Harness 傳遞進(jìn)來(lái)的舊版本排掉統(tǒng)一走父工程的版本管理。這一步看著瑣碎但不做的話后面會(huì)出現(xiàn)本地跑得好好的打包上線就報(bào) NoSuchMethodError這種經(jīng)典問(wèn)題。dependency groupIdcom.example.agentscope/groupId artifactIdharness-core/artifactId version${harness.version}/version exclusions exclusion groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId /exclusion /exclusions /dependency提示版本號(hào)統(tǒng)一放到父工程的properties里管理別在子模塊里寫(xiě)死否則多模塊升級(jí)時(shí)會(huì)漏改。3.2 模塊目錄結(jié)構(gòu)與包命名約定ruoyi-ai模塊內(nèi)部我習(xí)慣按職責(zé)分四個(gè)包c(diǎn)onfig自動(dòng)配置和 Bean 聲明、agentAgent 定義與注冊(cè)、tool業(yè)務(wù)工具封裝、service對(duì)外暴露的服務(wù)接口。這樣分的好處是當(dāng)你要排查某個(gè)工具為什么沒(méi)被 Agent 調(diào)用到時(shí)直接去tool包看注冊(cè)邏輯不用在幾百個(gè)類里翻。包名沿用 RuoYi 的約定比如com.ruoyi.ai.config、com.ruoyi.ai.agent這樣和框架其他模塊風(fēng)格一致團(tuán)隊(duì)新人接手時(shí)不會(huì)有認(rèn)知負(fù)擔(dān)。配置類上用Configuration加ConditionalOnProperty讓 AI 能力可以通過(guò)配置開(kāi)關(guān)控制是否啟用——這點(diǎn)很重要因?yàn)椴皇敲總€(gè)部署環(huán)境都需要 AI 功能能關(guān)掉就意味著出問(wèn)題時(shí)可以快速降級(jí)。3.3 自動(dòng)配置類的編寫(xiě)要點(diǎn)自動(dòng)配置類是整個(gè)模塊的入口它要做三件事初始化 Harness 運(yùn)行時(shí)、注冊(cè)工具、暴露服務(wù) Bean。初始化運(yùn)行時(shí)的時(shí)候模型相關(guān)的配置比如接口地址、密鑰、超時(shí)時(shí)間應(yīng)該從 RuoYi 的配置體系里讀而不是硬編碼。Configuration ConditionalOnProperty(prefix ruoyi.ai, name enabled, havingValue true) public class AiAutoConfiguration { Bean ConditionalOnMissingBean public HarnessRuntime harnessRuntime(AiProperties properties) { HarnessConfig config HarnessConfig.builder() .endpoint(properties.getEndpoint()) .apiKey(properties.getApiKey()) .connectTimeout(properties.getConnectTimeout()) .readTimeout(properties.getReadTimeout()) .build(); return HarnessRuntime.create(config); } }這里有個(gè)細(xì)節(jié)ConditionalOnMissingBean要加上方便測(cè)試時(shí)用 Mock 替換真實(shí)運(yùn)行時(shí)。超時(shí)時(shí)間一定要顯式配置Harness 默認(rèn)的超時(shí)往往偏長(zhǎng)在 Web 請(qǐng)求線程里同步調(diào)用會(huì)拖垮整個(gè)接口響應(yīng)后面第 6 節(jié)會(huì)專門講這個(gè)。4. 把 RuoYi 的業(yè)務(wù)能力包裝成 Agent 可調(diào)用的工具4.1 工具注冊(cè)的核心機(jī)制Harness 調(diào)用業(yè)務(wù)能力的方式是工具調(diào)用——Agent 在推理過(guò)程中決定要調(diào)用哪個(gè)工具、傳什么參數(shù)Harness 負(fù)責(zé)把調(diào)用分發(fā)到對(duì)應(yīng)的實(shí)現(xiàn)上。所以集成的核心工作就是把 RuoYi 的 Service 方法包裝成工具。工具注冊(cè)一般有兩種模式注解掃描和手動(dòng)注冊(cè)。注解掃描寫(xiě)起來(lái)簡(jiǎn)潔在方法上加個(gè)AgentTool之類的注解啟動(dòng)時(shí)自動(dòng)收集手動(dòng)注冊(cè)則是在配置類里一個(gè)個(gè)register。我傾向于混合使用通用的、穩(wěn)定的工具用注解掃描需要?jiǎng)討B(tài)參數(shù)或者依賴運(yùn)行時(shí)上下文的用手動(dòng)注冊(cè)。原因是注解掃描在遇到重載方法、泛型參數(shù)時(shí)容易出歧義而手動(dòng)注冊(cè)雖然啰嗦但每個(gè)工具的入?yún)⒊鰠⒍记迩宄?.2 工具描述的質(zhì)量決定 Agent 的可用性這是最容易被低估的一點(diǎn)。很多人把工具注冊(cè)完就完事了結(jié)果 Agent 要么不調(diào)用工具要么亂調(diào)用。問(wèn)題幾乎都出在工具描述上。Harness 是靠描述來(lái)判斷這個(gè)工具是干什么的、什么時(shí)候該用的描述寫(xiě)得含糊Agent 的決策就一塌糊涂。舉個(gè)例子你有一個(gè)查詢訂單的工具描述寫(xiě)成查詢訂單信息Agent 根本不知道它和查詢物流有什么區(qū)別。正確的寫(xiě)法是把適用場(chǎng)景、參數(shù)含義、返回內(nèi)容都寫(xiě)清楚AgentTool( name queryOrderDetail, description 根據(jù)訂單編號(hào)查詢訂單的詳細(xì)信息包括下單時(shí)間、金額、狀態(tài)。 適用于用戶明確提供了訂單編號(hào)、需要了解訂單具體內(nèi)容的場(chǎng)景。 如果用戶只提供了手機(jī)號(hào)而沒(méi)有訂單號(hào)請(qǐng)先調(diào)用 queryOrderByPhone。 ) public OrderDetail queryOrderDetail(ToolParam(訂單編號(hào)純數(shù)字字符串) String orderNo) { return orderService.getByOrderNo(orderNo); }描述里明確寫(xiě)了什么時(shí)候用什么時(shí)候不用前置工具是什么Agent 的調(diào)用準(zhǔn)確率會(huì)有肉眼可見(jiàn)的提升。這是我在實(shí)際項(xiàng)目里反復(fù)驗(yàn)證過(guò)的經(jīng)驗(yàn)比調(diào)模型參數(shù)管用得多。4.3 參數(shù)校驗(yàn)與異常兜底工具被 Agent 調(diào)用時(shí)傳進(jìn)來(lái)的參數(shù)是模型生成的不能假設(shè)它一定合法。訂單號(hào)可能傳成中文日期可能格式不對(duì)枚舉值可能超出范圍。所以每個(gè)工具方法的第一件事應(yīng)該是參數(shù)校驗(yàn)校驗(yàn)失敗要返回一個(gè)結(jié)構(gòu)化的錯(cuò)誤信息而不是直接拋異常。為什么強(qiáng)調(diào)結(jié)構(gòu)化錯(cuò)誤因?yàn)?Agent 拿到錯(cuò)誤信息后可能會(huì)自我修正、重新調(diào)用。如果你直接拋IllegalArgumentExceptionHarness 可能把它當(dāng)成系統(tǒng)故障終止整個(gè)流程如果你返回{error: 訂單號(hào)格式不正確應(yīng)為純數(shù)字},Agent 就有機(jī)會(huì)換個(gè)參數(shù)再試一次。這個(gè)差別在復(fù)雜任務(wù)里非常關(guān)鍵。public ToolResult queryOrderDetail(String orderNo) { if (orderNo null || !orderNo.matches(\\d)) { return ToolResult.error(訂單號(hào)格式不正確應(yīng)為純數(shù)字字符串); } OrderDetail detail orderService.getByOrderNo(orderNo); if (detail null) { return ToolResult.error(未找到該訂單請(qǐng)確認(rèn)訂單號(hào)是否正確); } return ToolResult.success(detail); }4.4 工具與數(shù)據(jù)權(quán)限的綁定RuoYi-Vue-Plus 有完善的數(shù)據(jù)權(quán)限體系工具調(diào)用不能繞過(guò)它。也就是說(shuō)Agent 通過(guò)工具查數(shù)據(jù)時(shí)必須帶上當(dāng)前登錄用戶的身份走和普通接口一樣的數(shù)據(jù)權(quán)限過(guò)濾。實(shí)現(xiàn)方式是在工具方法里通過(guò)SecurityUtils拿到當(dāng)前用戶把用戶上下文傳給 Service 層。這里有個(gè)坑如果 AI 調(diào)用是異步執(zhí)行的比如放到線程池里跑SecurityUtils依賴的ThreadLocal在新線程里是空的會(huì)直接報(bào)獲取用戶失敗。解決辦法是在提交異步任務(wù)前把用戶上下文取出來(lái)作為參數(shù)傳進(jìn)去在異步線程里手動(dòng)設(shè)置。這個(gè)細(xì)節(jié)不處理異步 AI 功能一上線就會(huì)大面積報(bào)錯(cuò)。5. 會(huì)話管理讓 Agent 記住誰(shuí)在問(wèn)、問(wèn)到哪了5.1 會(huì)話與系統(tǒng)用戶的映射關(guān)系Harness 的會(huì)話Session是它內(nèi)部維護(hù)的對(duì)話上下文而 RuoYi 的用戶是系統(tǒng)級(jí)的身份。兩者需要建立映射一個(gè)系統(tǒng)用戶可能有多個(gè)會(huì)話比如開(kāi)了多個(gè)對(duì)話窗口一個(gè)會(huì)話必須歸屬于某個(gè)用戶和某個(gè)租戶。我的做法是在數(shù)據(jù)庫(kù)里建一張ai_session表字段包括會(huì)話 ID、用戶 ID、租戶 ID、創(chuàng)建時(shí)間、最后活躍時(shí)間、會(huì)話狀態(tài)。Harness 側(cè)生成會(huì)話 ID 后往這張表里插一條記錄。這樣做的價(jià)值在于會(huì)話可以持久化、可以審計(jì)、可以按用戶清理。純內(nèi)存的會(huì)話在服務(wù)重啟后就丟了用戶體驗(yàn)很差。5.2 多輪對(duì)話上下文的存儲(chǔ)策略多輪對(duì)話的上下文如果全放內(nèi)存服務(wù)一重啟就斷片如果每輪都全量存數(shù)據(jù)庫(kù)數(shù)據(jù)量會(huì)爆炸。折中方案是內(nèi)存 持久化雙層活躍會(huì)話的上下文放內(nèi)存用帶過(guò)期時(shí)間的緩存同時(shí)定期把關(guān)鍵節(jié)點(diǎn)快照到數(shù)據(jù)庫(kù)。用戶下次進(jìn)來(lái)時(shí)先從內(nèi)存找找不到再?gòu)臄?shù)據(jù)庫(kù)恢復(fù)最近 N 輪。N 取多少合適我的經(jīng)驗(yàn)是保留最近 10 到 20 輪足夠覆蓋絕大多數(shù)場(chǎng)景。再往前的上下文對(duì)當(dāng)前對(duì)話的貢獻(xiàn)很小反而會(huì)占用大量 token、拖慢響應(yīng)、增加成本。超過(guò)這個(gè)輪數(shù)的歷史可以只保留摘要而不是原文。5.3 會(huì)話并發(fā)與線程安全同一個(gè)會(huì)話如果被并發(fā)訪問(wèn)比如用戶快速點(diǎn)了兩次發(fā)送Harness 的內(nèi)部狀態(tài)可能被破壞。解決辦法是對(duì)會(huì)話加鎖同一會(huì)話的請(qǐng)求串行執(zhí)行??梢杂肅oncurrentHashMap存會(huì)話鎖對(duì)象或者用 Redis 的分布式鎖多實(shí)例部署時(shí)必須用后者。public String chat(String sessionId, String userInput) { Lock lock sessionLocks.computeIfAbsent(sessionId, k - new ReentrantLock()); lock.lock(); try { return harnessRuntime.chat(sessionId, userInput); } finally { lock.unlock(); } }單機(jī)用ReentrantLock夠了多實(shí)例部署就得換成 Redis 鎖否則兩個(gè)實(shí)例同時(shí)操作一個(gè)會(huì)話照樣出問(wèn)題。這個(gè)點(diǎn)在做集群部署時(shí)特別容易漏。6. 實(shí)測(cè)踩坑那些文檔里不會(huì)寫(xiě)的集成問(wèn)題6.1 同步調(diào)用拖垮 Web 線程池最開(kāi)始我把 AI 調(diào)用直接放在 Controller 里同步執(zhí)行測(cè)試環(huán)境沒(méi)問(wèn)題一上生產(chǎn)就發(fā)現(xiàn)接口響應(yīng)時(shí)間從幾百毫秒飆到十幾秒并發(fā)一高整個(gè)線程池被打滿連不相關(guān)的接口都開(kāi)始超時(shí)。原因很簡(jiǎn)單AI 調(diào)用是秒級(jí)甚至十秒級(jí)的操作而 Tomcat 的請(qǐng)求線程是寶貴資源被這種長(zhǎng)耗時(shí)操作占住其他請(qǐng)求就排隊(duì)了。解決方案是異步化。接口收到請(qǐng)求后立即返回一個(gè)任務(wù) IDAI 調(diào)用丟到獨(dú)立線程池里執(zhí)行前端通過(guò)輪詢或者長(zhǎng)連接拿結(jié)果。線程池要單獨(dú)配置核心線程數(shù)、隊(duì)列長(zhǎng)度、拒絕策略都要根據(jù)實(shí)際并發(fā)量調(diào)別用默認(rèn)的。Bean(aiExecutor) public ThreadPoolTaskExecutor aiExecutor() { ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor(); executor.setCorePoolSize(4); executor.setMaxPoolSize(16); executor.setQueueCapacity(100); executor.setThreadNamePrefix(ai-task-); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); executor.initialize(); return executor; }6.2 工具調(diào)用超時(shí)導(dǎo)致的半截任務(wù)Agent 執(zhí)行一個(gè)任務(wù)可能連續(xù)調(diào)用多個(gè)工具如果某個(gè)工具卡住比如查了個(gè)慢 SQL整個(gè)任務(wù)就掛在那里。Harness 一般有整體超時(shí)但工具級(jí)別的超時(shí)往往需要自己控制。我的做法是給每個(gè)工具方法加超時(shí)保護(hù)用Future.get(timeout)或者信號(hào)量控制超時(shí)后返回一個(gè)明確的錯(cuò)誤讓 Agent 決定是重試還是放棄。這里有個(gè)反直覺(jué)的點(diǎn)工具超時(shí)后不要直接拋異常終止而是返回該操作超時(shí)請(qǐng)稍后重試或換一種方式。因?yàn)?Agent 可能會(huì)根據(jù)這個(gè)信息調(diào)整策略比如換個(gè)查詢條件、或者告訴用戶稍后再試。直接拋異常會(huì)讓整個(gè)對(duì)話中斷體驗(yàn)很差。6.3 模型返回格式不穩(wěn)定引發(fā)的解析失敗模型輸出是自然語(yǔ)言即使你要求它返回 JSON它也可能給你包一層 markdown 代碼塊或者在 JSON 前后加一句好的結(jié)果如下。如果代碼里直接JSON.parse就會(huì)頻繁解析失敗。處理方式是容錯(cuò)解析先嘗試直接解析失敗后剝離可能的代碼塊標(biāo)記再解析再失敗就用正則提取第一個(gè)完整的 JSON 對(duì)象。同時(shí)在提示詞里明確要求只返回 JSON不要任何額外文字能減少大部分問(wèn)題。但容錯(cuò)邏輯必須留著因?yàn)槟P偷男袨椴皇?100% 可控的。6.4 日志與可觀測(cè)性缺失AI 調(diào)用出問(wèn)題時(shí)如果沒(méi)有詳細(xì)的日志你根本不知道是模型沒(méi)返回、工具沒(méi)調(diào)用、還是參數(shù)傳錯(cuò)了。所以從第一天起就要把日志打全每次模型請(qǐng)求的輸入輸出、每次工具調(diào)用的入?yún)⒊鰠?、每輪?duì)話的耗時(shí)。這些日志在排查問(wèn)題時(shí)是救命的。但要注意脫敏。用戶輸入里可能有手機(jī)號(hào)、身份證號(hào)工具返回里可能有敏感業(yè)務(wù)數(shù)據(jù)日志里不能明文記錄。RuoYi 有現(xiàn)成的脫敏工具直接復(fù)用。排查場(chǎng)景關(guān)鍵日志常見(jiàn)原因Agent 不調(diào)用工具模型原始輸出工具描述不清、提示詞未引導(dǎo)工具調(diào)用報(bào)錯(cuò)工具入?yún)? 異常棧參數(shù)格式不符、權(quán)限上下文丟失響應(yīng)特別慢各階段耗時(shí)打點(diǎn)模型響應(yīng)慢、工具慢 SQL、線程池排隊(duì)會(huì)話串話會(huì)話 ID 用戶 ID會(huì)話映射錯(cuò)誤、并發(fā)未加鎖7. 上線前的配置調(diào)優(yōu)與降級(jí)預(yù)案7.1 超時(shí)與重試參數(shù)的取值邏輯超時(shí)和重試這兩個(gè)參數(shù)取值不能拍腦袋。連接超時(shí)一般設(shè) 3 到 5 秒因?yàn)榫W(wǎng)絡(luò)握手正常都在毫秒級(jí)超過(guò)這個(gè)數(shù)基本是網(wǎng)絡(luò)問(wèn)題重試也沒(méi)用。讀取超時(shí)要看模型響應(yīng)速度一般設(shè) 30 到 60 秒復(fù)雜推理任務(wù)可能更久。重試次數(shù)建議最多 1 次因?yàn)?AI 調(diào)用不是冪等友好的場(chǎng)景重試可能產(chǎn)生重復(fù)的工具調(diào)用副作用。重試還要區(qū)分錯(cuò)誤類型網(wǎng)絡(luò)超時(shí)可以重試參數(shù)錯(cuò)誤重試沒(méi)意義限流錯(cuò)誤要退避后再試。一刀切的重試策略只會(huì)放大問(wèn)題。7.2 降級(jí)開(kāi)關(guān)的設(shè)計(jì)AI 功能必須能一鍵關(guān)掉。設(shè)計(jì)上分兩級(jí)全局開(kāi)關(guān)配置中心控制關(guān)掉后所有 AI 接口返回功能維護(hù)中和單功能開(kāi)關(guān)某個(gè)具體 Agent 出問(wèn)題只關(guān)它。全局開(kāi)關(guān)用于模型服務(wù)整體不可用時(shí)的緊急降級(jí)單功能開(kāi)關(guān)用于局部問(wèn)題隔離。開(kāi)關(guān)狀態(tài)要能動(dòng)態(tài)刷新不能改配置還得重啟。RuoYi 集成了配置刷新能力的話直接用沒(méi)有的話用定時(shí)任務(wù)輪詢配置中心也行。7.3 成本控制的實(shí)際手段AI 調(diào)用是花錢的尤其是 token 消耗。控制成本有幾個(gè)立竿見(jiàn)影的手段限制單次對(duì)話的最大輪數(shù)防止用戶無(wú)限聊下去、限制單次請(qǐng)求的最大 token防止超長(zhǎng)輸入、對(duì)高頻用戶做限流防止刷接口、緩存常見(jiàn)問(wèn)題的回答相同問(wèn)題直接返回緩存。其中緩存最容易被忽略。很多后臺(tái)系統(tǒng)的 AI 問(wèn)答其實(shí)是重復(fù)的比如這個(gè)功能怎么用緩存命中率能到 30% 以上省下來(lái)的成本很可觀。緩存 key 用問(wèn)題文本的哈希注意設(shè)置合理的過(guò)期時(shí)間。8. 我個(gè)人在集成過(guò)程中的幾點(diǎn)體會(huì)整套東西跑通之后回頭看最耗時(shí)間的不是寫(xiě)代碼而是調(diào)工具描述和排查上下文丟失這兩件事。工具描述我前后改了七八版每改一版 Agent 的調(diào)用準(zhǔn)確率就上一個(gè)臺(tái)階這個(gè)過(guò)程沒(méi)有捷徑只能拿真實(shí)場(chǎng)景反復(fù)測(cè)。上下文丟失則集中在異步和權(quán)限兩個(gè)環(huán)節(jié)凡是跨線程的地方都要檢查一遍用戶上下文有沒(méi)有正確傳遞。另外一個(gè)體會(huì)是別指望 Agent 一次就把復(fù)雜任務(wù)做對(duì)。真實(shí)場(chǎng)景里一個(gè)需要調(diào)用三四個(gè)工具的任務(wù)第一次成功率可能只有六七成。所以產(chǎn)品設(shè)計(jì)上要允許重試和人工兜底把 AI 定位成輔助而不是全自動(dòng)這樣即使它偶爾出錯(cuò)業(yè)務(wù)也不會(huì)崩。等準(zhǔn)確率通過(guò)持續(xù)調(diào)優(yōu)穩(wěn)定到九成以上再考慮擴(kuò)大它的自主權(quán)。最后純 Java 集成這條路是走得通的而且對(duì) RuoYi 系團(tuán)隊(duì)來(lái)說(shuō)是最平滑的選擇。它不需要你引入新語(yǔ)言、新部署單元復(fù)用現(xiàn)有的權(quán)限、日志、監(jiān)控體系出問(wèn)題也在熟悉的排查路徑里。代價(jià)是你要接受 Java 生態(tài)在 AI 編排這塊相對(duì)年輕一些高級(jí)特性可能不如其他語(yǔ)言棧豐富但對(duì)絕大多數(shù)后臺(tái)系統(tǒng)的智能化需求來(lái)說(shuō)夠用了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九热免费视频| 羞涩视频| 狠狠久久手机视频精品| 伊人991| 日逼逼免费看| 国产白丝网站| 成人五月天丁香激情综合| 久久发布国产伦子伦精品| 亚洲成aⅴ人片不卡无码| 久久妇| 男人天堂久久精品| 99久久精品无码一区二区| 久久久久久久综合,国产| 人妻天天夜夜爽一区二区| 亚洲AV无码乱码| 黄色电影在线播放综合网站| 激情小说亚洲| 国产51色综合久久免费| 大香久久| 97超碰超欧美。| 丰满人妻一区二区三区在线| 999久久久精品国产| 国产二区三区免费视频| 99久久99九九99九九九| 久久久久婷婷精品av电影| 7777奇米影视久久| 97操操| 激情综合五月天| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 青娱乐91| 五月天春色激情网| 日韩啪啪网| 青青草色AV| 99精品视频在线观看| 亚洲少妇诱惑| 亚洲精美粉嫩嫩泬在线观看| 无码免费精品高清| 国产在线视频二区| av久日| 任你草| 超碰人人色| 爱丝福利| 99热这里只有精品1| 乱伦日本色图AⅤ| 蜜乳AV.COM| 麻豆久久一区二区三区| 男人网站婷婷| 亚洲日韩青青草色月| 天天精品| 91黄射| 男人网站婷婷| 大逼色网站| 久久尹人大香焦视| 一区二区影视| 无码不卡亚洲成?人片| 精品日韩| 色y情视频免费看| 尤物av网站免费在线播放| 日韩字幕一区| 先锋精品av色鲁| 九一国产精品| 色五月av| 亚洲国产精品99久久久| 日韩午夜国产| 六月婷婷色综合| 成人网站 免费观看| 成人免费在线网站| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 欧美亚洲性爱一区二区| 综合网亚洲1| 草b在线 | 日韩无码第3页| 亚洲综合伊人无码久久| 久久欲| 91总综合网| 久草在| 国产又长又大又粗的视频| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美暴力猛交| 1000午夜黄色| 久久久日本电影| 亚洲 小说 欧美 激情 另类| 日韩成人大片一区二区| 嗯啊啊啊轻点视频 | 九久9热| 国产999精品久久久| 啊啊啊不要好疼视频| 天天综合网1| 国产精品国产亚洲区艳妇糸列| 欧美1区二区三区公司| 高清国产精品无码| 久久ww| 亚洲日韩AV视色| 91狠| 国产女人9999| 伊人丁香五月婷婷| 亚洲国产欧美日韩人妻日中文| 青青草白白色| 亚洲色交| 欧美成人一区二区三区在线播放| 好淫网一二三视区| 国产 丝袜 欧美中文 另类| 精品少妇后入一区二区三区四区人妻巨乳| 国语精品av| 国产免费黄色一级大片| 美女人妻色网站| 欧洲亚洲人妻无码高清久久三区四区| 国产精品操| 国产美女销魂在线观看不卡| 激情综合五月婷婷| 污电影在线观看| 天天澡天天爽日日AV| 国产亚洲精品玖玖玖在线观看| 亚洲日韩青青草色月| 超碰中文字幕人妻草一区| 丝袜av一区二区三区| 91久久婷婷| 久草综合京东| 青青草玖玖爱| 草莓精品视频在线免费观看| 国内精品伊人久久久久影院会| 亚洲色资源| 白丝被操91| 国产精品露脸在线观看| 麻豆国产精品午夜视频| 丁香五月综合| 五月天黄色激情视频| 超碰亚洲97| 午夜激情床戏激情| 成人A片男人的天堂| 亚洲AV无码黄色强奸| 少妇综合网| 偷拍2020| 国产欧美岛国精品一区| 人人看人人摸人人色| 国产精品肉丝自拍| 欧美影院一区二区三区| 91丨九色丨国产丨人妻在线| 日影院久久婷婷夜夜网| 亚洲图片欧洲图片aⅴ| 国产精品视频电影| 岛国激情视频软件| 农村妇女精品一二区| www.色婷婷.com| 国产精品乱码久久久| 亚洲无吗在线视频| 超碰1997| 岛国片在线观看视频亚洲| 欧美激情久久久久| 久久亚洲人妻| 欧美综合娱乐久久| 久久成年精品| 性夜影院爽黄A爽免费动漫| www.狠狠干.coom | 国产精品成人午夜福利| 久久水蜜臀亚洲AV无码精品| 特级丰满少妇一级AAAA爱毛片| 久久久国产精品亚洲精品| 日韩视频中文字幕| 九9热伊人| 国产熟女免费观看久久| 色婷婷狠狠18禁| 久久伊人青青草| 日本操大逼| 五十路成人在线视频二区三区| 无码视频黄色网战| 另类图片欧美激情综合| 岛国999| www.91久久| 97在线视频观看| 污到发麻的视频 国产| 日韩色欲久久一二三四区| yazhouzaixian| 亚洲图片欧美91N| 日本性爱欧美性爱| 九九九九精| 国产精品久久久蜜臀| 色呦呦国产精品免费看| 亚洲国产福利视频| 搞中出视频在线观看| 成人网址在线观看| 欧亚乱色熟女一区二区| 男人的天堂 在线一区| 精品人妻一区二区乱码一区二区| 亚洲精品中文字幕一区在线视频| 久久久久久9| 色五月AV在线| 蜜臀AV成人精品蜜臀AV久久| 久久久精品无码亚免费| 操www| 91成人精品| 久久久久久久久久精| 粉嫩国产精品久久粉嫩| 欧美性爱在线无码| 亚洲aV性爱| 综合操逼| 吻戏激情性巴克| 黄色大香焦1级‘′‘| 国产在线综合网| 精品一区二区三区麻豆| 97超级色碰碰| 欧美国产操逼| 欧美综合网1| 久久超碰久| 青椒国产97在线熟女| 日韩电影在线观看网址| 91另类| 久久综合女优| 97人肏| 亚洲无码色| 亚洲图片欧洲图片aⅴ| 午夜福利1区2区3区| 青青色在线观看| 大香蕉中文在线| 久久女女| 久久久久久人体| 四虎精品亚洲| 97在线播放| 91N综合网在线| 国产欧美日韩女同性恋ww喷水精品 | 狼狼色丁香久久婷婷综合五月| 精品三级在线专区| 超碰在线欧美性爱激情| 性爱乱伦视频免费| 一级片在线观看高清无码| 久久男人精品| 性爱精品一区| 黄片色区软件| 人妻在线大香蕉| 东京成人一区| 91久久久视| 国产精品国产| 伊人九九| 精品国产乱码| 可以免费观看的av| 色女99一级片在线观看| 日韩精品国模| 麻豆一区二区三区在线看| 另类小说欧美激情校园春色| 精品人妻av区天天看片| 国产亚洲美日韩Aⅴ中文字幕无码成人| 中文色综合| 99re国产精品视频| 亚洲精品三| 91在线欧色| 人妻日日夜夜精品| 亚洲伊人久久精品影院| 男人天堂导航| 欧美色www亚洲国产阿娇要播| 加勒比综合88| 欧美日韩狠狠爱| 久久青青草在线视频| 国产捆绑一区| 中文字幕一区二区日韩网| 8x福利精品第一福利视频导航| 女人与公拘交酡2020视频| 17c在线成人免费A片观看| 精品人妻一区| 丝袜美腿欧美| 超碰是碰在线观看| 熟女少妇一区二区三区| 中文子幕一二三| 老熟乱一区二区三区四区| 日韩无码极品| 欧亚在线视频| 视频在线观看免费一区二区三区| 婷婷五月天激情四射| 91 国产丝袜在线放观看| 中文字幕一区二区三四五区日日骚| 亚洲精品九九九九九九| 在线观看不卡一区二区三区| 久久精品欧美一区蜜桃| 天天综合网~91| 午夜操逼不卡| 精品91摸| 伊人天天久久动态图| 奇米狠999| 久久老子无码午夜伦不卡| 久草婷婷| 亚洲97综| 伊人成人中文字幕久久网| 亚洲老司机123专区| 天天综合网日韩| 国产无套粉嫩白浆在| 日少妇亚洲版| 97免费在线观看视频| 五月天玖玖资源站| 99色日| 久久久久九九九| 天天综合-91入口| 芊芊操逼视频无码| 天天综合网~69| 少妇九九九九| 日亚韩精品视频二区三| 91精品成人| 精品久| 欧美一级黄片免费播放| 欧美另类自拍| 日本熟女免费視颖| 久久夜夜夜夜| 精品无码久久久久久国产浪潮| 97久久精品亚洲| 久热伊人| 99热在线播放| 国产400孕妇孕交群| 九九无码视频| 久久欧洲| 岛国毛片手机在线观看| 丝袜色综合| 18禁的网站在线| 欧美 日韩 国产传媒| 精品九九| 久久久9品一区二区三区| 精品免费一区| 亚洲图片日本AⅤ欧美在线| 五月激情在线| 日B操| 超碰精品| 国产精品探花视频| 春色91| 亚州国产精品乱| 美欧色综合| 激情深爱五月天| 天天做天天爱| 97在线观看免费视频| 91一起操| 亚洲欧美日韩制服另类| 东京热精品97综合网| 大香蕉强奸乱伦| 天堂成人网| 欧美91久久久久| 国产97视频免费观看| 男人的天堂在线| 亚洲九月丁香| 亚洲风情在线观看| 欧美97日韩精品| 老熟女天天操| 亚洲熟妇A V黑人| 国产伦精品一区二区三区视频女| 蜜臀99999| 国产九九久久久精品| 激情小说在线视频| 中文字幕诱惑制服人妻丝袜美丝袜美| 玖玖资源综合在线视频| 97视频620| JULIA一区二区三区在线播放| 五月天久久人妻| 人人喜人人妻| 亚欧性爱ab| 狼人狠干| 人人爽夜夜玩视频| 中文字幕丝袜美腿| 人妻偷拍一区二区三区| 国产9熟妇视频网站| 久久理论字幕视频| www成人啪啪18秘 免费| 国产一国产一级毛片古装| 久久久99999久网站| 一区二区免费电影久久| 国产视频第二页| 丝袜av一区二区三区| 婷婷综合激情| 日韩A优精品在线观看| 日韩干B| 神马福利久草| 99久久精品无码一区二区毛片免费| 久久精品日韩| 色香av| 啊啊啊啊在线播放| 很很很很操| 又大又长又爽| 骚货| 欧美熟爽综合| 九九在线精品| 91一起操| 一起草精品人妻| 色哟哟 日韩精品| 天堂av最新电影网| 亚洲色图超碰在线| 五月婷婷无码| 综合色图区| 99精品视频在线观看免费| 日本一区二区不卡| 人妻精品一区二区| 91熟女视频网| 亚洲欧美综合网站| 欧日a| 国产精品久久| 岛国免费视频在线| 999久久久免费精品国产牛牛| 亚洲97成人在线观看| 伊人综合色网| 日韩另类色图| 色官网在线| 成全在线观看免费观看| 夜夜影视四色| 日本操逼视频不卡直接放| 日韩免费a级毛片无码a∨| 91岛国动作片| 日本女人久久久| 另类小说欧美激情校园春色| 成人三级片一区二区三区视频| 91色伦综合| 青青草男人天堂| 欧美黑人性猛交91| 国模艳艳啪啪一区| 超碰97精品| 国产精品白丝| 俄罗斯一区二区视频在线观看| 色欲久久久久综合网| 中文三一区| 男人的天堂VA| 欧美日韩中文字幕人妻| 五十路熟女人妻一区二区在线观看| AV有码在线| 久夜视频| A级在线视频| 91成人精品| 熟女人妻一区二区三区| 韩国三级一线观看久| a一区二区三区乱码在线| 日韩精品熟妇| 人人超碰在线观看黄| 久久伦理视频久久大香蕉视频| 日韩操呦呦影院在线观看| 伊人久久大香线综合无码| 精品一二三区四视频| 精品一区二区2| 天美91| 久久久9999| 丁香九月 婷婷| 思思热在线cao| 日本女人操逼| 青青11操操操操操操操操| 丁香九月婷婷| 亚洲国产ⅴ高清在线观看| 久久久久久精品免费看A级| 91香蕉视频在线观看免费| 韩国一级婬片A片AAAAA| 超碰激情808| 天天草AV| 思思久热在线精品66| 国产成年精品高清在线观看91| 8050无码八戒| AV老汉| 欧美亚洲特P| 中文字幕一区二区三区四区在线视频| 九九色图| 天天综合欧美综合| 夜夜精品视频| 人人操人人操人人操人人操人人操人人人11.CM | 大香蕉日亚洲日本亚大| 中文字幕AV中出| 亚洲国产成人7777| 大香网站| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 一级二级在线观看| 国产三级多多影院2022国产AA一级毛片无码| www久久久| 青草影院内射高潮| 久久超碰97| 欧美中出1| 一二视频神马久久传媒| 久久人妻| 欧美熟女少妇| 91九色丰满高潮| 久久黄色视频一区二区三区 | 久久老女人| 丁香婷婷九月| 97视频在线免费| 淫荡少妇免费| 91网站视频在线观看| 日本精品五区| 亚洲女毛多水多21P| 大香蕉欧美国产日韩高潮| 84YTCOM性无码| 好爽,再快点啊哈嗯嗯嗯嗯| 中文字幕在线免费观看 | 91丰满| 婷婷五月天网| 久久αⅴ| 黄色av一区二区在线| 超碰午夜| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 一级二级三级黑人无码| 男人天堂婷婷五月天校园春色| 成人小说视频在线精品欧美| 男人a天堂手机在线版| 亚洲欧美中文日韩视频中国语| 久久99精品九九久久久婷婷| 亚洲日韩人妻中文字幕一区| 欧美久久久15P| 日本成人免费一区二区三区| 禁十八久久| 亚洲av国产av综合av卡| 亚洲中文字幕精品久久久久久直播| 日人妻视频91| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 天天内射| 操逼片中文| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产又粗又长又大的视频| 黄页大片在线观看| 国产后入| 91美女在线看| 精品一二三区久久AAA片| 中文字幕免费观看| 久久这里只精品免费福利| 韩国三级三级BD在线| 亚洲字幕一区二区| 日韩三级av片| 亚洲情色电影网| 亚洲97成人在线观看| 亚洲凸凹超碰成人| 97电影院超碰| 大学生口爆吞精| 日日干夜夜操视频h| 岛国片国产成人亚洲播放| 99这里只有精品| 亚洲AV免费在线观看| 日韩人妻播放| 人人妻人人玩人人澡人人爽| 亚州久久9| 亚洲av无码成人精品国产| 后入式免费视频| 性色一线| 黄色毛片A片| 欧美夜夜草视频| 午夜操一视频一区| 色97国产69香蕉| 色色九区| 久草精品一区| 91亚洲青青草原精品1区| 蜜桃视频成a人v在线| 一区二区三区麻豆| 日韩78m视频| 国产精品自在线发布| 91狠狠综合| 美女上床网站| 性色国产东北露脸精品视频| 五月开心网| 久久久久国产精品喷潮免费观看臀| 久草线上视频免费看| 人妻在线中出视频| 国产午夜无码片在线观看影视| 99激情| 99精品国产户外露出| 春色综合免费| 欧美天天综合站| 欧美 青青草| 99热这里是精品| 思思热影视| 亚洲图片婷婷五月天| 91久久| 丰满人妻一区二区三区免费| 欧美亚洲清纯| 97在线无精品| 久操在97| 中文字幕中文字幕一区二区| 啊啊啊啊好多水| 综合亚州欧美| 免费网站观看www在线观| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 老熟妇一区二区三区啪啪| 性色乱AV一区二区| 伊人天堂在线| http://qxhbdz.com| 天天干天天拍| 日韩国语字幕| 国产高清26uuu| 极品综合| 一本色道久久综合精品婷婷| 尤物视频偷拍免费| 久热久操| 久久九九精品一区二区| 色97国产69香蕉| 亚洲久草AV色图| 欧美丝袜美女电影一二三四区| 99爱视频| 亚熟在线| 91蜜臀熟女| 怡红院怡春院| 日韩情色AV| 亚州高清色综合| ai欧美亚洲小说| 风月影院男女十八禁| 欧美在线中M| 欧美内射少妇| 天天操狠狠日夜夜干超碰撸com视频在线观看| 欧美很很操视频| 超碰久热| 91暧暧| 一区二区国产视频在线观看| 啊啊啊97视频| 91 国产丝袜在线播放-百度| 亚洲成人妻日韩在线| 日本免费一区二区不卡 | 久久人体一区二区| 色偷综合| 亚洲深夜福利| 成人av性爱电影在线观看| 91精品久久久久五月天精品| 成人乱码一区二区三少妇| 亚洲成av人片色午夜乱码| 欧美色偷拍| 青青草啪啪网| 91亚洲欧美激情| 人人搞人人插人人操| 精品欧美日韩在线观看| 亚洲色人阁| 乱伦一区二区三区‘| **一级毛片国产| 激情五月综合| 亚州色国| 九九九九国产| 天天做日日爱夜夜爽| 九九热九九热| 亚洲综人| 天天噜| 男人高清无码一区二区| 欧美夜夜狠| 日日橹狠狠爱欧美超碰| 乱理日韩中文| 久艹免费| 国产一级操B视频| 91九色丨国产丨爆乳| 久久久少妇诱惑精品视频| 探花视频免费观看国产专区| 国产精品成人蜜臀AV在线| 成人精品电影| 91美| 国产精品黄色三级av| 99久久9| av东京热男人的天堂| 久久久久久久久999| 国产高清MV操逼视频| 99久久无色码| 猛猛干| 18禁中文字幕| 亚洲AV高潮| 日本精品999| 久久久精品国产亚洲AV无码| 日韩美女,国产传媒,视频一区| 国产精品乱码久久久久| 97久久超碰| 91 国产丝袜在线播放-百度| 天天草夜夜草高潮片| 97亚洲一区| 五十路人妻在线| 日韩无码a片| 婷婷在线视频| 欧美日韩亚洲天堂| 亚洲综合激情五月久久| 四虎884| 日韩AV无码中文一区二区| 色色综合97| 日韩激情毛片一级久久久| 青娱乐 成人娱乐在线| 婷婷伊人綜合中文字幕| 亚州综合AⅤ| 国产精品盗摄 偷窥盗摄| 久久久久13| 97亚洲综合影院| 蜜臀久久久久久999| 久久9精品网站| 91在线视频国产网站| 黄色av一区二区在线| 国产午夜福利合集| 日本免费亚洲欧美| 欧美激色| 青草av在线| 9Ⅰ超碰| 女人的久久久| 婷婷久草| 国产99999| 插入综合网| 99蜜桃臀久久久欧美精品网站| 91激情综合| 丰满少妇一区二区三区四区观看| 岛国天天午夜影院传媒网| 黄色网址在线免费观看| 亚洲欧美国产中文字幕| 一本久道在线综合视频| 亚洲人精品午夜不卡| 日本成人A片免费看| 玖玖资源视频一区二区三区| 草B在线| 色综合av综合久久| 香蕉大久久久| 91天天日| 91+欧美| 69久久| 亚洲精品国语在线播放| 久9综合在线| 欧美色另类| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 亚洲少妇综合| 国产精品福利视频播放| 97人人模人人爽人人| 国产噜噜噜噜噜久久久久久久久| 涩综合导航| 中文字幕一区二区三四五区日日骚| 亚洲同性aV综合| 熟女乱伦A| 亚洲色图国产另类| 国产午夜福利专区综合| 精品人妻一区二区免费蜜桃| 一级一性爱免费视频| 在线观看国产黄色| 亚洲 欧美 日本 国内 首页| 老熟女91av| 91精品少妇搡搡搡| 国产又黄又爽又刺激久久久久久 | 色官网在线| 中文字幕青青草| caorenqi shipin| 亚洲无 码A片在线观看麻豆| 久久久久久亚洲精品中文字幕人妻| 国产色呦呦| 2017大香蕉| 91精品丝袜久久久久久| 欧美另类色图片| 日韩欧美中文| 秋霞一级视频在线观看免费| 睡产熟女乱伦| 欧美日韩色综合网| 亚洲一二三| 国产一区在线观看无码AV| 婷婷五月天激情小说| 91熟女少妇| 亚洲国产精品无码AV在线| av亚欧| 日韩一二三区| 视频分类 国内精品| 波多野结衣被操50分钟免费视频 | 亚州精品人妻一二三区| 骚乳在线| 亚洲欧洲偷拍一区| 久久人妻熟女一区二区| 蜜桃精品一区二区三区久在线| 五月黑AⅤ| 美女诱惑在线一区| 日本一本道A级黄色毛片试看60分钟| 午夜福利合集| 91N综合网| 東南亚性呦成人伦理资源在线视频| 懂色av中文字幕一区二区三区天美| 人人澡人人爽人人精品| julia高潮后不停追击中出| 中文字幕在线观看丝袜| 日本三级A片网站com| 色色九区| 久久久新亚洲AV| 欧美成人性爱视频在线播放| 国产日韩区| 国产精品天干天干综合网麻豆| www.久久最新地址| 四虎影视在线| 日本一区二区亚洲综合| 啊啊啊不要啊啊受不了了视频在线| 国产东北女人在线视频| 翔田千里A片一区二区| 97色综合中文网| 男人天堂综合| 黄色片一区二区三区四区五区| 国产精品对白自产拍| a片亚洲一本通视频| 婷婷丁香久久| 国产成年精品高清在线观看91| 妇女乱色二区| 欧美 亚洲 综合 制服 另类| 麻豆国产成人精品| 精品蜜乳AV免费观看| www.av在线观看| 国产极品美女高潮无套在线观看 | 91另类| 91性高朝久久久久久久久| 超碰国产精品久| juliaann欧美丝袜办公室| 四虎在线视频| 久久久久久中文| 搞中出久久| 在线v中文字幕一区二区三区 | 国产十八禁视频| 亚乱色| 亚洲av无码成电影在线播放| 宅男91视频在线播放| 青草成人免费视频一COm| 久久婷婷亚洲| 午夜男人的天堂| 日本久久久久久久久| 快播电影网日韩新片| 夜夜高潮夜夜爽夜夜爱爱一区| 中国人高清www色视频免费| 黄片视频观看| 26uuu性物| 人妻久热在线| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 久草尤物| 精品少妇99| 翔田千里Av在线| 丁香六月啪| 97网址97| a片自拍直播视频| 欧美v亚洲v综合v国产v妖精| HEYZO高无码国产精品227| 97爱欧美| 大香交| 精品无码一区二区三区色欲| 国产熟女完整版中字| 99久久无色码| 久久精品无码熟妇一区二区三区视频导航 | 一区,二区,三区视频| 亚欧性爱在线无码| 热热色色综合| yw尤物av无码点击进入麻豆| 天天添天天干电影| 欧美啪啪色吧在线| 亚洲。日韩。欧美| 欧美 亚洲 另类 综合| 在线视频亚洲无码| 亚洲精品日日夜夜52| 色香综合天天影视综合 | 午夜天堂精品久久| 色偷综合| 五月天玖玖资源站| 少妇毛片久久| 久久精品国产亚洲妲己影视| 国产13区| 日韩AC| 中出欧美| 区日韩亚洲乱码av电影| 1000部熟女视频在线观看| 欧美91在线+|+欧美| 3PAV乱伦视频| 综合激情一一91| 免费看毛片操穴| 97少妇人妻中文字幕久久| 激情专区综合| 97色欧洲| 97精品视频免费| 日本在线不卡v二区| 男啪女色黄无遮挡免费观看| 精品一二三区四视频| www.狠狠| 老熟女91av| 91久久久久久久久18| a片久久久久久久久久久久| 欧美日韩电影一区二区| 婷婷六月色| 国产强奸乱伦欧美| 欧美少妇高潮视频| 欧美在线 亚洲| 综合干干干av久久久综合网| 长长久久88视频| 国产日本久久免费精品| 黄色AAAAAAAAAAA大片| 97AV在线观看| 97色诱| 国产大学生口爆吞精合集| 91丨人妻丨国产丨丝袜| 东北女人性交| 久久久久国色αv免费观看| 色婷婷一区二区三区久久| 色女综合| 狠狠操天天干| 久久久久久中文版| 国模精品娜娜一二三区| 人妻丝袜一区二区三区在线| 另类图片五月天| 久操av在线| 熟女熟妇伦久久影院毛片一区二区| 久久性视频| 麻豆黄色五月天| 精品69网| 偷拍综合网| 9丨亚洲一区二区在线| 人人贴人人摸| 377p欧洲日本亚洲大胆| 黄色大片免费在线| 日本性爱不卡视频| 男人天堂.AB| 十八禁电影伊人网| 欧美第二页| 人人妻人射| 欧美日韩丝袜| 99热在线播放| 乱欲一区二区| 国产又操| 老熟妇一区二区三区…| 日韩精品中文字幕人妻| 三级色影综合网| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲中文制服诱惑| 日韩不卡码| 欧成人精品H无码| 熟女视频久久| 亚洲诱惑| aaa亚无码专区| 国模精品一区二区三区苹果色戒| 一二三啪啪专区| 日韩一级二级三级免费看完整版| 黄在线| 大香蕉在线视频15| 成人青青草原伊人| 能在线播放的国产三级| 国产h片在线观看视频| 亚洲成人一二三区| 伊人影院日本| 激情色播| 91四海无码日韩欧美| 无码在线亚洲| 免费一级a毛片久久久久久鸭绿欲| 亚欧无码线免费观看视频| 99久久99久久综合| 亚洲高清欧美总合| www99热| 2020中文字幕在线观看| 天天日老熟妇| 99999精品| 久久e6只有精品| 熟女精品va中文字幕| 国色综合天| 国产av强奸美女| 色哟哟1区2区| 日本五十路熟女一区二区| 97超碰这里只有精品| 男女激情黄色网址| 91制服丝袜| 性性欧美| 丁香五月激情综合| 国产传媒av天美传媒在线| 国产又大又硬又长又粗| 91亚洲丝袜| 日韩一级特黄av毛片| 夜精品久无码| 91精品免费| 韩国女主播青草福利视频| 91视频综合在线| 欧美视频边做饭边橾| 另类欧美色| 色婷婷婷五月天激情四射| 在线综合色| 久操 高清| 激情五月婷| 欧美国产欧美在线观看| 中文字幕黄色一起草| 国产美女精品| 欧美三级一级| 婷婷久草| AV和黑人在线播放| 日韩色| 中文字幕在线第二页| 精品美女少妇一区二区三区| 日本在线不卡一二区| 8x福利精品第一福利视频导航| 777超碰| 国产麻豆91欧美一区二区久久婷婷国产精品| 欧美日韩中文亚洲v在线综合| 91东京热男人的天堂| 亚洲欧美综合图片| 丰满岳乱妇一区二区三区| 日韩 欧美 国产 麻豆| 久久综合精品一区二区三区| 加勒比综合九九99视频在线播放| 91中文精品日韩欧美在线| 久久精品国产亚洲AV高清演员表| 中文字幕成人理论在线| 成年人免费观看网站| 一道本久久棕合爱| 国产精品一区二区 尿失禁| 精品中文字幕第一页| 熟女激情综合网| 在线有码中文字幕| 中文字幕亚洲永久精品| 尤物视频一区| 国产精品无码av嫩草| 国产91 丝袜在线播放00-百度| 97在线公开视频| 人人妻人人爽| 国产精品诱惑| 亚洲无码成人精品| 亚洲国产ⅴ高清在线观看| 久久东京伊人一本到鬼色| 国产精品嫩草影院免费| 色色福利| 久久99热这里只频精品6学生| 色哟哟的毛片| 亚洲的天堂网| 亚洲色图欧美一区二区不卡| 啊啊啊啊啊好多水| 涩综合导航| 26uuu国产免费观看| 开心五月激情网| 亚州综合图片| 黄色大片视频在线免费看| 岛国AB视频| 久久久久久夜夜夜夜夜| 超碰久久精品| 成人免费看吃奶视频网站| 国模不卡| 啊啊啊慢点| 欧美熟妇乱码在线一区| 欧美少妇一区二区三区| 九九九九九九视频| 国产黄色剧情影片麻豆免费播放| 强奸乱伦麻豆| 人妻啊啊人妻啊啊| 伊人嫩草| 日韩黄色一区二区三区| 欧美少妇一区二区三区| 亚洲永久永久永久永久一级一级一级精品 | 国产99999| 超踫中文字幕| 日韩图区| 国产高清MV操逼视频| 女生自91网站| 97手机日韩| 成人日本精品九区| 999久久久免费精品国产牛牛| 久久同城AV| 蜜臀久久久99久久久久 | 激情四射五月天| 亚洲天堂日本| 日韩卡一卡二卡三在线| 欧美日韩精品久久久久久久久东北老熟妇| 久9re热视频这里只有精品| 黑丝91视频| 天天狠操| 99国产精品自在自在| 九九国产| 日韩BBN| 国产乱伦性爱AV| 精品人妻1237| 青娱乐欧美激情一区二区| 日本大香蕉| 99久热| 亚洲日韩av一区二区三区百合| 超碰 另类 欧美| 先锋女优在线观看视频| 日韩激情中文字幕有码| 欧美色图91p| 性爱综合一区二区| 久久天天摸| 熟女人妻一区二区三区| www超碰| 青青草一区二区高清无码视频| 狠狠色综合网| 999热这里只有精品| 精品久久久久黄少妇| 亚洲日韩精品在线播放| 日韩一级特黄av毛片| 狠插 制服 自拍| 97人妻免费中文字幕| 91成人无码| 亚洲国产精品久久久久婷婷青年| 超碰97久久| 超碰97玖玖爱| 中国一区二区亚洲人妻| 在线电影亚洲色图| SUV一区二区在线看| 丰满人妻无码一区二区三区| 亚洲色图日韩丝袜制服一区二区五月在线| 国产成人在线观看综合| 97久久精品不卡| 99无码视频| 国产精品ⅴ无码大片在线看.| 亚洲黄a三级三级三级看三级| 97在线欧洲| 亚洲成人一区二区精品| 风月影院十八禁| 丝袜av一区二区三区| 亚洲国产综合久久天堂| 韩国久久97| 午夜精品久久久久久久男人的天堂| 无码人妻丰满热妇又大又粗| 最新国产亚洲精品精品国产亚洲综合 | 狠狠干,狠狠操| 99天堂网| 99热| 国产熟女自拍| 欧美精品三区| 操逼www.| 天天伊人| 97天天插| 成人色女网| 午夜精品久久久久久久久久蜜桃| 日韩AV噜噜噜一区二区三区四区| 校园春色亚洲欧洲| 天天做天天爽| 柠檬AV导航| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产乱码久久久| 中国的操老妇女| 在线天堂999| 国产女人极品高潮毛片| 欧美亚洲中文| 97爱b| 亚洲天堂女优在线| 91蜜桃婷婷狠狠久久综合9色| 黄色AAAAAAAAAAA大片| 国产女同在线观看视频| 91亚洲网站| 亚洲有薄码区久久在线一区| 亚洲干B| 婷婷爽人人婷婷爽视频| 嗯嗯啊啊好大好爽| 另类 综合 日韩 欧美 亚洲| 天天添天天干电影| 色色色五月婷婷| 免费作爱一级视频| 午夜小电影在线插入淫高潮| 208天天久久九九九| 用力操死我| 旡码电影特区| 情侣开房子拍 日韩无码 女的很漂亮| 手机看片1025| 国产精品香蕉热久久新品| 一起草日韩| 日本东京热久久久电影| 色综合大香蕉| 亚洲男人天堂手机版| 九九成人精品| 亚洲网自拍| 午夜男女爽爽爽在线视频| 九九黄色视频在线观看| 3PAV乱伦视频| 嗯嗯啊啊的视频| 青青操少妇| 69综合网| 婷婷色色五月天福利| 亚洲精品国产精品成人| 免费AV中文网在线观看| 日韩中文字幕视频| 日B操| 国产a片操逼| 91香蕉国产尤物视频| 午夜国产乱伦视频| 这里只有精品视频在线观看麻豆| 国产av强奸美女| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产乱子伦一区二区三区免看| 亚洲国内精品成人不卡| 蜜桃不卡一区二区| 97精品第3页| 日日妻色网| 亚洲欧美激情小说| 在线 欧美 亚洲| 2017亚洲天堂| 好爽视频在线观看视频 | 亚洲成人综合在线| 夜夜爽爽爽| 国产伦精品免编号公布| 99re95| 亚洲AV人人澡人人爱| 久久有码视频| 欧美性生活男人的天堂| 国产自产一区视频在线| 色婷婷五月综合激情中文字幕| 强奸乱伦动态污图免费|