欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

LangChain4j+LangGraph4j:Java AI應用平臺實戰(zhàn)

LangChain4j+LangGraph4j:Java AI應用平臺實戰(zhàn) 簡介面向全棧 AI 應用開發(fā)者的工程示例與平臺源碼包聚焦 Spring Boot 3 LangChain4j Vue 3 技術棧覆蓋智能代碼生成、AI 智能體、LangGraph4j 工作流與 Tool Calling 等核心能力并展示可視化編輯、一鍵部署、應用管理及智能路由的實現(xiàn)思路既有完整的前后端交互鏈路也適合作為 AI 應用平臺腳手架進一步擴展。壓縮包共 216 個文件、約 1.14MB其中 Java 后端邏輯約占 143 個文件Vue/TS 前端頁面與交互約 40 個文件另有 JSON、XML、YML、SQL 等配置腳本及 Markdown 說明目錄分層明顯便于按模塊閱讀與二次開發(fā)智能體編排、工具調用注冊、工作流節(jié)點配置等關鍵示例均包含在內。資源還結合多級存儲與 Nginx 部署給出 Prometheus、Grafana、ARMS 監(jiān)控方案并預留 Cursor Vibe Coding 協(xié)作開發(fā)入口可幫助讀者快速復現(xiàn)一套可觀測、可擴展的 AI 應用平臺骨架。已有 250 人學習下載適合正在搭建智能體、工具調用或工作流平臺的同學對照源碼梳理完整實現(xiàn)鏈路。1. 從智能體到代碼生成這個 AI 應用平臺到底在解決什么問題一個 Java 技術棧為主的團隊想上 AI 應用往往卡在同一個地方Python 生態(tài)的 LangChain 很成熟但團隊沒人愿意跨界維護兩套技術棧。這個平臺標題給出的答案很直接——用 SpringBoot3 做后端底座用 LangChain4j 接大模型用 LangGraph4j 做工作流編排再配一個 Vue3 的可視化畫布把 AI 能力變成能拖拽、能部署、能管理的產(chǎn)品。它解決的不是怎么調一次大模型接口而是怎么把智能體、代碼生成、工具調用這些能力沉淀成企業(yè)內部的標準化應用平臺。適合兩類人一是想從零構建 AI 應用平臺的架構師二是接了類似需求但不知道從哪落地的后端和前端工程師。2. SpringBoot3 LangChain4j 的工程底座選型理由與最小可運行配置2.1 為什么是 LangChain4j 而不是自研封裝或 Python LangChain先回答一個很多人糾結的問題我直接寫 OpenAI SDK 或者 Spring AI 不行嗎自己封裝 OpenAI SDK 當然能跑通對話但一旦涉及多輪對話的記憶管理、文檔的 Embedding 切分、工具的自動發(fā)現(xiàn)和調用代碼量會迅速膨脹。LangChain4j 在 Java 生態(tài)里的定位和 Python 版 LangChain 一樣把這些通用能力抽象成 ChatModel、EmbeddingModel、AiServices、Tool 這些接口你只需要替換模型廠商的依賴業(yè)務代碼基本不動。Spring AI 和 LangChain4j 之間我選了后者原因是它對 ToolCalling 和函數(shù)回調的支持更直接Tool 注解的體驗和 Java 開發(fā)者的直覺一致。LangGraph4j 的出現(xiàn)補齊了 LangChain4j 最缺的工作流編排能力——之前做復雜 Agent 只能自己手寫狀態(tài)機現(xiàn)在有官方的圖執(zhí)行引擎節(jié)點、條件邊、狀態(tài)傳遞都是聲明式的。這里要認清一個現(xiàn)實LangChain4j 的迭代速度很快API 在不同小版本之間有過調整所以工程落地時要先鎖版本不要一路上最新。2.2 SpringBoot3 工程骨架與模型接入的最小配置SpringBoot3 強制要求 JDK17 起步實際項目我建議直接用 JDK21LTS 版本虛擬線程對 AI 場景的流式輸出有幫助。創(chuàng)建一個標準的 Maven 工程關鍵依賴就三個langchain4j-spring-boot-starter、langchain4j-open-ai兼容 OpenAI 協(xié)議的服務都走這個、langgraph4j-core。下面這個 pom 片段是經(jīng)過驗證的最小集合properties java.version21/java.version spring-boot.version3.3.5/spring-boot.version /properties dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-spring-boot-starter/artifactId /dependency dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId /dependency !-- LangGraph4j 建議掛在 langchain4j 同一版本族下避免接口不匹配 -- dependency groupIdcom.langchain4j/groupId artifactIdlanggraph4j-core/artifactId /dependency /dependencies注意 langchain4j 和 langgraph4j 的 groupId 不一樣前者是 dev.langchain4j后者是 com.langchain4j。版本號我刻意沒寫死因為這兩個庫的版本更新頻繁直接查 Maven 倉庫選最新穩(wěn)定版即可但一定要檢查 langgraph4j 依賴的 langchain4j-core 版本和你項目里的保持一致否則運行時會出現(xiàn) NoSuchMethodError。模型接入配置走 SpringBoot 的配置文件這里以 OpenAI 兼容接口為例國內云廠商的模型網(wǎng)關、Ollama、vLLM 部署的本地模型都能通過這個方式接入langchain4j: open-ai: chat-model: base-url: ${LLM_BASE_URL:http://localhost:8000/v1} api-key: ${LLM_API_KEY:sk-local} model-name: ${LLM_MODEL:qwen2.5-coder:32b} temperature: 0.2 max-tokens: 4096 log-requests: true log-responses: true embedding-model: base-url: ${LLM_BASE_URL:http://localhost:8000/v1} api-key: ${LLM_API_KEY:sk-local} model-name: ${EMBEDDING_MODEL:bge-m3}base-url 通過環(huán)境變量注入這樣同一個 jar 包在開發(fā)、測試、生產(chǎn)環(huán)境不用改配置。temperature 設成 0.2 是代碼生成場景的推薦值溫度太高模型會自由發(fā)揮生成的東西看著像代碼但編譯不過。log-requests 和 log-responses 在聯(lián)調階段一定要開LangChain4j 會把完整的請求體和響應體打出來排查 prompt 問題和 token 統(tǒng)計都靠它。2.3 模型接入層的抽象OpenAI 兼容接口與本地模型共存實際項目里不太可能只接一家模型。我一般會在業(yè)務代碼之上加一層 ModelRouter按場景路由到不同模型意圖識別用便宜的小模型代碼生成用能力強的 32B 以上模型Embedding 固定用一個。LangChain4j 的 ChatModel 接口天然支持這種抽象你只需要在配置類里聲明多個 BeanConfiguration public class ModelConfig { Bean Primary public ChatModel mainChatModel(Value(${llm.main.model}) String model) { return OpenAiChatModel.builder() .baseUrl(http://localhost:8000/v1) .apiKey(sk-local) .modelName(model) .temperature(0.2) .build(); } Bean public ChatModel fastChatModel(Value(${llm.fast.model}) String model) { return OpenAiChatModel.builder() .baseUrl(http://localhost:8000/v1) .apiKey(sk-local) .modelName(model) .temperature(0.1) .maxTokens(1024) .build(); } }Primary 注解保證默認注入的是能力最強的那個模型需要快模型的地方用 Qualifier(fastChatModel) 顯式指定。這個做法的好處是后續(xù)接 Anthropic 或 Gemini 時只要再實現(xiàn)一個 ChatModel Bean業(yè)務代碼零改動。到了這個階段你已經(jīng)有一個能對話、能 Embedding 的 SpringBoot3 后端了下一步就是把它升級成能自主完成任務的智能體。3. 用 LangGraph4j 編排代碼生成 Agent節(jié)點、條件邊與 ToolCalling3.1 LangGraph4j 的核心概念State、節(jié)點與條件邊LangGraph4j 解決的核心問題是一個智能體不只是一次模型調用而是感知-規(guī)劃-行動-觀察的循環(huán)。你需要在代碼里顯式表達這個循環(huán)包括循環(huán)什么時候結束、狀態(tài)怎么在節(jié)點之間傳遞。它有三個基礎概念State狀態(tài)、Node節(jié)點、Edge邊。State 是一個在節(jié)點間傳遞的數(shù)據(jù)載體Node 是處理狀態(tài)的一個函數(shù)Edge 定義節(jié)點的連接關系其中一種特殊的邊叫條件邊根據(jù)當前狀態(tài)決定下一步走哪個節(jié)點。這樣設計的好處是人和模型的分工變清楚了節(jié)點里的邏輯是你寫死的確定性代碼模型只負責在節(jié)點里產(chǎn)出內容或決定走哪條條件邊。相比純提示詞驅動的 AgentLangGraph4j 讓整個流程可觀測、可 debug、可回放——這正是生產(chǎn)環(huán)境最需要的東西。下面定義一個代碼生成工作流的狀態(tài)類型public interface CodeGenState { GraphStateDTOString requirement GraphStateDTO.string(requirement); GraphStateDTOString plan GraphStateDTO.string(plan); GraphStateDTOString sourceCode GraphStateDTO.string(sourceCode); GraphStateDTOString execResult GraphStateDTO.string(execResult); GraphStateDTOInteger retryCount GraphStateDTO.int32(retryCount); GraphStateDTOBoolean passed GraphStateDTO.bool(passed); }每個節(jié)點只關心它需要的字段LangGraph4j 會在節(jié)點完成后自動合并新狀態(tài)。retryCount 在這里很關鍵它控制整個工作流的終止條件避免模型陷入生成-執(zhí)行失敗-再生成的死循環(huán)。3.2 定義代碼生成工具Tool 的參數(shù)描述決定調用準確率ToolCalling 是大模型連接外部系統(tǒng)的通道。LangChain4j 的做法是用 Tool 注解標記一個 Java 方法模型根據(jù)方法名、描述和參數(shù)描述來決定什么時候調用、傳什么參數(shù)。很多人第一次寫工具方法時只寫方法名結果模型死活不調用原因就是描述信息太少模型不知道這個方法能干什么、參數(shù)應該填什么。Component public class CodeExecutionTools { Tool(執(zhí)行傳入的 Java 源碼返回編譯和運行的標準輸出如果編譯失敗則返回錯誤信息) public String runJavaCode( ToolParam(完整的 Java 源碼字符串必須包含 public class Main 和 main 方法) String sourceCode) { // 將 sourceCode 寫入臨時文件調用 javac 編譯java 執(zhí)行 // 捕獲 stdout 和 stderr超時時間設為 10 秒防止模型生成死循環(huán)代碼。 return output; } Tool(讀取項目內指定相對路徑的文本文件內容) public String readFile( ToolParam(相對項目根目錄的文件路徑) String filePath) { return FileUtil.readUtf8String(filePath); } }ToolParam 里的描述會作為參數(shù)說明拼進模型請求的 tools 定義里描述越具體模型傳參的準確率越高。我踩過的坑是參數(shù)描述太模糊模型把文件路徑傳成 test.java而實際要傳 src/test/java/Test.java。這個環(huán)節(jié)沒捷徑每個工具都要站在模型的角度寫清楚這個參數(shù)應該是怎樣的格式。3.3 組裝可執(zhí)行的工作流plan → 生成 → 執(zhí)行 → 評審有了狀態(tài)和工具就可以組裝工作流了。這個代碼生成 Agent 的流程是先讓模型讀需求做計劃再生成源碼然后調用工具執(zhí)行最后讓模型評審執(zhí)行結果。評審不通過且重試次數(shù)沒超限就帶著錯誤信息回到生成節(jié)點重新生成。Service public class CodeGenWorkflow { private final ChatModel chatModel; private final ToolExecutor toolExecutor; public CodeGenWorkflow(ChatModel chatModel, ToolExecutor toolExecutor) { this.chatModel chatModel; this.toolExecutor toolExecutor; } public StateGraphCodeGenState buildGraph() { StateGraphCodeGenState graph new StateGraph(CodeGenState.SPEC); graph.addNode(planner, this::planNode); graph.addNode(codegen, this::codeGenNode); graph.addNode(executor, this::executeNode); graph.addNode(reviewer, this::reviewNode); graph.setEntryPoint(planner); graph.addEdge(planner, codegen); graph.addConditionalEdge(executor, this::needFix, Map.of(true, codegen, false, reviewer)); graph.addEdge(reviewer, StateGraph.END); return graph; } private MapString, Object planNode(MapString, Object state) { String requirement (String) state.get(requirement); String prompt 你是資深后端架構師。根據(jù)需求輸出實現(xiàn)計劃要求 1. 列出需要創(chuàng)建的類及其職責 2. 標注每個類之間的依賴關系 3. 計劃不超過 200 字 需求%s .formatted(requirement); String plan chatModel.generate(prompt); return Map.of(plan, plan); } }condition 邊是 LangGraph4j 的核心needFix 方法返回 true 時回到 codegen 節(jié)點false 時進入 reviewer 節(jié)點。這樣模型生成錯了也不怕executor 節(jié)點拿到的編譯錯誤會被拼進新一輪生成的 Prompt形成錯誤反饋-重新生成的閉環(huán)。注意節(jié)點函數(shù)的入?yún)⒑头祷刂刀际?Map變量名要和狀態(tài)定義時的 key 保持一致。組裝工具調用要注意 langgraph4j 的機制和 LangChain4j 的 AiServices 不太一樣——工作流節(jié)點里需要你自己把 ChatModel 和工具的執(zhí)行結果串聯(lián)起來。常見的做法是復用 LangChain4j 的 AiServices把它綁定工具類后作為一個整體節(jié)點調用private MapString, Object codeGenNode(MapString, Object state) { CodeGenerator agent AiServices.builder(CodeGenerator.class) .chatModel(chatModel) .tools(new CodeExecutionTools()) .build(); String requirement (String) state.get(requirement); String plan (String) state.get(plan); String lastError state.get(execResult) null ? : (String) state.get(execResult); String code agent.generate(requirement, plan, lastError); return Map.of(sourceCode, code); }這里 AiServices 內部已經(jīng)把 ToolCalling 的消息循環(huán)封裝好了模型請求調用工具框架自動執(zhí)行工具方法再把結果回傳給模型直到模型給出最終答案。你只需要在界面接口里定義 generate 方法并標注 SystemMessage 和 UserMessage 模板即可這就是 LangChain4j 把 Java 接口變成 Agent 的標準方式。3.4 流式輸出與進度推送SSE 把過程反饋給前端工作流跑起來后如果整個操作要等 30 秒才返回前端的體驗是災難。我一般用 SSEServer-Sent Events把每個節(jié)點的執(zhí)行狀態(tài)實時推給前端。后端在節(jié)點入口往 Spring 的 SseEmitter 里寫一條進度事件前端在畫布對應節(jié)點上亮燈。LangGraph4j 本身沒有內置 SSE 支持但你可以用一個全局的 WorkflowProgressPublisher 組件節(jié)點里調用它發(fā)事件Controller 層暴露 SSE 接口訂閱。Go 的實現(xiàn)不復雜SseEmitter 存進 ConcurrentHashMap節(jié)點狀態(tài)變化時遍歷發(fā)送前端用 EventSource 接收。注意 SseEmitter 默認超時時間是 30 秒工作流超過這個時間要記得在初始化時顯式設置更長超時。4. Vue3 可視化編排從拖拽畫布到應用管理的一體化前端4.1 畫布的數(shù)據(jù)模型一個 JSON 就是一個工作流可視化編排的本質是所見即所得地編輯一個 JSON后端拿著這個 JSON 再把它翻譯成 LangGraph4j 的 StateGraph。所以前端畫布的數(shù)據(jù)模型一定要工作流對齊而不是只顧畫得好看。我維護的數(shù)據(jù)結構長這樣{ nodes: [ { id: n1, type: agent, label: 代碼生成, config: { model: qwen2.5-coder:32b, temperature: 0.2 } }, { id: n2, type: tool, label: 執(zhí)行器, config: { toolName: runJavaCode } }, { id: n3, type: condition, label: 評審通過, config: { condition: review.passed true } } ], edges: [ { source: n1, target: n2, label: normal }, { source: n2, target: n3, label: normal }, { source: n3, target: n1, label: false }, { source: n3, target: end, label: true } ], global: { maxRetry: 3, timeoutSeconds: 120 } }node 的 config 字段是給屬性面板用的每個節(jié)點的類型不同配置項也不同。agent 節(jié)點要選模型和調參tool 節(jié)點要選工具名和入?yún)?。后端解析這個 JSON 時按 type 分發(fā)到不同的節(jié)點工廠這樣就實現(xiàn)了一次編排、到處執(zhí)行。4.2 節(jié)點面板、連線和屬性表單的 Vue3 實現(xiàn)Vue3 實現(xiàn)拖拽畫布選 vue-flow 最省力它對 Vue3 Composition API 支持得很好節(jié)點拖拽、連線、縮放的交互開箱即用。核心組件結構是左側一個節(jié)點物料面板中間是畫布右側是選中節(jié)點的屬性表單三個區(qū)域的數(shù)據(jù)流都匯到一個 reactive 對象上script setup import { ref, reactive, computed } from vue import { VueFlow, useVueFlow } from vue-flow/core import vue-flow/core/dist/style.css import AgentNode from ./nodes/AgentNode.vue import ToolNode from ./nodes/ToolNode.vue const nodes ref([]) const edges ref([]) const selectedNode ref(null) // 左側物料面板的拖拽把節(jié)點類型寫進 dataTransfer // 畫布 drop 事件里根據(jù)類型創(chuàng)建節(jié)點對象。 function onDragStart(event, type) { event.dataTransfer.setData(application/flow-type, type) event.dataTransfer.effectAllowed move } function onDrop(event) { const type event.dataTransfer.getData(application/flow-type) const position project({ x: event.clientX, y: event.clientY }) nodes.value.push({ id: node-${Date.now()}, type, position, config: defaultConfig(type) }) } // 選中節(jié)點后它的 config 直接綁定到右側表單組件 // 表單的每一項都是動態(tài)渲染的節(jié)點類型決定渲染哪些字段。 const selectedConfig computed(() selectedNode.value?.config || {}) /script核心思路就兩條節(jié)點類型決定默認配置和屬性表單的渲染字段選中節(jié)點和屬性表單之間用 selectedNode 單例綁定。屬性表單這里有一個 Vue3 動態(tài)增刪表單項的經(jīng)典需求——agent 節(jié)點的環(huán)境變量是不定長的我直接用 v-for 渲染一組 key-value 輸入框添加和刪除按鈕只操作數(shù)組的 push 和 splice配 deep 監(jiān)聽同步到畫布節(jié)點的 configdiv v-for(env, index) in selectedConfig.envs :keyindex classenv-row input v-modelenv.key placeholder環(huán)境變量名 / input v-modelenv.value placeholder值 / el-button typedanger clickselectedConfig.envs.splice(index, 1)刪除/el-button /div el-button clickselectedConfig.envs.push({ key: , value: })添加環(huán)境變量/el-button這個表單項的增刪改查全在 reactive 對象上完成Vue3 的代理機制保證畫布節(jié)點同步刷新。整體畫布在工作中就是一個后臺管理系統(tǒng)里的復雜表單只是這個表單的結構不是人定的是用戶自己拖出來的。4.3 應用管理與一鍵部署的前后端銜接可視化編輯只是平臺的前半段后半段是應用管理和一鍵部署。后端需要提供應用維度的 CRUD 接口創(chuàng)建應用、保存畫布 JSON、發(fā)布版本、查看部署狀態(tài)。我習慣把保存和發(fā)布拆成兩個動作——保存只寫數(shù)據(jù)庫草稿發(fā)布才真正觸發(fā)構建和部署。這樣用戶頻繁調整畫布不會產(chǎn)生一堆垃圾部署記錄發(fā)布記錄表里每一行都可回滾。一鍵部署的后端實現(xiàn)是異步任務加日志流推送。收到發(fā)布請求后后端把應用 ID、畫布 JSON、模型配置打包成一個部署任務丟給線程池執(zhí)行。部署過程分四步生成后端工程骨架、寫入工作流配置、Maven 打包、Docker 構建并啟動。每一步的日志都通過 SSE 實時推給前端用戶在瀏覽器里能看到構建進度條一行一行滾動這是一鍵部署體驗的關鍵。PostMapping(/api/apps/{appId}/deploy) public SseEmitter deploy(PathVariable Long appId, RequestBody DeployRequest request) { SseEmitter emitter new SseEmitter(300_000L); deployService.submit(appId, request, emitter); return emitter; }SseEmitter 的超時時間我顯式設成了 300 秒因為首次構建要拉 Maven 依賴和 Docker 基礎鏡像慢的時候能跑到 3 分鐘以上。前端 EventSource 創(chuàng)建后要監(jiān)聽 readyState 變化部署完成后主動 close 連接避免無效連接占滿 Tomcat 線程。5. 從開發(fā)到上線的常見問題排查5 個高頻踩坑點5.1 SpringBoot 版本與 JDK 版本不匹配導致注解掃描失敗現(xiàn)象項目啟動后報 ClassNotFoundException: jakarta.servlet.http.HttpServlet或者 swagger 頁面打不開接口全 404。原因SpringBoot3 用的是 Jakarta EE 規(guī)范包名從 javax.* 改成了 jakarta.*。如果你的本機 JDK 是 8 或 11Maven 編譯時用了低版本 source/target生成的字節(jié)碼指向老的 javax 包運行時必然找不到類。還有一種情況是依賴里混入了 javax.servlet-api 的老傳遞依賴把包名污染了。解決JDK 鎖到 17 或 21在 pom 里顯式聲明 spring-boot-maven-plugin 的 jvmArguments 為 --add-opens java.base/java.langALL-UNNAMED防止反射告警。排除所有 javax.servlet 開頭的依賴改用 spring-boot-starter-web 統(tǒng)一管理。排查命令是 mvn dependency:tree看是否有老 servlet 傳遞進來。5.2 WebFlux 與 WebMVC 沖突SSE 流式輸出起不來的元兇現(xiàn)象后端加了 SSE 接口后項目啟動直接報 SpringApplicationApplicationContextException: Invalid web application: spring.main.web-application-typenone或者 SSE 接口永遠掛起不返回。原因LangChain4j 的流式響應在部分版本里默認依賴 WebFlux 的 Flux 類型引入 spring-boot-starter-webflux 后和原來的 spring-boot-starter-web 打架。Spring 容器檢測到兩個 WebApplicationFactory直接不知道用哪個只能報錯。解決確定自己用的是 Servlet 棧還是響應式棧。我用 Servlet 棧做 SSE就別引 webfluxLangChain4j 流式輸出用 StreamingChatModel 接口阻塞式訂閱 Flux 再轉 SseEmitter。如果非得混用就把 web-application-type 顯式設為 servlet并保證 webflux 的依賴 scope 是 provided 或完全不引入。這個坑排查起來很費時間啟動日志里看到 invalid web application 直接去查依賴樹別去改配置瞎試。5.3 反代緩沖讓流式輸出變成等半天一次性吐出來現(xiàn)象本地 flow 輸出一個字一個字蹦部署到服務器之后前端 EventSource 要等幾十秒才收到第一批內容。原因Nginx 默認開了 proxy_buffering會等后端響應全部寫完再一次性轉發(fā)給客戶端SSE 的 chunked 流式效果被徹底吞掉。這不是后端代碼的問題是網(wǎng)關層配置問題典型的上線才踩坑。解決在 Nginx 的 location 配置里加上 proxy_buffering off; 和 proxy_cache off;同時把 proxy_read_timeout 調到 300 秒以上。注意 SSE 用的是長連接心跳設置要同時照顧 Nginx 和瀏覽器兩側的超時。代碼里 SseEmitter 注釋里寫清楚必須配 Nginx 關緩沖防止部署的人不懂這個關聯(lián)關系。5.4 ToolCalling 工具參數(shù)缺失描述模型寧可拒絕也不調用現(xiàn)象日志里模型明確說需要調用工具但響應里的 tool_calls 是空的或者傳過來一個空的 JSON 參數(shù)業(yè)務側解析直接拋異常。原因大模型在不確定工具參數(shù)格式時會選擇不調用或傳入空值。而我早期寫的 ToolParam 只有參數(shù)名沒有描述模型不知道這個字符串應該填相對路徑還是絕對路徑。更隱蔽的是參數(shù)類型不匹配——工具方法聲明的是 Map模型傳過來的卻是 JSON 字符串。解決每個 ToolParam 都按格式 示例寫描述比如相對項目根目錄的文件路徑例如 src/main/java/Application.java。復雜參數(shù)不要用 Map定義成 POJO 配合 ToolParam 逐字段描述。另外要確認工具返回值轉成 String 后沒有截斷有些模型服務對 tool message 有長度限制超長返回會被丟棄表現(xiàn)為工具調用后模型沒有反應。5.5 Vue3 屬性繼承與表單校驗失效的連帶問題現(xiàn)象屬性面板里填的表單值保存后又變回原樣或者畫布的全屏按鈕在 Edge 瀏覽器里偶爾點不動鼠標點上去沒反應。原因這個現(xiàn)象和 Vue3 的組件屬性透傳機制有關。自定義組件如果根元素恰好是另一個組件外部傳入的 class、style、事件監(jiān)聽器會透傳到根組件上如果根組件內部也用 v-bind$attrs容易產(chǎn)生事件覆蓋。比較典型的是 Element Plus 的 el-form-item 在動態(tài)渲染時label 屬性被透傳走了導致校驗觸發(fā)條件丟失表單值不更新另一種情況是畫布全屏按鈕的外層容器把 click 事件捕獲了。解決在 Vue3 組件里顯式聲明 inheritAttrs: false并手動在需要的位置綁定 $attrs避免事件和樣式透傳到意外的 DOM 節(jié)點上。動態(tài)表單項的 prop 屬性要用 index 拼接區(qū)分不要都用同一個固定字符串否則校驗狀態(tài)互相覆蓋。Edge 里點不動按鈕先懷疑是否被某個透明遮罩層擋住給按鈕加 z-index 并確保外層組件有明確的定位上下文別裸奔。注意以上五條是高頻但不是全部AI 應用平臺涉及的新依賴多、版本節(jié)奏快上線前把它當體檢列表過一遍能省出至少一個周末的排錯時間。6. 進階多模型路由、鏈路追蹤與壓測驗證平臺能跑通以后下一個問題就是成本和質量。大模型 API 按 token 計費代碼生成場景一次調用動輒幾千 token全公司都用最強的 32B 模型扛不住。我一般會在網(wǎng)關層做模型路由分發(fā)而這正是多路召回思路的工程化落地——把用戶請求先做意圖分類簡單任務翻譯、格式化、解釋報錯直接落到一個輕量模型上復雜任務生成完整項目、多文件改造才轉發(fā)到強模型。public interface ModelRouter { String route(String intent, int estimatedInputTokens); } Component public class DefaultModelRouter implements ModelRouter { Override public String route(String intent, int estimatedInputTokens) { if (estimatedInputTokens 3000 || intent.startsWith(codegen:)) { return strong; } return fast; } }估 token 的辦法不精確但夠用中文字符按 1.5 倍估算代碼字符按 0.4 倍估算取整加余量。另外鏈路追蹤要趁早接工作流的每個節(jié)點執(zhí)行耗時、模型調用的 token 消耗、工具調用的成敗全都要落日志traceId 從請求進來就生成并貫穿 SSE 和異步任務。我用的是最樸素的方案——MDC put traceIdlogback 輸出到控制臺和文件排障時按 traceId grep 一次拿到全鏈路。微服務規(guī)模大了再上 SkyWalking 也不遲單機階段別過度設計。壓測驗證重點關注兩個指標工作流單次完成時間 P95 和部署任務的并發(fā)上限。前者決定用戶體驗后者決定平臺的穩(wěn)定性。用壓測工具模擬 50 個并發(fā)用戶同時觸發(fā)代碼生成工作流觀察數(shù)據(jù)庫連接池和線程池是否成為瓶頸。LangGraph4j 的節(jié)點執(zhí)行是阻塞式的但節(jié)點之間沒有共享狀態(tài)可以放心加 Async 把無依賴的節(jié)點并行化。我自己踩過的教訓是剛開始為圖省事把所有工具方法都加上 synchronized結果多路召回一上線就串行排隊P95 從 8 秒暴漲到 40 秒。后來改成工具內部用無狀態(tài)設計只在寫文件時用臨時文件隔離壓測直接達標。這個平臺的完整落地路徑是SpringBoot3 接模型能力LangGraph4j 編排復雜工作流ToolCalling 打通系統(tǒng)邊界Vue3 把這一切變成可視化操作。到了后期你會意識到平臺最大的價值不是某一個 AI 能力而是把散落在各種腳本里的 AI 調用沉淀成了可編排、可觀測、可回滾的標準化應用。希望這些思路和踩坑記錄能幫到你少走一段我走過的彎路。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码激情AAAAA片-区区| 大香蕉久艹| xx人人xx| 人人爱人人添| 午夜九九电影| 无码一区二区三区四区五区| 九热精品| 97超碰在线免费观看| 五月丁香网站| 九九综合久久| 伊人网碰碰| 五月天婷婷五月| 五月丁香 啪啪| 好叼操在线观看| 五月天色影院| 99久热在线精品| 五月开心深深爱激情综合| 日韩欧美颜射| 99热都是精品| 婷婷激情综合网| 日逼影音先锋男人资源站| 色爱五月天| 99热在线只有精品| 亚洲五月停停| 99热网站| 五月天婷婷在线AN| 激情深爱综合网| 天天噜噜| 99视频在线精品免费观看2| 99re这里| 婷婷成人五月天成人文学| 26uuu亚洲欧美另类| 大香蕉精品视频| 野外99热| 小骚穴电影| 亚州第一黄网| 五月天怕怕| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 日韩精品呦呦va| 中文字幕按摩做爰| 在线观看免费人成视频无码| 婷婷五月久久| 中文婷婷狠狠| 丁香五月天堂网AV| 99在线公开视频| 秋霞av不能| 91美女啪啪| 久久婷婷五月天大香蕉| 日韩成人影片在线观看| 色婷婷色综合激情91| 3DAV亚洲香蕉久久 一区二区| 三男玩一女三A片| 一本色道久久综合狠狠躁小说| AV在线免费播放| 色婷婷免费观看| 成人AV中文字幕| 丁香五月婷婷六月丁香| 日韩啪啪视频| 国产成人精品一区二三区熟女在线| 国产亚洲色婷婷久久99精品91| 综合网天天| 婷婷午夜天| 婷婷五月综合在线| 99在线视频观看| 五月丁香色色色| AⅤ在线播放网| 91人人人人人人人| 综合AV在线| 91狠狠色丁香婷婷综合久久精品| 五月激情婷婷六月丁香| 国产午夜一区二区三区| 五月丁香| 情色五月天 网站| 色婷婷AV在线观看| 婷婷五月综合在线| 小视频一区 | 麻豆观看夏晴子| 亚洲成人在线在线| 插逼综合网| 五月丁香六月婷综合成人综合| 丁香五月天信号| 五月婷婷少妇之| 中文国产五月天| 丁香五月天激情免费在线观看AV777| 亚洲综合五月天| 九九久久五月天| 激情丁香五月| www,色综合| 久久看婷婷| 九九热这里只有精品556| 激情伊人五月婷婷久久| 99色中文| 9九九久久精品无码专区| 丁香五月婷婷www..com| 激情五婷精品网在线观看网址| 色丁香综合影院| 激情五月婷婷色| 国产激情av| 伊人五月天| 草草色情综合网| 久久999久久999久久999久久| 天天看A片| 开心四月婷婷在线色播播| 开心激情网在线| 色五月综合在线| 狠狠色婷婷丁香六月| WWW,婷婷,COM| 少妇人妻人伦A片| 婷婷不卡基地| 六月丁香基地| 婷婷永久在线| 嫩草国产| 天天爽天天做| 亚洲精品一区中文字幕乱码| 久久99久久久久久| 五月婷婷啪啪| 久久综合九色综合88i| 色色五月天网站| 色。 婷婷婷| 欧美黄色韩日网| 狠狠色综合网| 99色综合网| 亚洲另类久久| 五月丁香婷婷色| 97婷婷在线视频| 伊人青草成人| 99久久6| 五月婷婷丁香91| 中文字幕,综合,91| 另类小说五月天综合网| 五月天婷婷丁香| 精品操逼一区二区| 狠狠干伊人| 天天操婷婷| 91 九色 入口| 五月天.com| 六月丁香婷婷天堂| 五月在线| 99精品在线| 亚洲精品婷婷| 久热婷婷在线视频| 桔色成人在线| 五月丁香狠狠爱婷婷综合| 欧美狠狠草| 色婷婷中文在线| 玖玖九九9999在线观看视频精品| 五月丁香婷婷激激激综合网色播| 日本强伦片中文字幕免费看| 美女要搞搞天天搞搞搞网站| 色色99| 久久9视频欧美| 五月天激情av| 久久久久久久,99精品视频| 天天做天天爱天天爽在| 粉嫩AV久久一区二区三区| 日本精品在线噜噜噜| 97超碰在线免费观看| 96色婷婷| 激情六月天婷婷| 99色免费在线观看| 色婷婷视频在线| 综合在线观看99| 色综合久久天天综合网| 在线视频婷婷| 亚洲色激情| 色色色五月天婷婷| 思思re99视频在线观看| 欧美伊人9| 亚洲第79页| a性生活久久无| 精品九九视频在线观看| 综合久久十| 久久开心五月婷婷| 欧美婷婷色五月网| 日本一毛片| 欧洲一区二区| 五月丁香婷婷六月| 99在线观看免费精品视频| 99色在线观看| 婷婷丁香激情| 激情丁香久久久久久| 天天干天天干天天操| 亚洲在线成人| 五月丁香婷婷色色| 丁香五月综合图片在线观看| 色情成人五月天| 夜夜综合色| 五月婷婷 自拍| 天天日天天爽夜夜爽| 九九综合图片网| 噜一噜在线| 丁香狠狠色婷婷| 色婷婷久久综合| 嫩草视频在线观看| 大陆极品少妇内射AAAAAA| 丁香五月激情综合网激情五月| 五月丁香av在线| 亚洲中文字幕在线观看| 天天五月天综合网址| 欧美丁香五月| 精品久热| 情趣视频66| 九九色区| 内射人妻视频国内| 丁香婷婷色情| 丁香五月另类小说在线阅读| 草草影院爱爱| 99热精品在线观看| 狼人婷婷综合| www.五月婷婷久久.com| 五月天婷婷社区久久综合| 六月婷婷激情| 五月激情综合婷婷| 色色亚洲视频| 夜夜干 夜夜操| 中文AV在线观看| 五月婷婷影院| 这里只有精品视频在线| 丁香婷婷综合五月天| 97人碰人操| 色久影院| 亚洲色情网站| 六月婷婷无码| 久久婷网| 婷久久久| 天天综合精品| 久草狼人| 婷婷五月天激情基地| 97久久人人| 91久久精品国产91性色TV| 婷婷五月色天| 激情综合网激情五月丁香五月俺也去| 男人天堂99| 激情六月五月婷婷综合网| 国产在线视频1234| 超碰9799| 九九这里有精品| 婷婷情色激情| 亚洲综合五月天综合| 99热碰碰| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 碰碰碰97免费精彩视频| 日日影院 | 国产亚洲精品久久一区二区三区| 五月婷婷九月婷婷九月婷婷| 丁香五月 综合| 碰碰操91| 久久丁香婷婷色情综合| 99热热热99精品丁香| 猫咪伊人久久| 天天搞天天爽| 岛国AV网站| 五月天丁香啪啪综合| 伊人9草在线观看| 五月天激情国产综合婷婷婷 | 久久久噜噜噜操操操| 婷婷伊人网| 五月天婷婷色| 人人草开心五月天| 人人摸人人干人人做| 精品视频这里只有精品| 99热最新| 超碰在线观看99| 色婷婷另类| http:色情日本com| 免费视频无码| 婷婷色色网| 秋霞成人毛片一级A片| 六月丁香激情网| 开心五月婷婷在线视频免费观看| 狠狠做五月婷婷| 91一起艹| 中文久久婷婷| 九九热在线观看视频| 影音先锋人妻出差| 丁香六月天婷婷开心综合| 秋霞电影一级黄| 97操视频| 色五月激情视频在线综合| 精品亚洲国产成AV人片传媒| 久久大香蕉视频| 久久激情四射| 激情婷婷22月间| 影音先锋男人女人| 99色在线观看视频者| 91色呦哟| 99九九这里有免费视频| 国产女18毛片多18精品| 婷婷激情六月中文| 综合网色综合| 久久亚洲无码| 五月色网| WWW丁香五月| 天天插天天玩天天干| 91操人| 亚洲欧美婷婷五月色综合| av色婷婷| 99色色网站| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 色综合婷婷| 九九综合九九| 色狠狠综合| 婷婷激情五月综合| 婷婷大香焦| 丁香色色五月| 99热综合在线| 久久五月天婷婷视频| 伊人久久激情图区五月| 久久丁香综合香蕉| 色欲色香综合网站| 91久久综合| 色综合久久44| 青草性爱视频| 五月丁香啪啪伦理电影| 99热免费精品| www99热| 4399无码视频| 狠狠干在线| 日良久久| 九九九九九九九热| 97干视频在线| 99在线精品视频| 一二线视频 另类| 亚洲区1| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 九九五月天| 九九aV| 九九爱激情| 婷婷99丁香| 一本久道综合色婷婷五月| 99热在线爱| 激情合网婷婷| 婷久久| 五月天激情小说| 成人久碰| 婷婷色激情网| 天天舔天天操| 五月激情综合网| 国内精品免费一区二区2009| 91美女被操| 六月婷婷狠狠| 日本WWW九九九| 嫩草AV久久伊人妇女超级A| 91久女| 性爱网五月天| 这里只有精品视频在线看| 99热热这里只精品996小说| 丁香五月激情综合| 五月丁香综合影院| 欧美综合在线五月天色婷婷| 日本三级黄色大片| 五月色婷婷夜色| 五月天激情小说| 婷婷五月天在婷| 影音先锋一区二区三区| 99爱在线| 婷婷婷色五月| 色婷婷狠狠18禁| 成人五月天综合网| 99色最新在线视频| 九九 激情 网| 99精彩视频在线观看| 久久香蕉网| 成年人看Va免费视频| 热99这就是精品视频| 欧美高潮9| 99人人干| 日本久热| 天天天干夜夜夜操| 久综合4| 婷婷中文字幕| 久草视频一,二三四| 日本操B视频| 啪啪啪大香蕉| 夜夜www| 六月丁香婷婷爱| 国产做爰视频免费播放| 丁香五月激情无码视频| 97碰91| 日本天堂网站99| 成人五月天色天堂| 婷婷在线视频| 色久九| WWW.桔色成人.COM| 久碰久| 午夜九九电影| 日产精品一线二线三线芒果| 丁香五月天在线观看视频| 婷婷六月亚洲综合| 丁香久久九九99| 久久机只有这里精品| 成人在线99| 五月丁香六月激情综合| 久久婷婷人人| www.97干视频| 天天日天天爽| 激情婷婷九月| 欧美激情综合色综合啪啪五月| 色九九综合色| 人人人人人人人草| 成人AV片播放| 丁香六月色婷婷| 五月丁香综合色婷婷| 人妻系列久久久久久久久久久| 日日综合网| 日韩在线视频中文字幕| 啪啪激情网| 三级毛片7979| 在线成人网站| 好好干Av| 五月天婷婷综合网| 五月丁花色综合网| 日本性视频| 一级二级香港秋霞欧美欧美秋霞| 欧美,日韩成人在线| 丁香五月冃欧美| 91人久| 东北婷婷五月天| 国产午夜精品AV一区二区麻豆| 五月色丁香综合| 日本高清久久| 天天狠狠色| 婷婷桃色网| 国产婷婷婷| 久热中文字幕在线线观看 | 九九色影院| AAA久久| 色五月综合网| 玖玖在线资源视频| 淫视馆av三区| 99亚洲精品| 超碰电影在线播放| 五月天色色网站| 亚洲色五月天是什么| 欧美特大片黄| 亚洲中文乱字字幕在线永久| 91黄址| 天天日日夜夜| 亚洲丁香五月在线观看| 婷婷激情视频| 六月丁香啪啪| 五月天激情小说欧美激情| 色 五月 天 婷婷 丁香 九月| 激情久久久久久久久| 日韩欧美一级大黄网站| 男女啪啪做爰高潮无遮挡| 日韩按摩二区| 久久99激情| 这里只有精品视频在线| 色综合色综合网| 9视频1在线| 丁香五月天激情视频| 五月天色婷婷视频| 午夜成人综合| 日本强伦片中文字幕免费看| 99色色网| 狠狠va| 久久伊人婷| 婷婷综合网| WWW、日本色丁香、co m| 亚洲图色五月天| 91爱啪啪| 色久五月天| 色综合久久天天综合网| 人妻激情久久| 欧美人妻一区二区| 亚洲色情在线| 天天做天天爱天天摸| 婷婷色网址| 啊V视频在线观看| 99视频精品8 | 久草视频大香蕉99| 天天弄天天操| 色五月婷婷在线| 亚洲婷婷五月草久| 久久作爱| 69久久久| 丁香六月激情综合网| 吾爱AV导航| www.丁香五月| 99精品在线观看视频| 婷婷色五月色妇| 人人操AV| 色色色9 9 9| 国产乱子轮XXX农村| 免费AV在线| www.人人操人人看人人想人人摸 人人人人操,COM | 亚洲视频在线观看| AV在线观看网站| AAA亚洲AV| 色五月激情综合网| 99免费偷拍视频| 精品一二三区久久AAA片| 另类视频综合| 99精彩视频| 婷婷 亚洲图片 丁香| 久久久大香蕉| 97人人看一| 成人免费黄色短视频| 婷婷久久五月| 区美毛片子| 日韩av网址大全| 日本女天天爽| 亚洲综合成人网| 久久国产高清| 98热精品| 丁香五月婷婷总啪啪| 亚洲AV免费在线| 天天色丁香| 日日色综合| 综合五月激情| 少妇人妻凹凸视频| 久久996re热这里只有精品无码| 欧美在线干| 久热亚洲| 国产91九色| 五月丁香六月婷婷激情四射| 丁香花综合永久入口| 天堂成人A片永久免费网站| 99精彩视频| 久操大香蕉| Www99热| 国精产品一区二区三区| 日本人妻操| 欧美一级a | 六月丁香婷婷开心综合基地| 狠狠干激情五月| 人人操Av| 色噜噜伊人| 天天玩夜夜操天天爽| 亚洲第一黄网| 俺来也综合网精品一区| 国产精品久久99| 五月天激情图片| 精品久久9| 色色免费网站| 欧美日本VA| 激情综合五月婷| 五月天婷婷色在线视频免费观看 | 国产日日夜夜操| 狠狠操天天操综合| 玖玖资源天天无码| 激情五月少妇| 97色色色| 色情五月丁香| 五月婷婷六月丁香| 三男玩一女三A片| 欧洲色区| WWW.五月com| 91免费试看| 久久精品天| 婷婷九月在线| 玖玖色综合网| 亚洲人人96@| 这里只有精品视频看看| 五月丁香六月婷婷视频| 久久色五月| 五月婷色色| 成功精品影院| 成人五月天。COM| 超碰精品国产首页| 日韩人妻无码专区| 啪啪五月天啪啪| 天天搞天天色综合| 99热主页日本| tingtingzonghewang| 伊人婷婷五月天av| 丁香久月| 亚洲激情久久| 色综合久久8| 精品99在线| 色天天综合天天综合频道。| 伊人婷婷五月天av| 激情图片久久| 少妇高潮呻吟A片免费看软件| 日本久久九| 97色97干| www.操逼comm| 日本色爽| www.色五月| 超碰2021| 热99国产精品| 操日挥操日日| 99热97| 丁香五月之久操视频| 色婷婷情片| 丁香亭亭久久| 天天精品视频免费观看| 九九热这里| 99久热视频在线| 91人人操人人爱| 开心五月丁香综合久久| 五月 激情视频| 亚洲国产精品VA在线看黑人| 六月丁香停| 天色综合网站| 婷婷五月激情网| 91狼友视频在线观看| 九九五月天| 性天天中文网| 99久久九九| 五月天婷婷丁香花| 九九视频热| 日本久久精品| 94干大香蕉| 久久这里面只有精品视频| 五月丁香中文| 亚洲春色奇米影视| 日本怕怕视频| 欧洲亚洲午夜| 丁香五月婷婷少妇| 丁香五月婷婷激情97| 91偷拍视频| 人人摸人人搞| 国内一级片| 色玖玖| 五月亭亭直播| 影音先锋男人AV资源站| 五月婷婷六月丁香激情综合网| 久久九九@| 超碰2021| 色五月天网| 九九热这里只有精品6| 色色影院黄大片| 99热777| 亚洲精品又粗又大又爽A片| 天堂在线9| 俺也去在线视频| 极品人妻VIDEOSSS人妻| 亚洲五月丁香综合网| 97视频.干com| 99九九中文字幕视频| 婷婷激情啪啪| 最新高清无码专区| 涩涩涩,com| 日韩啪啪视频| 久99久在线| 97se视频在线| www.99日本| 思思热在线视频精品| 五月 婷 久| 99热只有国产在线精品| 亚洲蜜桃精久久久久久久久久久久 | 99操视频| 热99精品视频在线观看| 婷婷色五月天在线观看| 九九热欧美| 99久在线观看| 成人短视频在线| 超碰色综合| 日韩av在线免费观看| 99热成人精品网站| 98色花堂98t.R| 丁香五月色网| 影音先锋色婷婷| 97香蕉碰碰人妻国产欧美| 碰97久久| 翔田千里 50岁 无码| 婷婷五月天AV在线| 色五月婷婷操逼| 国产毛片精品一区二区色欲黄A片| 久久全色| 夜夜骑天天操| 91综合色| 婷婷九九| a色色片| 五月天成人免费视频| 九九热a| AV九九| 99在线免费视| 牛牛澡牛牛爽| 综合色色色色色色| 在线观看996精品| 丁香五月综合激情啪啪| 九月色婷婷| 丁香五月在线观看| 亚洲性爱干干| 超碰免费人人肏| 激情五月天伊人av| 99毛片| 97人人草| 亚洲综合五月天综合| av高清无码| 99热无码| 日本久久爽| 99热免费| 欧美英丁香开心快乐六月天网| 99久久超级| www.五月天婷婷| 99综合自拍| 色色色网站| 五月色丁香国产在线视频| 丁香花综合永久入口| site:pnnrt.com| 女婷久久| 精品夜夜澡人妻无码AV| 狠狠色噜噜狠狠| 午夜成人网站在线观看| 丁香啪啪| 亚洲色情网站| 99热这里只有精品1025| 黄色中文字目| 99在线免费视频| 五月综合视频在线| 北条麻妃伊人| 99热啪啪| 婷婷激情五月综合在线视频| 五月婷婷激情性爱| AA片在线观看视频在线播放| 婷婷狠狠色| 亚洲精品网站色视频| 久久综合五月天激情小说网站| 婷婷五月色惰| 嫩草综合网| 人妻激情视频| 99re6在线视频精品免费| 亚洲va欧美va天堂v国产综合| 97久久人人| 久久久91精品| 久久ab| 婷婷五月天激情五月天深爱五月天| 五月丁香无码| 亚洲精品一区中文字幕乱码| 五月欧美丁香在线观看| 婷婷情色五月天| 97色精品视频 | 久久亚洲天堂| 天天插天天插| 丁香婷婷色色| 日韩成人精品一区久久久久| 九九碰九九爱97超| 大鸡巴伊人网| 国外亚洲成AV人片在线观看| 97碰碰在线观看视频| 丁香色啪综合| 成人 在线 日韩| 欧美电影在线观看| 天天天天天日| 天天做天天爱天天要| 婷婷五六日| 99在线视频资源| 国产一级黄色影片,| 激情五月久久| 另类激情综合| 色五月综合在线| 99热精这里只有精品| 五月色婷婷中文字幕| 亚洲综合欧美色丁香婷婷888月图片 | 久久人操-久草婷婷-成人AV| 日韩一区二区A片免费观看| 丁香久久久| 另类小说五月天激情| 99热都是精品| 中文精品在| 婷婷综合伊人| 色在线免费观看| 日日日日日| 婷婷五月天综合在线| 五月天婷婷AV| 成人va在线播放| 丁香五月停停av| 久久机热这里只有| 99热这是里只有精品| 无码se| 五月婷婷啪啪啪| 国产精品丝| 影音先锋综合网| 七七色综合| 大香蕉久久视频久久视频 | 久久五月激情综合| 久久婷婷五月天激情| 色婷婷精品| 国产成人+亚洲+欧洲| 婷婷狠狠五月综合| 天天射天天射一道本日本社区| 天天日综合网射| 色丁香五月婷婷婷| site:xiongshengzz.com| 99热在线观看| 九九激情网| www.久久| 99久热在线精品| 久久综合丁香五月| 日韩成人精品中文字幕| 九九热色视频| 五月色婷婷在线观看| 日本色噜| 2020久久婷婷五月| 五月丁香色狠狠干大屄| 五月婷婷黄色视频| 色五月首页| 五月丁香婷爱在线| www.激情五月| 噜噜狠狠色综合久| 亚洲精品国产setv| 激情四射五月天| 久久99网| 无码免费人妻A片AAA毛片西瓜| 亚洲情综合五月天| chaopengdaxiangjiao| 丁香激情综合| 第四色色六月色综合| 亚洲视频1区| 久久99看免费| 99,色| 久久在这里有精品| 这里只有精品视频一区| 六月婷婷在线| www.婷婷亚洲基地| 五月丁香六月成人| 先锋影音av色五月天资源站| 五月婷婷性爱网| 大香蕉欧美在线| 日本三级中文字幕| 精品国产va久| 99热99热| av在线免费播放| 少妇综合网| 国产毛片操B| 在线综合91| 综合久| www。五月天。com| 久久99网| 狠狠色丁香| 五月天开心色色网| 日韩大片艹艹| 婷婷五月天激情文学小说| 激情宗合哪里能看| 免费观看欧美成人AA片爱我多深| 久热 91| 色婷五月天| bukadeavzaixian| 色色激情网| 色婷婷五月天激情综合 | 97色射| 久久久久久99精品无码| 99热无码精品| 99re思思热久久| 激情五月天婷婷五月天| 五月婷久久久久综合| 插逼综合网| 91精品久久久久久久久久久久| 色播播之激情五月婷婷| 丁香五月六月婷婷综合| www激情| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | www.色色com| 超碰免费成人| 丁香五月乱中文字幕| 99在线视频播放| 狠狠爱深色婷婷综合| 9999热在线免费观看| 五月婷婷和六月| 色99色| 久久久GOGO无码啪啪艺术| 婷婷丁香视频| 丁香婷婷少妇| 思思热久久艹| 久久激情网| 综合色色综合| 久久婷婷五月草视频| 99ri精品视频在线观看| 成人精品免费在线观看| 六月婷婷天天操夜夜爽视频| 热久精品| 五月婷婷丁香91| 俺来也综合网精品一区| 99精在线| 丁香伍月婷电影全集| AV在线资源| 久热只有精品| 五月精品99综合| 五月开心婷婷网| 亚洲激情另类| 丁香五月天天久久综合小说| 超碰三级秋霞| 狠狠爱婷婷爱| 九九激情视频| 色婷激情网| 激情婷婷| 久久9精品| 婷婷在线视频| 无码一级片| 开心五月深爱五月婷| www.狠狠| 97香蕉碰碰人妻国产欧美| 激情五月天综合| 又大又粗九一在线| 色婷婷五月天激情久久| 九九色婷婷| 99热免费精品| 九月激情综合| 婷婷丁香五月天熟女丝袜| 第四色26uuu| 中文字幕丰满孑伦无码专区| 看婷婷五月天网| 久久婷婷网| 婷婷丁香亚洲色综合91| 狠狠色综合精品视频在线| 中文字幕在线视频播放| 婷婷永久在线| 成人综合网站| 婷婷五月天色综合翘| 色久天| 99色激| AAA久久| 99热精品在线| 综合色播| WWW,激情五月天,COM| 久久色五月天| 国内久久久精品99| 色婷婷亚洲婷婷在线观看| 日本玖玖在线| 日本色狠狠| 久久精品日| A久久| 玖玖精品婷婷| 天堂中文国产| 日韩成人AV在线| 丁香五月婷婷超碰在线| 九九精品在线视频观看| 五月色亚洲| 美女五月天婷婷| 婷婷色色网| 无码G高清天| 综合色、色综合| 天天热夜夜操| 玖玖九九9999在线观看视频精品| 丁香五月综合在线观看| 激情丁香久久| 91大屁股精品| 久久草大香蕉| 久久综合丁香| 人人干天天舔| 欧美A级成人婬片免费看理论| 激情 婷婷 插| 久久六月综合| 色五月欧美| 五月丁香影院| 国产真人做爰视频免费| 久久99色色| 久热天堂| 超碰93在线观看| 99热99网| 99国产精品久久久久久久久久久 | 综合久久久婷| 国产日比| 天天激情夜夜干| 欧美日韩国产成人在线| 色五月天丁香婷婷| 玖玖视频福利| 婷婷五月花.97| 综合五月婷婷| av中文在线| 欧美成人AAA片一区国产精品| 天天碰夜夜爽| 九九热欧美| 婷婷五月天小说| 激情婷婷色五月| 伊人久久大香蕉网| 中文字幕按摩做爰| 狠狠狠狠狠操| 久久超视频| 亚洲色综合| 色丁香久久久| 色99热| 亚洲亚洲人成综合网络| 五月天精品视频| 综合网色| 99燥99日| 激情久久综合| www.操逼comm| 神马欧美精| 欧美内射AAAAAAXXXXX| 色五月婷婷丁香五月| 丁香五月婷婷啪啪| 亚洲成人AV高清字幕| 超碰人人操| 五月丁香久久综合精品| 婷婷色基地在线看| 色婷婷成人| 激情五月天婷婷丁香| 日日日日做夜夜夜夜无码| 丁香五月亚洲综合| 五月婷婷av| 天天透天天爱| 秋霞午夜理论| 色色色色色五月丁香| 五月丁香婷婷啪啪| 婷婷色五月婷| 丁香六月婷婷综合麻豆| 啪色综合| 91丨九色丨首页| 久草五月| 五月丁香六月情| 成人小说 五月天 婷婷| 久久香蕉丁香| 激情AV综合| 99视频在线精品免费观看2| 日日色综合| 97色伦另类图片小说视频 | 天天狠狠六月婷丁香影院| yellow视频在线观看91| 夜色.cnm| 五月婷婷综合在线| 91色吧网| 色婷婷色婷婷五月| 五月丁香综合网色欲| 99热免费精品| 天综合日日夜综合7799| 国产精品久久久久久久久久| 久久草大香蕉| 俺也去在线视频| 五月色情网| 色频玖玖五月天| 91艹人| 亭亭玉月丁香| 超碰chaompinm| 婷婷五月天AV在| 久久精品熟女亚洲AV麻豆| 久久激情视频| 久久五月天色婷婷| 五月综合婷婷五月| 日本熟妇人妻在线| site:minyis.com| 麻豆雪千夏| 丁香五月婷婷国产在线| 国产精品成人AV在线观看春天 | 丁香狠狠操| 91狼友视频在线观看| 五月婷婷大香蕉| 久久免片| 操骚货在线| 色婷婷综合网站| 色香五月天| 天天综合插插| 丁香婷婷六月婷婷六月婷婷六月婷婷 | 午夜丁香六月婷| 国产伊人五月天| 婷婷色五月开心五月| 综合超碰熟| 99久久終合| 亚洲亚洲人成综合网络| 五月天综合| 超碰av在线| 涩涩涩,com| 欧美六月| AV电影在线播放| 99热都是精品| 色综合激情| 玖玖视频福利| 五月花婷婷在线精品视频| 91久操| 色就是色婷婷五月亚洲激情| 久思思久视频| 五月开心婷婷中文字幕| 五月婷婷丁香| AV在线观看网站| 99精品在线| 日本色色网| 婷婷色五月噜噜| 丁香五月色综合色播五月| 99re思思| 丁香五月婷婷六月婷| 狠狠人妻久久久久久综合丁香| 丁香六月中文| 欧美英丁香开心快乐六月天网| 伊人久久丁香婷婷六月五月综合| 久久综合天天综合| 色色综合网络| 久久99热在线观看| 色七七九九| 五月婷六月| 色啪网| 久久综合婷婷激情| 婷婷94s| 婷婷色片| 99人妻碰碰碰久久久久禁片| 丁香综合伊人| 色播五月丁香婷婷| 丁香五月婷婷激情中文| 六月丁香激情| 任我肏| 色综合久久久久| 青青草婷婷五月天| 九九99视频精品| www.五月天婷婷| 狠狠爱综合| 色播五月丁香婷婷| 亚美欧色影院| 久久久久亚洲AV无码网影音先锋| 天天插综合| 色一色综合| 中文字幕不卡视频| 久久亚洲婷婷| 热久久66| 强伦轩人妻一区二区电影| 色色色色综合网| 熟妇内谢69XXXXXA片| 五月伊人91| 99黄色在线视频精品熟女| 深爱激情网五月| 丁香欧美| 婷婷精品在线| www.日日夜夜| 亚洲这里只有精品| 99性爱| 草久私拍| 成人 在线 日韩| 亚洲婷婷丁香五月视频| 亚洲无码色| 久久人人妻| 亚洲成人av在线观看| 九九操操| 五月天四色房丁香| 色婷婷a| 国产人妻777人伦精品HD| 亚洲在线播放| 色婷婷五月六月丁香综合视频| 9久热这里只有精品| 五月天婷婷操逼视频| 日产精品久久久久久久蜜臀 | 四射综合网| 六月丁香婷婷综合色播| 天天做 天天爱| 五月色影院| 永久天堂日本| 婷婷综合| 欧美色色色色色| 99国产精品久久久久久久久久久| 999九九九久久久99HD| 色欲Av五月天| 噜噜噜久久| 色婷婷在线视频| 天天综合久久| 五月综合激情综合久| 99热热这里只精品996小说| 国产乱妇乱子在线播视频播放网站| 激情性爱五月| 久久96热| 五月天成人免费视频| 久七香蕉| 操丝袜视频影院导航| 超碰在线国产| 婷婷性爱综合| 蜜乳A√| 99ri在线视频| 亚洲国产网站| 国产在线另类五月婷婷| 超碰成人免费| 久久婷婷激情四射五月天| 噜噜噜噜在线| 日日夜夜天天综合| 亚洲另类毛片| 这里只有精品视频在线看| aaa久久| 伊综合蕉| 五月丁香久久激情网| 色婷五月天| www.射伊蕉婷婷| 五月婷婷之综合激情| 人人色人人弄人人操| 亚洲色五月| 五月丁香操婷逼| 99草视频在线观看| 青草激情在线| 97精品人人A片免费看| 玖月婷婷爱丁香| 色五月天综合网| 久久久99免费视频| 99网| 日韩成人电影Av| 狠狠五月天激情| 五月天综合在线网| 天天操天天操综合| 9久久婷婷国产综合精品性色| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 九久9精品| 人妻激情在线| 激情综合99| 婷婷久久在线| 天天爽夜夜爽夜夜爽精品视频| 亚洲成AV人片在线观看| 婷婷丁香社区| 亚洲热热视频| 乱码操操| 日日撸夜夜操| 久热精彩视频98| 婷婷五月六月激情| 色综合99无码 | 激情婷婷五月| 情色婷婷五月天| 国产av影片| 超碰在线免费9| 青青草原伊人网| 色色综合激情| 婷婷丁香花五月天| 五月天婷婷基地| 99色.com| 五月婷婷亚洲| 色婷婷综合久久久久| 色婷婷五月天成人网| 任你操精品免费| 婷婷99狠狠躁天天躁中| 夜夜躁婷婷AV| 婷婷九九| 婷婷激情小说网| www.超碰在线| 九九色精品| 97色婷| 日韩狠狠色婷婷| 图片区 小说区 区 亚洲五月| 五月丁香六月婷婷不卡免费无码| 欧洲MV日韩MV国产| 免费视频这里只有精品| 91 久热| 九九热精品| 久久激情综合| 99热66| 久久一二三视频| 丁香花五月天社区| 五月天丁香成人| 色狠狠综合| 可以看的av| 亚洲国产va| 七七色色综合| 另类激情综合| 色久婷婷网| 激情五月婷婷色综合| 婷婷色五月天综合网| www.久操| www.婷婷五月| sisi热国产| 久777| 亚洲精品视频电影| 五月婷婷黄色| AⅤ网站在线看| 五月婷婷六月少妇激情| 日本99在线视频| 六月婷婷综合| 天天爽天天做| 色欲婷婷五月天丁香| 九九在线精点品| 五月激情婷婷女| 99九九在线精品热动漫| 丁香五月成人网| 国模淫穴色图| 欧美综合123区| 人人摸人人搞| 国语精品探花| 超碰免费成人| 久久婷婷五月天大香蕉| 色五狠狠| 九九热99视频| 操操综合网婷婷| 色色色99| 亚州精品色情在线观看| 操b视频在线观看一区二区| www色色com| 五月丁香花激情综合网| 91久久国产综合久久| 色99在线观看| 99爱在线精品视频免费观看| 欧亚色色| 亚洲成人AV电影网| 色五月激情网|