欧美成人午夜精品久久久,国产?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
返回資訊列表
99热综合网| 97婷婷久久丁香| 天天情色五月天| www.com.色色| 天天色中文字幕女优AV| 婷婷五月天综合网| 91丨九色丨熟女|新版| 亚洲在线激情婷婷五月| 五月丁香六月综合基地| 九九九九九九综合| 色情成人五月天| 色婷婷影视| 天天夜夜爽| 久久性视频| 日日操日日干| 激情五月天综合网站网站网站| 色色综合网www| 五月天播播| 激情综合五月激情17| 97干在线免费| 国产肥白大熟妇BBBB视频| 天天做天天爱天天高潮| 国产乱妇乱子伦| 二色av| 亚洲综合视频一下| 99在线资源| 婷婷五月天桃花网| 日韩成人精品中文字幕电影| 国产精品久久久久久久久久免费| www九九热| 99操网站| 婷婷情色五月| 在线综合91| 欧美大片| 久草热久草在线视频| 色色激情| 9l视频自拍9l九色9l成人| 台湾佬天天日丁香婷婷五月天| 婷婷五月天国产精品| 人妻视频在线| 日韩一级片| 久综合4| 天天色播| 丁香网站| 不卡的AV网站| 人妻熟人中文字幕一区二区| 五月丁香综合激情| 日本三级成人秘书精品片| 大香蕉人妻| 狠狠色丁香| 亚洲秘 无码一区二区三区妃光/1| 亚洲另类久久| 亚洲成人黄色网| 思思精品久久艹| 欧美丁香五月97色| 色婷婷香蕉| 在线观看av网站| 久久色五月天激情小说| 成人va视频| 丁香五月亚综合图片| 九九视频在线观看视频6 | 九九一区| 久久婷婷综合五月趴| 精品无码片| 久久3级片| 91色呦哟| 九月婷婷在线观看| 啪啪黄页网| www.com色播五月天| 91操在线| Av九九| 九九热99视频在线| 翔田千里aV中文字幕| 激情AV| 色婷婷婷婷| 色吊操色妞| 日韩aⅴ视频| 夜精品无码A片一区二区蜜桃| 最近中文字幕大全免费版在线 | 五月天激情婷婷久久| 狠狠色噜噜色狠狠狠综合久久成人波 | 超碰v| 色狠狠色噜噜AV天堂五区| 少妇真实被内射视频三四区| 自拍视频99| 久久久久久久久久久月丁| 99热欧美精品| 99re66热这里只有精品| 丁香五月成人在线| 婷婷精品在线| 黄色av网站在线免费播放| 九月婷婷在线观看| 色五月天天在线观看资源站| 婷婷丁香五月激情图片| 日韩啪| 五月天婷婷色色| 狠狠婷婷色| 超级碰 久久9| 九九综合视频在线观看| 99久久五月婷婷| 91精品久久久久| 极品少妇高潮啪啪AV无码| 日日操天堂| 激情五月丁香色色去久久| 男女99免费视频| 五月天五月色| www.五月.com| 99久久婷婷国产综合精品| 婷色视频| 人人综合五月人人婷婷| 狠狠草在线观看| 丁香五月激情图片婷婷| 久久五月综合| 六月丁香婷婷综合在线| 精品久久穴| 久久98热re| 亚洲 精品 综合 精品| 天天爽天天爽视频| 国产暴力强伦轩1区二区小说| 9热久久在线| 国产超碰在线| 日日噜噜夜夜狠狠久久丁香六月| 99热在线观看| 五月丁香综合啪啪啪啪啪| 五月丁香色婷婷综合| 亚洲天堂啪啪| 操日本色| 人人妻人人澡人人爽| 性一交一乱一交A片久久四色| 91啪级电影| www.婷婷五月| 久久久日韩特色特黄AAAA| 色情五月天小说| 五月天六月婷婷电影| 色五月天激情| 婷婷五月综合色拍| 五月天六月色| 有码一区二区三区| 丁香五月久久综合| 亚洲欧洲中文日韩久久AV乱码| 激情五月天啪啪| 九月丁香| 97精品欧美91久久久久久久| 超碰成人AV| 先锋资源 996| 少妇性按摩无码中文A片| 色99色| 我要射综合| 操操啪| 99福利导航| www色婷婷com| 国产三级在线播放| 很很干夜夜干| 综合www色| 人妻内射麻豆视频| 内射爽无广熟女亚洲| 99re免费精品视频| 日本一道久久| 99热精品在线播放| 狠狠搞狠狠操| 亚洲成人色五月天| 丰满老熟妇BBBBB搡BBB| 国产精品噜噜在线视频| 色婷婷成人做爰A片免费看网站| 国产五月天婷婷| 久久九九免费视频| 99九九综合久久九九| 好大好粗嗯啊-一级黄色大片免费观看-成人AV | 丁香五月在线观看完整版| 二色av| 99热自拍| 九九视频在线观看视频6 | 99热这里只有99| 日本色天堂| 亚洲狠狠婷婷| 五月天成人综合| 99亚洲精美视频在线观看| 欧美丁香五月| 99偷拍视频在线日本| 亚洲婷婷丁香五月视频| 婷婷丁香久久网| www.亚洲激情| 丁香综合| 激情婷婷六月天| 最新AV在线观看| 丁香六月天色婷婷| 丁香六月av| 夜夜爱网站| 91嫩草国产线观看亚洲一区二区| 天天草比天天爽| 99热免费18| 美国色五月天婷婷资源站| 日日杆天天| 婷婷五月综合基地| 精品爆操| www.五月天婷婷.com| 五月天激情小说| 国产精品久久久99视频| www久视频com| 人人摸人人澡人人| www.xtbsty.cn.com蜜乳AV| 婷婷另类小说| 欧美综合婷婷欧美综| 乱精品一区字幕二区| 色高清无码视频| 99热最新国内| 久草天堂| 婷婷丁香激情| 中文字幕人妻在线| 五月天色色无码| 激情五月天无人视频在线| 婷婷五月天精品| 久大香蕉| 六月婷婷狠狠做| 色婷婷五月影视| 久99久在线| 激情综合区| 五月天激情网站| 99爱免费在线视频| 99这里有精品视频| 亚洲xx在线| 人人草人人爱| 色小说婷婷五月天天天| AV成人在线播放| 狠狠狠狠狠狠| 日日噜噜夜夜狠狠久久丁香五月| www.婷婷网| 91热在线观看视频| 九九aV| 五月涩涩网| 4399在线观看免费毛片| 久久婷婷综合基地| 丁香五月精品| 婷婷欧美偷拍综合| 欧美WW在线网| 亚洲亚洲人成综合网络| 日本久久婷婷| 色婷婷五月视频| 99久久久99久久91熟女| 极品精品一区二区三区在线| 97自拍视频在线| 26uu| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 亚洲精品久久久久久久久久吃药| 丁香五月婷婷网| 五月开心婷婷网| 99精品视频播放| 狠狠综合久久| 日日噜噜夜夜狠狠久久丁香六月| 色大综合| 五月丁香六月婷婷啪啪综合| www99在线观看视频| 少妇出轨做爰高潮A片| 99色在线观看视频| 丁香五月婷婷色情综合| 99re热久久| 91久久| 在线日本www| 狠狠色综合网| 亭亭玉月丁香| 六月丁香色婷婷| 五月婷高清视频| 久热一本| 久久久婷婷五月亚洲97号色| 中文婷婷狠狠| 激情都市另类| 麻豆AV一区二区三区| 成人av中文字幕| 色XX综合网| 91Chinese在线| 丁香社92视频| 日韩三级视频一区二区| 日韩人妻白浆视频系列| BBWCUCKOLD精品熟妇| 丁香五月久久| av九九| 婷婷色五月综合| 青青五月天婷婷| 九九99在线观看视频| 97电影99热| av一区免费看| 五月色婷丁香| 婷婷自拍| 九九综合九色欧美狠狠| www.com在线操视频免费观看| 天天综合精品| 极品少妇XXXX精品少妇偷拍| 亚洲熟妇AV乱码在线观看| 亚洲色频| 久久丁香五月天| 大香蕉网站,大香蕉综合| 日日操日日撸| 激情小说 五月天| 婷婷激情蜜桃玖玖丁香| 久久婷婷操| 丁香五月色播中文在线播放| 久久996re热这里只有精品无码| 九九九精品视频免费观看| 无码啪啪| 丁香婷婷六月婷婷六月婷婷六月婷婷| 五月丁香在线视频观看| 婷婷丁香六月影视| 婷婷五月丁香综合人妻| 日韩六十路91性交电影| 这里只有精品免费视频在线观看| 深爱激情丁香五月| www.日韩国产| 狠狠色综合网站久久久久| 殴美日比视频| 91精品久久久久久综合五月天| 色色色热热热| 嫩草极品| 久久五月婷综合网| 9热视频在线观看| 日韩操逼大片| 日本本土色网第一区| 欧美成性色| 五婷婷六月合| www天天爽| 五月天色婷婷综合| 97超碰在线免费观看| 91碰在线| 五月丁香婷婷综合网| 这里只有精彩视频| 国产乱妇无乱码大黄AA片| 亚洲亚洲人成综合网络| 五月婷婷亚洲色图| 五月丁香A片| 精品国产va久久久久久久| 婷婷基地五月色| 激情五月婷婷在线区| 色婷婷五月天小说网| 99热久草| 男人天堂99| 成年人丁香五月| 国产偷人爽久久久久久老妇APP| 婷婷的五月天另类视频| 狠狠色噜噜| 欧美肉大捧一进一出免费视频| 成 人片 黄 色 大 片| 我淫我色婷婷五月天激情四射| 婷婷五月天涩涩| 国产白丝在线一区| 婷婷免费无视频| 小视频久久久aaa| 九九热自拍| 99欧美| 中文字幕高清av| 丁香婷婷色色| 亚洲国产成人裸舞| 超碰成人在线观看| 99@久久@99精品视频| 1024成人在线观看| 天天干,噜噜色,狠狠色| 五月丁香成人| WWW.HENHENL.| 丁香六月婷婷五月天| 天天爱夜夜爽| 99精品偷自拍| 日本久久爽| 婷婷性爱无码视频| 五月婷婷基地| 精品夜夜澡人妻无码AV| 91色色色18| 色狠狠六月| 影音先锋91| 大地9中文在线观看免费高清| www.91AV.COM| 丁香五月天激情综合网| 天天骑天天操| 91丁香色五月| 五月丁香久久综合精品| 五月丁香婷婷啪啪| 黄色91在线观看| 精a品a视a频| 天天干天天色综合| 久久九九热视频| 日本天天操| 欧美槡BBBB槡BBB少妇| 97色97干| 五月天婷久精视频| 99热最新国内| 天天综合天天玩夜夜玩天天玩夜夜玩 | 日韩免费99| 99激情视频热| 久久久久久久人妻| 激情另类综合| 激情九九六月激情免费视频| 成片免费观看大全| 日日肏夜夜干| 国产AV一区二区三区最新精品| 成人 视频免费观看网站| 天天干天天操| 久久久高清| 亚洲 激情 中文| 婷婷五月天精品| 色色丁香五月| 亚洲VA口| 丁香婷婷五月色综合| 国产伊人五月天| 丁香九月久久| AV操逼网| 丁香蜜臀黄色婷婷五月天| 久久ri精品视频| 开心五月综合激情综合五月| 97精品人人A片免费看| 亚洲精品亚洲人成人网| 大香蕉久艹| 日本99色| 久久久久婷 | www.色窝| 日韩精品AV一区二区三区| 色噜噜婷婷| 99久在线观看| 97人人操人人干| 婷婷五月激情图片| 91人人操人人| 99热在线看片| 九九久久综合| 五月丁香婷中文| 天天色色天天| 91视频免费后入强操| 噜噜国产| 91色欲综合| 婷婷五月无码| 插逼综合网| 五月天综合激情网| 2020日日干| 丁香五月中文字幕色播| 中文字幕黄色电影网址| 九九大香视频| 色婷婷XXXXX| 99热这里只有精品9| 五月婷婷深深的爱| 中文字幕免费高清电视剧| 五月丁香在线国产| 欧美日韩一区二区三区四区| 99只有精品| 天天综合五月| 色丁香久久| 天天拍天天做视频| 99色在线观看视频者| 狠狠五月激情丁香六月| 91色噜噜狠狠狠狠色综合| 婷婷中文在线| 夜夜夜夜操| 四色五月婷婷| 色域五月婷婷丁香| 人人干天天舔| 2018国产大陆天天弄| 日日操日日射| 六月婷基地| 大香蕉网站,大香蕉综合| 大香蕉520| 天堂成人A片永久免费网站| 开心五月综合激情综合五月| 亚洲超级碰| 天天爽天天| 991国产精选视频在线播放下载| 天天精品视频免费观看| 丁香五月天BBw| 丁香五月www| 五月丁香婷婷综合| 女性自慰系列第五页| 成人美女网| 九九热在线视频观看| 精品成人在线观看| 亚洲精品第一色色色色色色| 婷丁香五月天| 岛国av网| 大香蕉五月天婷婷丁香91| 大香蕉av在线| 久久这里只有欧美| 五月婷婷激情刺激| 丁香五月婷婷www..com| 欧美性爱五月天| 婷婷五月天激情小说网站| 色综合色香蕉网| 色婷婷综合影院| WWW色五月天| 综合久久综合综合| 日日做A爰片久久毛片A片英语| www夜夜操| 久久色五月天| 久热久re| 搡BBBB搡BBB搡18 | 思思热在线播放| 五月天成人在线播放丁香| 天天搞天天色综合| 影音先锋男士资源网一区| 五月色色色| 丁香五月激情婷婷| 国产亚洲色婷婷99精品| 99久久精品国产色欲| 蜜桃人妻无码AV天堂三区| 99这里| 日韩五月天婷婷| 久热 91| www.婷婷五月.com| 搡BBBB搡BBB搡五十| 影音先锋一区| www.99热视频| 日本欧美国产| bbwcuckold精品熟妇| 久久天堂| 超级碰91| 狠狠色婷婷综合开心影视| 婷婷五月色天| 91seav| 亚洲操b| 婷婷五月天激情综合婷婷五月天激情综合 | 五月婷婷性爱视频| 国产麻豆视频| 丁香六月婷婷| 婷婷狠狠干| 偷拍91九色| 五月婷婷六月综合| 五月天色裸体视频| 激情 婷婷 丁香五月天| 欧美综合激情五月丁香| 五月天丁香啪啪综合| 91精品国产99久久久久久天美| 色激情网| www.99操.com| 一二线视频 另类| 九九热这里只有精品6| 99热思思| nvrentiantang av| 亚洲五月丁香六月婷婷| 久久综合五月天| 99操逼| 五月亭亭综合五码| 五月婷丁香亚洲| 影音先锋激情网| 夜夜骑操AV| 婷婷激情性爱| 伊人五月综合网| 日韩AV中文字幕在线| 亚洲成人丁香花| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 91在线看免费 九九九九| 久久久天堂国产精品女人| 婷婷激情社区| 丁香五月天堂网| 激情五月影院| 极品人妻VIDEOSSS人妻| 狠狠精品干练久久久无码中文字幕| 久热伊人| 91人妻视频| 视色综合| 99热在这里只有精品| 天天插综合网| 高清视频一区| 99热| 久99999热视频在线观看免费| 99精品视频在线观看| 精品欧美性爱超级爽| 婷婷五月天淫荡| 中文字幕无码人妻少妇免费视频| www.金莲av| av电影在线播放| 久久图色4| 性视频久久| 黄网在线播放| 激情五月天啪啪| 久久99这里只有精品视频| 欧美综合五月丁香五月天| 少妇人妻综合色6699| AV操操操| 五月婷婷天| 777影视理论片大全在线观看 | 欧美日综合| 人妻精品一区二区三区| 中文字幕中文有码在线| 激情婷婷网| 婷婷免费无马| 五月激情综合婷婷| 黄页大全十八禁| 激情综合网激情五月欧美| 色综合色色色色色| 婷婷色五月开心五月| 蜜臀99精品| 亚洲操b| 92久久精品一区二区| 亚洲妇女熟BBW| 国产九月婷婷| 五月天激情影院| 狠狠干2007| 色在线视频网2025| 99热伊人| 伊人9草在线观看| 色婷婷五月影视| 天天摸天天高潮天天爽| 五月天婷婷操逼视频| 久操婷婷| 97超碰9久热婷婷热| 玖玖激情网| 天天色天天爽| 丁香五月六月欧美| 99黄色性生活| 91九色 熟| 玖玖婷婷五月天| 色婷婷五月天天天天天天天天天| 五月综合色播播丁香婷婷| 五月丁香六月婷婷激情网| 玖玖婷婷五月天| 婷婷色六月| 26UUU成人网| 五月婷婷五月| 六月婷欧美丁香综合| 色热久资源| 婷婷综合五月天| 97在线99| 丁香丁香激情网| 久久久久网站| 九月大香蕉| 97干婷婷五月天| 激情久久五月天| 国产欧美熟妇另类久久久| 91视频综合网| 五月丁香婷婷激激激综合网色播| 人人播| 加勒比日本一区二区三区| 六月伊人婷婷| 99亚州综合精品成人网| 超碰99资源站| 嫩BBB槡BBBB搡BBBB视频| 黄色五月婷婷| 九九九九九九毛片| 色播婷婷五月天| 色色色网站| 国产精品色婷婷99久久精品| www.久久av.com| 久久小说| 99热99成人| 九九热在线视频观看| 狠狠精品干练久久久无码中文字幕| 久久久久9| 9l视频自拍9l九色9l成人| 免费超碰在线| 激情丁香五月天图片| 99re8热精品免费视频| 五月丁香色五月| 五月激情综合网| 思思视频久久| 人妻AV在线| 91精品电影18T| 五月天伊人| 丁香婷婷六月激情文学 | 丁香女人五月天| 激情五月天婷婷丁香| 五月天久久久| www.色婷婷.com| 五月丁香久人妻中文| 五月亭亭六月天| 亭亭五月丁香综合欧美| 丁香五月天社区| 色综合爽| 国产69久久久欧美黑人A片| 天天色爽| XX色综合| 一级操逼内射在线视频| 婷婷丁香五月天熟女丝袜| 五月丁香婷婷综合| 国产av基地| 丁香五月天堂| 99热这里有精品6| 激情内射人妻1区2区3区| 欧美综合在线五月天色婷婷| 9l视频自拍九色9l黑人| 天天做天天爽| 五月天久久久| 国产成人精品亚洲线观看| 六月婷婷狠狠做| 婷婷五月天综合久久日美女| 天天爱天天做天天| 久久曰曰| 成人无码精品1区2区3区免费看| xxx日本东京热| 5Www色5夜| 色综合大香蕉| 天天日天天干天天爱| 一区二区成人电影免费播放| 激情六月综合| www婷婷| 精品人妻伦一二三区久久| 这里只有精品在线播放| 亚洲激情五月| 五月婷婷综合视频| 久色五月| 91成人视频| 国自产拍偷拍精品啪啪一区二区 | 成人.在线日韩| 日韩aaa| 午夜丁香丁香婷婷| 在线1青婷| 大伊香蕉玖玖爱| 丁香六月婷婷综合| 亚洲欧美另类在线23p| 色色五月天丁香| 无码少妇高潮喷水A片免费| 91精品综合久久久久久五月丁香| 久久久五月天| 欧美性爱专区| 俺去也综合| 99热国产在线| 精品思思久久| 操b视频在线观看一区二区| 9l视频自拍九色9l视频自拍九色9l社区| 热久久思思热思思| 丁香六月婷婷色播| 日本欧美成人片AAAA| 免费视频无码| 丁香成人综合| AV在线免费网站| 日本久久激情| 久久六月综合| 五月天网站亭亭| 99在线爽| 五月婷婷激情性爱| 婷婷五月精品| 婷婷五月天小说| 99热这里只有精品8| 另类图片五月天婷婷| 六月婷婷啪啪| 欧美熟女视频 色婷婷| 亚洲永久免费| 五月婷婷第四色| 开心五月丁香综合久久| 亲子乱AV一区二区三区下载| 婷婷激情五月天激情小说| 亚洲操人| 丁香激情久久| 精品人妻久久久久久| renrencaoav| 国产免费一区二区在线A片视频| 欧在线一区| 欧美日韩中文国产一区发布| 91超级碰| 99色在线| 激情综合激情五月一起草| 日本在线免费中文com.| 狠狠色综合网| 婷婷五月丁香花综合| 五月婷九月| 亚洲国产精品VA在线看黑人| 精品久久99码| 97久久草草超级碰碰碰| 狠狠色综合网| 色狠久| 99精品无码网站| 欧美在线骚货| 99色区| 久久婷婷亚洲| 91超级碰在线视频| 五月婷婷天堂| 五月丁香久久| 丁香五月天堂网| 精品A√| 色噜综| 久久婷婷五月激情网站| 九热在线这里有精品6| 青草网在线观看| 99久久网站| 久久久ww| 日本久久婷婷| 91久久综合亚洲鲁鲁五月天| 色欧美影院| 4399高清无码视频| 丁香五月停停基地| 五月婷婷综合影院| www.久久爱.c n| 视频1区2区| 九9九9无码| 九热视频精品| 99超级碰碰| 色天堂A| 激情性爱五月| 久久九九爽| 99re在线观看| eeuus五月婷| 丁香六月狠狠| 天天操夜夜夜拍拍拍| 亚洲综合色丁香五月天| 五月婷六月天| 噜噜网免费视频| 天天干天天爽| 欧美精品999| 五月婷婷av| 99热这里只有精| 少妇水多A片太爽了| 日韩AV免费看| 九九色黄色| 超碰在线观看成人视| 九九精品热播| 五月天婷婷色在线视频免费观看 | 国产成人AV在线播放| 国产9色在线/日韩| 五月丁香六月综合情在线观看| 五月天激情综合网站| 激情丰满熟妇五月| 99视频这里有精品免费观看| 婷婷色五月婷| 五月天亭亭俺也| 欧美大片免费播放器| 五月四色激情| 久操97| 99re热精品在线视频| 激情伊人六| 亚城区在线| 日本一级| 国产偷人爽久久久久久老妇APP| 狠狠操狠狠色| 91 原创 在线 九色| 99re99在线看| 人妻操操色| 五月天天久久香| 这里只有精品免费视频| 国产婷婷婷| 欧美色偷拍| 开心六月婷| 丁香综合网| 色婷婷先锋| 国产乱子轮XXX农村| 中文字幕高清av| 成人国产综合| 1995年关宝慧版蜘蛛女| 无码橾| 97精品人人A片免费看| 色五月开心久久网| 久久婷婷五月天激情新地址| 久久机热思思热| 色玖玖综合网| 琪琪布丁香社区激情五月天| 99爱99操| 俺也去综合| 99九九99九九九视频精彩| 少妇水多A片太爽了| 大香AV| 五月激情开心婷婷| 六月婷婷久久| 国产AV影片| 久久狼人天堂| 人人人人人人人草| 色色色综合网| 1234操逼网| 狠狠色丁婷婷日日,伊人激情综合网| 99这里| 专区无日本视频高清8| 97精品自拍视频| 夜夜骑日日夜夜| 大香蕉五月婷婷| 丁香操逼| 久久99激情| www..999热久| 超级碰碰碰久久网站| 婷婷国产综合| 激情深爱五月天| 91蝌蚪窝视频在线| 五月天丁香六月综合| 丁香五月婷婷AV在线| 中文字幕网伦射乱中文| 色综合色色| 美国十月色婷婷在线观看| 中文字幕丰满孑伦无码专区| 午夜丁香| 激情五月激情综合网| 春色激情| 亚洲色婷婷激情| 99自拍视频在线| 99热全是精品| 色婷婷丁香五月综合| 午夜69成人做爰视频| 色爱综合网| 五月综合视频| 97操碰日本女人| 深爱丁香激情| 婷婷五月成人| 激情综合网五月在线播放| 婷婷丁香五月综合| 婷五月天| 九月丁香五月婷婷| 91久久日日| 婷婷另类开心| 五月婷婷丁香深深爱| 中文成人在线| 五月婷天堂视频| 99国产性感视频| 日韩艹比| 襙比视频| 久久久99精品免费观看| 久久精品国产色| 五月丁香综合激情网| 综合另类视频| 五月天婷婷网站888| 日韩国产在线免费观看| 五月丁香六月婷婷姐| 中文字幕成人日韩| 色婷视频| 丁香五月综合激情久久潮喷| 五月综合精品| 亚洲综合色婷婷文学| 偷拍视频五月天| 91 影音先锋| 婷婷成人丁香色情基地30 | 日韩999| 人人操日| 99热这里是精品| 激情综合五月丁香| 九月丁香婷婷| 五月欧美色播| 99re在线观看| 五月夜丁香| 亚州在线中文字幕| 婷婷五月天成人网站| 久久五月天精品视频| 狠狠草狠狠草| 色情婷| 丁香花五月天激情| 久久五月视频| 婷婷久久五月| 五月婷婷色丁香| 高清资源站日A美A欧亚…| 激情黄色小说五月天| 97色一二三| 婷婷久久色| 日韩人妻在线观看| site:pnnrt.com| 5月婷婷6月丁香aV| 潘金莲AAAAAAAAAA| 五月天激情久久| 99九九在线精品热动漫| 五月天色丁香| 一本久久亚洲五月婷婷| 七月丁香婷婷 色色| 久久a热| 超碰97人人操| 99热伊人| 天天免费日日夜夜夜夜| 狠爱婷色| 亚洲午夜av| 激情开心五月婷婷| BlACKEDRAW视频一区二区| 国产亚洲色婷婷久久99精品91| 激情综合五| 色婷婷丁香五月| 久久久精品色色色| 色婷婷五月在线| 超碰在线人妻| 婷婷五月天首页| 综合色网站| 婷婷在线视频| 99热久草| 久久婷婷网站| 精品国产一区二区三区四区阿崩| 国产激情综合| 91精品91久久久久77777| 国精产品一区一区三区免费视频| 五月婷婷开心丁香| 久久久性爱网| 精品夜夜澡人妻无码AV| 色丁香五月| 99精品在线播放| 日本视频不卡123区| 久久538| 色丁香五月天射婷婷爱婷婷| 国产高清av黄色看片| 66色在线日韩| VA国产在线综合网站| 99色免费| 能看的av| 久久久久久人妻| 99热精品10| 99热精品超碰| 亚洲第一综合| 婷婷亚洲综合| 无码激情精品色婷婷久久久久| 九九色天堂| 欧美99热| 五月天激情视频| 丁香久色| 香蕉狠狠爱视频| 91精品刘玥| 囯产精品久久欠久久久久久九大| 五月丁六月香| 新99色色色色色色| 五月天社区婷婷丁香社区| .精品久久久麻豆国产精品| 高清不卡一区| 久久您您综合网| 丁香六月婷婷久久综合| 丁香五月天网友自拍啪啪啪视频| 成人短视频在线观看| 二区成人视频| 无码人妻少妇色欲AV一区二区| 久草狼人| 丁香综合网| 九九热只有精品6| 久久99精品久久久久久噜噜| 亚洲成人在线观看av| 天天爱天天做天天操| jiZZdr| 九九爱看亚洲| 99惹在线精品免费观看| 亚洲视频国产一区| 91在线视频观看午夜福利| www色色com| 啪啪激情综合| 五月婷婷官网色| 手机AVAV天堂看网| 亚州精品色情无码A片| 老妇操B| 久久久五月天婷婷| 狠狠CAO日日穞夜夜穞AV| 丁香六月在线| www.久久爱.com| 天天干天天色综合| dingxiangtingtingliuyue| 情五月亚洲婷婷| 可以免费观看的av网址| 婷婷免费无马| 我去色色网五雨天| 色色综合热| www.99色在线| AV片一区在线观看| 最近中文字幕在线中文视频| 五月婷婷激情综合网| 一区二区免费看| 国内外色色色色色成人视频| 久久久精品色色色| 99热在线观看这里只有精品| 综合激情综合啪啪| 婷婷五月天激情在线观看| 亚洲性受XXXX五月丁香| 另类图片天天影视在线观看| 七七九色| 任你搞网站| 99热丁香| 日本久久爽| 久久久婷丁香五月天激情综合| www.AV在线| 色99视| 人人草碰| 九热电影av| 丁香六月婷婷社区| 丁香婷婷五月人体| 人人操大| 操人精品| 国产三级片91| 9色在线视频| 色激情综合| 无码色色色色色| 婷婷五月天中文字幕.| 天天摸天天舔在线视频| 丁香色情五月天| 婷婷五月天777| 欧美久久五月婷婷| 99精品视频在线| 久久精品66| 欧美色色网| 丁香激情五月天| 婷婷激情视频| 国产精品久久..4399| 天天干狠狠| 色情综合网| 日韩乱轮AV| 色婷婷五月综合色婷婷| 在线观看亚洲AV| aa久久| 天天爽天天爽天天爽天天爽天天爽| 26uuu淫色| 久久这里只有国产精品视频| 伊人五月丁香| 亚洲va综合va国产va中文| 五月丁香精品| 色婷婷六月天| 中文字幕日本最新乱码视频| 激情综合文学| www.五月天色色色| 狠狠操狠狠爱| 天天操天天操| 色狠狠色噜噜AV天堂五区消防| 九九热视频在线观看| 婷婷丁香六月| 日本欧美成人片AAAA| www.99操.com| 玖玖在线| 99热精品少| 99色爱| 99精品一二三四视频| 99在线精品观看99| 91呦呦呦| 色五月天丁香婷婷| 99热精在线九九久久保| 色丁香影院| 婷婷亚洲综合| 男同91 | 色综合久久久久| 成人美女网| 色婷婷情片| 五月天婷亚洲天综合网综合 | 操逼视频一区| JAPANRCEP老熟妇乱子伦视频 | 色五月欧美| 日本99视频| 日韩 mm 不卡| 99er精品| 99热精品在线免费观看| 色色色色网| 色色亚洲99com| 久久东京热婷婷五月| Jh7Uf088VHafNm| 五月婷婷综合久久| 久热在线中文字幕色999舞| 激情婷婷九月| 六月激情婷婷综合| 久色大| 最近中文字幕2019视频1| 色欲影香| 激情五月五月五月婷婷| 丁香五月婷婷日本| 丁香六月婷婷综合麻豆| 亚洲婷婷免费| 色婷婷电影| 欧美成人日韩| 激情五月天之六月婷婷| 在线视频99| 婷婷五月丁香激情| 欧美一级色| 婷婷天天日婷婷| 疯狂做受XXXX高潮A片| 99色五月| 六月丁香婷婷六月激情综合| 色色色图| av最新在线| 九九操综合网| 天天干 夜夜爽| 99热精品网| 九九婷婷五月天影视| 五月婷婷无码| 9视频1在线| 六月丁香五月激情婷婷| 99热.com| 超碰爱爱爱| 日日艹思思热| 成人综合网站| 无码啪啪| 色五月婷婷小说亚洲中文字幕组| 99在线精品免费视频| 99热超碰在线| 色婷婷激情四射视频| 中文AV网站| 狠狠色性| 婷婷五月情| 九九99九九99| 日本婷婷| 色九月综合| 天天干天天操天天干天天操天天干天天操| AV在线免费播放| 色五月婷婷青娱乐| www.ppypp| 亚洲欧洲中文日韩久久AV乱码| 天天插天天插天天操| 夜色综合网| 97丁香视频| 色欲资源网| 专区无日本视频高清8| 五月综合激情久久| 91九九| 久久92| 色综合五月| 五月香蕉网| 天堂草在线看www| 91聚色综合网| 天天狠狠色噜噜| 亚洲视频在线观看| 天天操天天爽天天爱| 狠狠色综合网| 激情综合五月丁香| 婷婷久久五月丁香| 六月丁香婷婷综合狠狠爱夜夜爱| 丁香婷婷激情五月天无毒不卡蜜桃| 亚洲殴洲精品Av在线| 这里只有精品9| 高清免费在线视频| 天天射综合网夜夜操| 亚洲无码影音| 婷婷丁香五月天狠狠| 婷婷五月丁香激情| www激情网| 天堂久久丁香| 日日夜夜天天爽| 婷婷香蕉香| 久久婷婷综合五月天| 欧美操我| 欧美日韩aaa| 成人中文字幕在线| 超碰色综合| 婷婷丁香五另类网站| 五月婷婷之综合激情| 久热这里只有精品6官网亚洲| 五月丁香在线观看| WWW、日本色丁香co m| 亚洲V国产V欧美V久久久久久| 六月婷婷日| 激情五月天婷婷播播久久综合91| 色久综合天天做视频| 九九色黄色| 欧美色性色好| 久久九九中文字幕| 成人AV在线网站| 一级片sese片.COM| 国产精品18久久久| 狠狠操狠狠狠| 91人人看| 婷婷五月精品中文字幕| 国产成人av在线播放| 99视频只有精品| 激情五月综合色婷婷| 69热91天堂| 99精品在线观看视频| 美女网黄| 97久久视频| 激情美女五月天激情在线| 日本在线观看91| 97人人搞| 五月天婷a在线| 六月丁花香啪啪激情欧美| 99这里只有精品|v| 五月丁香琪琪| 99色在线观看| 色久激情在线| 九九综舍久久| 99激情视频| 五月天玖玖狠狠色色| 综合九九中文字幕| 中文字幕成人| 九九热这里只有精品12| AV六月丁香| 丁香五月激情啪啪| 亭亭色天香| 激情九九六月激情免费视频| 亚洲无码色色| 99热精地址| 九热精品| 欧美69久成人做爰视频| 舔色婷婷| 欧美天天爽| 五月丁香综合久久夜夜| www.久久99| 六月丁香婷婷在线波多 | 性爱综合网| 九九精品网| 538午夜激情| 婷婷五月综合丁香久久| 色婷婷网| 五月花亭亭| 综合色色婷婷| 激情婷婷五月丁香啪啪啪| 中文字幕av在线| 亚洲 小说 欧美 激情 另类| www.91在线观看| av在线播放网站| 婷婷永久在线| 五月婷婷啪啪啪啪| 国产噜一噜天天噜|