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

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
返回資訊列表
中文字幕永久免费| 久久久久久激情| 五月六月婷| 丁香五月www| 91大神操美女| 五月婷婷六月爱| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 综合婷婷久久| 欧美日韩aaaa| www.精品99| 婷婷五月丁香色色| 亚洲妇女熟BBW| 天天爽天天日天天舔| 久99视频| 久久婷婷青青草| 久久99热这里只频精品6学生| 狠狠操狠狠爱| 另类综合激情| 五月婷婷深深爱| 精品国产一区二区三区四区阿崩 | 岛国av网站| 翔田千里无码| 色天天狠狠干| 插逼综合网| 国产亚洲精品AAAAAAA片| 亚洲国产精品VA在线看黑人| 热的无码综合视频| 婷婷五月丁香高清无码| 五月婷婷六月丁| 五月婷婷丁香网| 99热伊人| 激情综合五月| 99视频只有精品| 天天噜| 色色色在线免费视频| 国产精品岛国片在线观看免费| 99在线精品免费视频| 久re热视频| 亚洲婷婷六月天| www.激情.com.| 一级二级色大片| 九九精品9| 激情开心五月天| 激情六月天| 99免费热视频| 天天舔天天操| 五月 激情视频| 99热这里只有精品3| 欧亚洲在线高清视频| 99re免费视频| 亚洲一区二区无遮挡A片| 五月丁香久久激情综合| 五月婷狠狠| 黄桃AV无码免费一区二区三区 | 色五月丁香网| 婷婷丁香18| 精品怡红九九九| 97亚洲色 torrent magnet| 亚韩在线视频| 亚洲婷婷五月天在线激情综合网| 五月视频日本免费观看| 呦呦v线| 99小精品| www,av好吊操| 亚洲色图日韩网址| 丁香五月婷婷亚洲另类| 91久久久久久久久久久| 五月婷婷六月激情在线| www.五月天激情| 激情网综合| 操一操| 丁香五月亚洲| 120分钟婬片免费看| 在线中文av| 超碰人人干| av九九| 色99在线| 欧美精品久| 色涩影院六月丁香| 五月丁香综合啪啪啪啪啪| 五月丁香| 五月丁香龟婷婷| 综合久久五月天| 天天做天天爱天天爽综合网| 婷婷五月无码| 久久九九思思| 激情五月丁香五月| 婷婷六月激情在线视频| 4399在线日本A片| 五月丁香婷婷色色| 天堂美国久久| 99精品在这里| 五月停停99| 99热超| 99精品热视频| 免费观看欧美成人AA片爱我多深 | 亚洲热久久| 99热资源在线| 99原创自拍视频在线观看| 亚洲AV久久久久久久久久久久久久久久| 天啪天啪天啪天啪| 99热在线爱| 狠狠色丁香婷婷基地| 激情五月亚洲| 久久久久久久久久8888| 婷婷五月天精品| 亚洲激情网| 伊人色综在线| 五月天婷婷小说| 久久婷婷五月丁香蜜桃网| 五月丁香色婷基地综合久久| 99热这里有精品2| 天天综合色丁香| 这里只有精品视频| 情色五月天网站| 五月丁香六月婷婷免费| 99热官网| www.99视频| 五月丁香婷在线| 一区二区乱码视频| 久久久婷婷色五月资源网| 亚洲另类婷婷综合| 久久久久激情网| 免费观看全黄做爰的视频| 激情性爱五月天网页| 玖玖99免费视频| 久热最新视频| 粉嫩AV久久一区二区三区| 六月丁香啪| 色婷婷综合网站| 91日婷婷在线| 丁香婷婷中文字幕| 玖玖色综合色| 色婷婷亚洲在线| 激情六月婷婷| 色婷婷基地在线| 丁香五月婷婷视频| 九九久久免费视频44| 色欲久久综合| 深爱激情六月天| 超碰2021| 丁香婷婷视频| 日本三级网址| 六月丁香激情| 九月婷婷综合网| 天天天摸夜夜夜玩| 五月婷婷黄网站大全| 六月婷婷五月丁香首页| 风流少妇A片一区二区蜜桃| 69久久99精品久久久久婷婷| 婷婷激情人妻| 国产综合视频婷婷| 五月丁香六月婷综合成人综合| EEUSS鲁片一区二区三区| 99热播放| 婷婷综合视频| 69午夜成人影片| 狠狠色丁香久久久婷| 久久精品这里只有精品免费首页| 99热99天堂| 操操操AV| 六月婷婷七月丁香| 97干免费视频| 天天操天天爱天天日| 婷婷六月天天| 五月天综合网| 无码人妻AV久久久一区二区三区| 少妇人妻综合色6699| 久热精品免费视频4| 午夜不卡成人一区二区| 五月婷婷啪啪啪啪| 深爱五月激情| www.激情五月天。com| 欧美这里只有精品| 激情欧美婷五月| 欧美成人AAA片一区国产精品| 人妻操逼| 丁香五月婷婷五月基地| 丁香六月久久| 色就是色婷婷五月亚洲激情| 日本综合99| 天天xxxxxx天天日| 超碰资源在线| 成人做爰A片免费看视频| 蜜桃婷婷五月| 五月婷婷国产| 久久HD| 五月亭亭激情综合| 久久嘟嘟丁香| 99热这里都是精品| 99er热精品视频| 激情久久久久久久久久| 免费无码毛片一区二区A片| 婷婷综合另类小说| 999九九九久久久99HD| 久久久久丁香婷婷五月天| 91人碰| 噜噜噜狠狠色综合| 五月婷婷网站| 五月色婷婷在线观看| 五月丁香六月片| 婷婷综合五月天亚洲综合| 激情视频91| 色屌丝中文字幕| 99热这里只有精品亚洲| 婷婷成人AV| 精品99在线| 婷婷色五月激情| 综合久久五| 国产精品色色| 99亚洲色| 欧美色播综合在线观看| 亚洲av免费在线| 伊人激情影院| 色噜噜狠狠色综合网| 美女五月激情| 婷婷综合97| 粉嫩AV久久一区二区三区| www五月天com| 这里只有精品在线播放| ay2区| 9久操| 久9热视频| 一区二区三区四区五区| 9l视频自拍九色9l视频自拍九色9l社区 | 九九色婷婷| 欧美啄木乌丝袜人妻系列| 97色婷婷五月天| 91九九九九| 97色97干| 天天做天天爱| 九九热只有精品| 国内婷婷丁香社区在线播放| 99久久久久| 婷婷成人av| 国产在这里只有精品| 五月丁香六月婷婷亚洲综合| 天天综合网亚洲综合网| 九九婷婷五月天影视| www久久久久久久97| 久久婷婷九月国产精品| 久久在线视频免费观看| 色情婷婷| 99热精品在线观看| 丁香六月婷婷| 操人无码| 亚洲中文字幕在线观看| 久久久com| 91视频精品99| 性一交一乱一交A片久久四色| 天天色色天天| 99热手机在线精品| 五月天国产| 五月涩涩网| 日本在线视频手机播放五月婷| 91碰碰视频| 人人超碰99| 五月婷婷综合成人| 欧美丰满熟妇BBB久久久| 色五月丁香婷婷| 97婷婷狠狠| 亚洲视频99| 五月天狠狠干| 五月丁香在线综合| 成人在线99| 五月婷av| 久久六月天| 国产97色在线 | 日韩| 激情五月天影院| 丁香5月婷婷| 情婷婷五月天| 婷婷五月丁香五月| 玖玖在线视频| 97夫妻超碰| 丁香六月婷婷| 五月四色激情| 色丁香五月| 婷婷内射视频在线| 五月色婷婷亚洲 | 激情五月综合网| 成人永久免费视频在线观看| 超碰国产在线| 日韩中文字幕| 色色网91| 婷婷激情五月综合| 激情 婷婷 插| 人妻少妇色综合| 狠色色狠网| 免费视频99| 狼人婷婷综合| 人人摸人人干| 天天碰夜夜爽| Av九九| 色色操| 婷婷五月天色色| 五月天激情国产综合婷婷婷| 日本大逼91| 五月丁香啪啪婷婷| 5月婷婷性视频| 99热一本久道| 91一起艹| 色99视| 九热av| 六月丁香开心婷婷欧美| 久久久人妻不卡| 亚洲婷婷丁香五月亚洲| 五月丁香激情综合网| 激情五月天丁香| 一本道在线电影| 五月天小说激情| 操操碰| AV天堂婷婷五月天| 日韩AV大全| 精品自拍97| 日本精品99网站| 91好好热日本在线| 性爱电影科技贸易有限公司| 婷婷丁香成人| 成人精品视频99在线观看免费| 日本天堂网站99| 9l视频自拍九色9l视频自拍九色9l社区 | 丁香五月色| 色丁香五月| 六月丁花香啪啪激情欧美| 婷婷五月天奸女| 五月丁香拍拍激情综合| 99色热视频| 美女婷婷激情亚洲| 干亚洲天堂| 色色色色五月| 在线sebiav精品视频| www.亚洲激情.com| 青青日韩| www久热com| a网站免费观看| 久久婷婷人人| 吉澤明步Av一區二區| 99热在线观看| 这里只有精彩小视频视频网站| 丁香 婷婷 亚洲 熟女| 五月天激情综合| 99热超碰天堂网| 丰满人妻一区三区三区| 久热伊人| 激情六| 激情综合网色播五月| 欧美丰满熟妇BBB久久久| 91成人品| 99天堂网| 五月丁香综合| 久久综合丁香激情五月| 亚洲乱码在线观看| 超碰三级片| 97丁香视频| 亚洲综合视频一下| WwW色婷婷| 六月婷婷俺也去| 综合啪啪| 99re热精品在线视频| 婷婷五月色色| 六月婷婷激情图片| 我爱大香蕉| 亚州精品成人片| 激情久久综合网| 亚洲A片成人无码久久精品青桔| 欧美激情综合| 狠狠色丁香| 99色色热| 色五月情| 俺去啦综合网| Www.se.久久| 天天擼久久擼在线| 婷婷综合干| 五月天天爽| 婷婷丁香六月天激情四射网| 在线五月色播| 蜜乳av一级av| 激情五月,色播五月| 高清无码网址| 五月婷婷co.m| 一级内射毛片| 思思热视频在线观看| 91九色PORNY中文啦| SS丁香五月婷婷| 精品操逼一区二区| 久久久大香蕉| 丁香六月av| 欧美成人AAA片一区国产精品| 噜噜综合网| 99在线精品免费视频| 婷婷四色五月| 色青五月天| 婷婷操超碰| 久久综合五月天| 久久五月丁香| 夜夜爽天天日| 在线成人网址| 日产精品一线二线三线芒果| 橾逼网| 97色色色| 香蕉久久国产AV一区二区| 思思热再线视频| 在线亚洲综合| 亚洲热视频在线| 五月天另类综合网| 久久婷中文字幕| 久久婷婷色| 天天色综合色| 久久sp免费视频| 亚洲成人av在线| 日本va欧美va欧美va精品| 丁香婷婷久久| 综合久久99| 免费九九热| 久草热8精品视频在线观看| 丁香六月激情综合啪啪| 丁香密臀AV激情网| 欧美性猛交99久久久久99按摩| 色欲AV导航| 久热中文字幕| 草榴视频黄色网| 日本啪啪网| 婷婷开心青青草| 久久婷婷东京热大香樵| 乱精品一区字幕二区| 99网| sewuyuejiqingwang| 月色色综合婷婷网| 成人在线二区| 夜夜爱网站| 操人妻视频91| 玖玖九九99| 丁香五月婷婷大香蕉| 亚洲乱码日产精品BD| 天天日日夜夜| 这里精品| 激情5月舔| 亚洲天堂有码| 美女被操一区二区| 粉嫩AV久久一区二区三区| 综合网啪| 五月激情婷婷丁香天堂| 国际国外精品欧洲南美洲专区无码不卡| 玖玖婷婷色五月| 综合色五月亭亭| 欧美色图天堂网| 婷婷日日夜夜| 综合五月天婷婷色| 亚洲五月婷天天操| 丁香五月色播中文在线播放| 成人丁香五月| 99玖玖免费视频| 996热re视频在线观看视频| 91丨九色丨东北熟女| 久久五月婷婷丁香| 久热69| 久 久9 9 热 视 频| 99在线观看视频蜜臀| 热99一二三| 99热午夜精品| 亚洲六月综合激情久久下卡| 天天插天天射| 99热啪啪| 大地9中文在线观看免费高清| 亚洲另类电影| 久久久网站| 可以免费观看的AV| 丁香五月欧美| 久9无码视频| 九九热精品视频| 国产色婷婷亚洲| 天天色情站| 久操热线| 欧美日韩一a.无| 九九aV| 9精品在线| 天堂中文国产| 99熟女| 九九性视频| 国产黄色av| 99热人人操人人操| 五月婷婷黄| 五月天AV大香蕉| 男人天堂 久久| 久久五月情| 亚洲AV无码成人精品区电影网| 亚洲AVwwwwwww| 玖玖爱伊人网| 色色网91| www.91色| 婷婷综合五月激情| 五月婷色激情五月| 婷婷涩涩五月天| 美女激情综合| 嫩草AV久久伊人妇女超级A| 国产伦亲子伦亲子视频观看 | 粉嫩AV久久一区二区三区| 99精品在线观看| XX色综合| 欧美性爱一区| 夜夜躁狠狠| 另类小说婷婷色| 99热在线成人网站| 大香蕉五月丁香| 婷婷成人视频| 综合另类激情| 日本三级中国三级99| 久热这里只有国产| 丁香五月天在线| 色五月激情| 香蕉综合网| 极品五月天| 91人人网| 噜噜综合网| 噜噜久| 91婷婷在线| 日本人妻伦在线中文字幕 | www.狠狠操| 男人的天堂99| 五月婷五月婷伊人伊人五月婷| 色婷婷最爱五月| 婷婷五月无码| 美日韩成人| 99艹精品在线观看| 五月婷婷色播视频| 99热都是精品| 成人无码精品1区2区3区免费看| 怡红院91a√| 亚洲色精彩| 99精品免费欧美小视频| 亚洲六月婷婷| 婷婷午夜综合| 婷婷五月天另类网站| 色伊人婷婷| 激情五月婷婷老师| 色九月婷婷综合| 亚洲AAAA网| 99热综合网| 六月婷综合| 国产精品久久..4399| 丁香五月色情| 丁香五月大香蕉| 欧美激情中文字幕| 一本伊人色婷| 疯狂做受XXXX高潮A片| 日韩色色一区| 手机AVAV天堂看网| 五月综合久久| 91狠狠色| 欧美色97| 超碰色女人| 99热99这里有免费的精品| 五月婷婷性爱| 九热视频在线精品15| 天天综合网亚洲网站| 久热伊人| 婷婷性爱| 激情综合五| 爱iii做iiii日日| www.夜夜夜| 日韩成人电影AV| 久久加勒比| 日日爱699| 亚洲第一成人无码A片| 亚洲艹网| 99热这里有精品| 婷婷精品在线| 亚洲 视频 导航 一区| wuyuedingxiang| www.91.com处女在线直播| 99热在线看片| 欧美超级视频97| 亚洲综合色棒| 成人va在线| 99色最新在线视频网站| 国产免费一区二区三州老师F1…… | 欧美性丁香色色五月天综合爱爱| 综合大香蕉| 久草视频一,二三四| 影音先锋91资源站| 九色91视频| www.婷婷六月天| 狠狠色丁香久久婷婷综合五月| 亚洲精品午夜国产va久久成人| 91操黄| 婷婷五月丁香六月天亚洲综合| 激情五月婷婷综合网| 综合五月天天天天天五月| 成人午夜天| 天天爽人人爽| 色啪久 | 2018夜夜草| 九九色热视频| 哇嘎成人久久| 色播综合| 四五月婷婷| 成人无码精品1区2区3区免费看| 亚洲精品五十一区| 九一娱乐在线观看视频| 五月婷婷啪啪| 97婷婷色| 成人AV在线中文版| 天天操天天操天天操天天操天天操| 丁香五月大香蕉AV| 另类小说五月天| site:wpjngj.com| 99视频这里有精品| 婷婷 色 丁香 夜| 九热免费视频| 丁香婷婷啪啪| 婷婷五月视频| 五月丁香六月婷综合成人综合| 91狠狠综合久久| 三级大香蕉网| www,色婷婷| 国产这里只有精品| 久久机热思思热| 十区AV| 91啪啪视频| 这里只有精彩视| 91肏| 亚洲精品又粗又大又爽A片| 日本色色色| 色色丁香五月| 国产精品第一国产精品| 99久久婷婷五月综合| 婷婷天堂综合| 亚州成人综合在线| 色色色色色色色色网站| 色丁香六月| 丁香五月天啪啪| 人碰人人人玩91| 91日本在线观看| 五月天玖玖狠狠色色| 日本天堂网站99| 亚洲人人操BD| 五月激情丁香六月狠狠干| 午夜在线成人网站免费观看| 综合激情站| 五月综合无码| 九九草热在线观看| 五月丁香啪啪网| 丁香网站| 97人人干| 激情五月激情综合网| 婷婷亚洲五月丁香综合在线 | 大香蕉网 久久| 天天色天天日| 99在热线免费视频| 欧美欧盟性爱网| 久久婷婷六月综合综合| 午夜少妇在线观看视频| 大香蕉伊人久久| 99热在线观看精品免费| 丁香婷婷六月天| www久久久| 久久嘟嘟丁香| 色黄啪啪| 婷婷五月天 丁香五月天 裸体| 亚洲色网络| 欧洲一区二区| 日日杆天天| 五月天色婷婷基地| 激情综合网,婷婷五月天| 丁香五月激情六月欧亚激情综合导航 | 丁香五月第四色88| 色婷五月丁香久亚洲| 久热99| 久久久久亚洲AV成人无码电影| 香蕉AV777XXX色综合一区| 国产性爱亚洲是图| 综合激情五月丁香| 激情综合色网| 91精品婷婷国产综合久久| 热99热9| 五月婷婷免费| 日本九九热| 日本色婷婷综合| 99热最新地址在线| 日本一级特黄大片AAAAA级| 激情五月婷婷啪啪| 九九热婷婷| 五月婷婷导航| 另类激情五月| www.婷婷| 丁香丁香激情网| 激情综合自拍五月婷婷色五月| 婷婷五月天黄色| 97色片| 亚洲免费视频网站| 色色五月婷婷久久| 久热综合| 欧美婷婷五月激情| 五月丁香婷中文| 综合图区激情| 婷婷五月情| 91九色国产熟女| 激情综合网五月丁香| 婷婷激情五月| 国产在线aaa片一区二区99| 国产精产国品一二三在观看| 九九婷婷激情综合网| 丁香五月婷婷色综合| 欧美叉叉叉BBB网站| 超碰亚洲欧美| avv在线| 99视频久久| site:minyis.com| 久久 这里只有精品1| 性生活久久人妻| 亚洲天堂色色| 丁香五月色情| 丁香五月婷婷欧美性爱| 五月婷婷,狠狠操| 欧美色五月| 婷婷五月天色网久| 丁香激情婷婷网| 96丁香六月婷婷蜜桃综合久久| 这里只有精品视频免费在线观看| 黄网免费看| 欧美性猛交AAAA片黑人 | 神马久久五月天| 9久国产精品| 亚洲五月天天| 色色热| 777精品久无码人妻蜜桃| 久热精彩视频98| 大香蕉啪啪| 99热只有精品在线观看| 色色色婷| 午夜天堂一区人妻| 久草视频一,二三四| 色青青五月| 日本3级片一区2区| 国外亚洲成AV人片在线观看| 99色在线观看视频| 天天色五月| 成人免费高清在线播放| 狠狠精品干练久久久无码中文字幕| 久久伊人婷| 99这里只有精品国产| 99爱视频免费| 少妇高潮呻吟A片免费看软件 | 丰满少妇乱A片无码| 日韩伊人大香蕉| 欧美久久五月婷婷| 99久久久久久| 一区=区操屄高清大全av| 99惹在线精品免费观看| 亚洲国产精品VA在线看黑人| 内射在线CHINESE| 狠狠色大香蕉| 夜夜爽天天日| 天天干天天拍| 四色永久成人网站| 久久婷婷综合五月天| 色色婷婷丁香| 91人人操.COM| 综合婷婷都市激情| 天天肏天天舔AV| 97精品自拍| 婷婷久久综合久| 五月六月婷| 五月天丁香色色| 婷婷,五月天,丁香,第一| 五月激情在线| 亚洲传媒在线观看| 操日本人妻视频| 色五月激情五月开心五月| 97ai婷婷| 色狠狠色综合| www.99视频| 国产成人AV在线播放| 丁香五月激情综合啪啪| 成人做爰高潮A片免费视频| 欧美狠狠一在草| 色狠狠综合| 亚洲成人另类| 99热99re6国产在线播放| 禁欲电影完整版在线播放| 亚洲成人免费电影| 日韩成人中文字幕| 久青操| 国产三级片91| 久9热视频| 五月激情网站| 五月丁香 狠狠爱| 天天射综合网夜夜操| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 色色亚洲五月天| 欧美A片在线视频免费观看| 亚洲五月天狠狠| 欧美激情综合五月色丁香| 久久在线视频只有这里有精品| 色九区| 五月六月播婷婷| 久久六月综合| 婷婷激情丁香五月天综合| 精品久久人妻| 99热这里只有精品在线免费| 天天射影院| 国产五月婷| 色青青电影色五月| 婷婷五月中文在线视频| 69精品无码一区二区三区| 五月丁香色婷婷熟女| 伊人久久丁香五月91| 五月丁香六月婷婷亚洲视频| 久久99免费视屏| h在线看免费版在线看| 六月婷婷综合久久| 99色在线| 丁香婷婷六月天| 亚洲精品无码A片一区二区| 五月婷视屏在线观看| 伊人激情综合| 97操碰在线视频| 欧美性爱五月天| 丁香五月综合| 五月丁香在线综合| 久久婷婷综合基地| 丁香六月综合激情| 五月丁香六月情亚洲| 丁香六月婷婷社区| 97人人超| 白天AV月月| 伊人热在线大香蕉| 久久久无码精品成人A片小说| 欧美va视频| 69精品人人人人| 狠狠色婷婷777| 色色爽爽天天| 无遮羞AV| 久久99久久99精品免观看粉嫩| 五月婷婷黄色| 97人碰人操| 99色热视频| 99操视频| 狠狠色综合图片| AV在线免费播放| 亚洲婷婷五月天综合| 国产精品18久久久| 涩综合婷婷| 狠狠色婷婷丁香六月| 美女黄频aⅴ视频| 婷婷天堂伊人| 久久九九网| 色五月超碰| 色噜噜婷婷| 国产裸舞福利资源在线视频| 色噜噜狠狠色综合网| 免费碰碰视频久| 色色婷婷五月| 91操熟女| 天天日天天插| 99热在线这里| 另类图片激情五月天| 日亚二欧美| 天久综合91综合首页| 99热老网站| 操人妻视频91| 色 丁香婷婷| 久操热线| 婷婷综合久久综合| 天天日夜夜| 婷婷永久在线| 五月天久久婷婷| 人妻人人操| 五月婷婷 自拍| 五月天综合在线| 久久久久亚洲AV无码网影音先锋| 99亚洲无码| 深爱激情九九五月天 | 天堂无码人妻精品AV一区| 久久99精品久久久久久噜噜| 婷婷丁香色五月久久88| 五月婷高清视频| 亚洲精品成人| 丁香五月天社区婷婷| 开心五月网| 91碰| 女人天堂AV| 99er精品视频| 色婷婷九月| 伊人在线婷婷草| 婷婷五月黄色激情在线| 色婷婷久久综合| 激情伊人网| 6 9式性爱视频在线播放| www,奇米影视| 欧美大片| 网站免费一站二站| 天天色播| 久久香蕉影院| 久久九九网| 婷婷五月天Av| 狠狠色狠狠| 色综合中文| 欧美日韩成人高清在线| 婷婷激情社区| 天天色域综合网| 激情五月小说婷婷| 另类图片五月天| 婷婷99中文字幕| 六月 丁香 视频| 日本三级日本三级99| 婷婷久久综合| 久久久国产精品黄毛片| 国产干逼片| 五月丁了香蕉综合| 久久婷婷五月综合伊人| 久久9视频| 激情另类综合| 99性爱精品| 色综合伊人网| av九九| 国产肥白大熟妇BBBB视频| 深夜婷婷 丁香| 色色五月丁香婷婷综合| 婷婷爱爱蜜臀天天操| 99热九九这里只有精品| 一个色的综合| 日屌日日操日日色| 久久久999精品| 99婷婷| 欧美婷婷综合| 91精品国产91久久久久青草| 日日天天操| 五月激情婷婷六月| 日韩成人中文字幕| 亚洲熟妇AV乱码在线观看| 超碰99成人在线| 九九色色网| 五月天色综合服务平台| 天天色视频| 色色a| 草榴视频黄色网| 超碰操网| 五月天久久综合婷婷丁香| 日本色99| 一级黄在线| 六月丁香六月婷婷欧美| 婷婷五月天色综合翘| 亚洲激情婷婷| 精品无码久久久久久久久| 国产成人亚洲综合亚洲| 久久婷婷成人视频| 久久婷婷综合五月趴| 99精品亚洲| 超碰人人操人人9| 成人五月天在线观看| 99在线小视频| 啊v视频在线观看| 婷婷色五月天色| 久色成人| 91人妻人人做人碰人人爽九色| 狠狠操狠狠色| 六月丁香啪啪| 狠狠的日| 婷婷综合仓库中文| 丁香五月激情六月欧亚激情综合导航| 热成人网| www.狠狠| 成人一级片| 五月天综合影院| 亚洲免费看片| 综合激情在线| 噜噜色com| 国产精品第一国产精品| 亚洲综合婷婷| 六月婷婷色| 久久大国产香蕉| 亚洲婷婷丁香五月在线| 婷婷五月影院| 91人无码久久久久久| 久久99热这里只有精品23| 丁香五月区| 97操| 99成人免费热视频| 国产又爽又猛又粗的视频A片| 伊人久久艹| 色婷婷五月天在线观看| 色综久久久| 亚洲看av的网站| 综合五月婷婷| 九九精品视频免费在线| 天堂久久婷婷| 蜜乳人妻一区二区三区| 精品草原久久视频| 九九综合影音先锋| 色插综合网| 丰满人妻一区二区三区| 狠狠大香婷婷爱| 丁香九月久久| 91精品国产99久久久久久天美| 这里只有精品免费| 91九九精品| 欧美日韩AAA| 色就色94欧美setu| 九九久久这里只有精品XB| 黄桃AV无码免费一区二区三区| 91久久久久久| 天天爽夜爽| 这里只有精品视频222| 97av在线视频| 九九香蕉网| 久久九九综合| 久久丁香五月综合六月激情红杏视频| 久久久久9| www久| 开心激情五月天网| site:901-07.com| 99热| 99热综合在线观看| 91蝌蚪窝视频在线| 亚洲另类久久| 久久性都花花世界成人免费视频 | 97超级碰碰碰| 手机旧版看人妻1025| 啪啪婷婷五月天激情| 97干欧美| 99在线观看亚洲| 亚洲乱码日产精品BD在线观看| 九九在线免费观看| 1024成人免费看| 天天狠天天叉| 五月婷婷深深爱| www.99热视频| 丁香开心深爱| 99碰碰碰| 久9无码视频| 人人人操Av| 草草夜夜操| 激情五月天激情五月天| 毛片新网地| 日韩啪啪视频| 久久这里只有精品视频26| 国产人人操| 亚洲性爱电影| 人妻久久做| 六月五月天婷婷涩播在线| 丁香五月婷婷影院| 亚洲在线综合| 99视频精品| 五月天激情网开心网| 成人综合视频在线| 99热综合| 五月丁香六月婷婷的女人| www.日韩国产| 亚洲va综合va国产va中文| 五月丁香无码| 超碰99久久| 精品国产一区二区三区四区阿崩| 一本久道综合色婷婷五月| 开心五月综合激情网| 熟妇无码乱子成人精品| 日本婷婷色日| 狠狠色丁香| 色五月在线综合| 51XX午夜影福利| 九九九午夜影院成人| 69人妻人人澡人人爽久久| 天天干天天拍| 成人丁香婷婷| 婷婷色播色五月五色五月天色妇| www超碰com| 婷婷五月天成人| 色婷婷五月天天天干天天操天天爽| 婷婷成人AV| 成人无码精品1区2区3区免费看| 激情六月色| 开心五月丁香综合久久| 偷拍91九色| 亚洲网在线观看| 五月婷婷综合激情网| 五月婷婷啪啪网| 六月色婷婷色| 超碰在线观看成人视| 少妇性BBB搡BBB爽爽爽视頻| 日本3级片一区2区| 丁香五月综合在线播放 | 八戒青柠影视剧在线观看| 婷婷婷婷婷婷婷婷| 国产五月天激情小说| 99热在线精品播放| 日本性视频| 婷婷综合在线| 色噜噜97视频在线观看| 9久热这里只有精品| 欧美天天爽| 色吊丝永久访问网址| 91 影音先锋| 色色热| 丁香激情四射| 九九久热| 色大综合| 婷婷天天插天天爱| 亚洲精品国产成人AV在线| .comwww在线观看免费操| 内射人妻视频国内| 色婷婷五月在线| 先锋资源婷婷| 色五月丁香婷婷在线观看| 亚洲中文乱字字幕线在永久| 激情五月婷婷免费视频| 爱久综合| www.综合久久.com| 五月天婷婷涩涩| 一区二区无码视频| 电影91久久久| 免费无码毛片一区二区A片| 久久激情网| 久久激情天堂| 亚洲精品99| 六月婷婷在线视频| 五月婷婷精品无在线| 五月综亚洲| 久久九九免费大视频| 99色激| 色啪网| 色五月婷婷久久| 日本综合久久| 色婷婷综合视频| 天堂色婷婷| 婷婷久久丁香五月| www.91在线观看| 9精品视频在线观看| 99.N在线视频| 久久hd| www99久久| 五月激情网站| 97在线刺激| 色五月天堂| 亚洲色五月| 激情综合网五月在线播放| 综合激情婷婷| 丁香婷婷久久| 99热精品少| 日韩无码人妻一区二区三区综合| 日本精品。999| 五月丁香好婷婷A片网| 99热这里只有精品2016| 久久99色色| 丁香美女主播视频在线观看| 丁香五月婷婷手机| 可以直接看的AV| 天天插天天日| 97久久人人| 婷婷六月丁| 2018国产大陆天天弄| 无码91中文字幕| 婷婷六月丁综合| 婷婷综合网性| 色婷操逼| 丁香激惜男女| 久热只有这里精品| 开心婷婷五月| 淫视馆aV二区一区| 伊人综合网站| 久久五月天影院| 久久久A级视频| 成人网址在线观看| 99爱免费在线观看| 五月丁香婷婷三级| 亚洲色婷婷| 开心五月网| 日逼影音先锋男人AV资源站| www久久久久久久| 97欧美在线| 五月婷婷丁香啪啪| VA日本视频| www.91九色| 五月花婷婷| 狠狠爱深色婷婷综合| 五月天激情日色在线| 激情亚洲婷婷| 亚洲九九免费| 久久婷婷五月天综合| 色玖玖综合网| 国产日韩精品SUV| 久热9热| 成人在线网| 久久久人人人妻丝丝丝| 五月精品| 国产成人精品一区二三区熟女在线| 91丁香婷婷综合久久欧美| www.99热在线观看| 六月婷婷色五月| 色综合五月| 亚洲精品又粗又大又爽A片 | www.9797国产| 2020久久婷婷五月| 天天操综合网| 亚洲欧美日韩VIP| 97人妻碰碰碰久久香蕉| 深爱五月中文字幕| 亚洲激情综合| 国产美女无遮挡裸体毛片A片| 色色日本欧美| 狠狠色综合777| 类似婷婷激情综合网站| 欧美丰满熟妇BBB久久久| 欧美超级视频97| 成人网站免费sxj| 色播婷婷五月天| 中文字幕91,综合| 婷婷五月天视| h在线看免费版在线看| 国产真实乱对白精彩| 伊人碰碰碰| 99热免| 欧美69久成人做爰视频| 色婷婷亚洲婷婷| 亚洲第一第二网站| 亚洲亚洲人成综合网络| 久久99久久99精品免视看婷| 五月开心色| 激情都市另类| 538午夜激情| 亚洲综合在线播放| www.1024久久| 五月婷婷五月天天| 激情久久久| 婷婷色色欧美| 99在线精品视频免费观看20| 国外亚洲成AV人片在线观看| 五月丁香综合啪啪| 激情五月婷婷| 天色色综合网| 大香蕉院线| 少妇AB又爽又紧无码网站 | 五月停亭六月,六月停亭的英语| 99热在线网站| 五月丁香激情欧洲啪啪| 六月丁香啪啪啪| 人妻狠狠操| 91Chinese在线| 99热99精品| 久久久精品人妻| 极品嫩草| 丁香五月欧美激情| 桃色五月婷婷| www.日韩艹| 国产精品久久久久久久久久| 激情五月深爱五月观看| 色欲婷婷五月天| 久99在线视频| 久9无码视频| 婷婷网影院| 五月婷婷激情日本| 五月丁香五月丁香五月丁香五月丁香91| 日日舔夜夜操| AV亚洲在线| 这里只有精彩视| 91国产精品视频播放| 色婷婷丁香五月色综合网| 欧美69久成人做爰视频| 五月激激网w'w'w| 色五月情| 亚州日本欧州韩美高青高潮一| 欧美激情综合五月色丁香| 五月丁香综合精品| 日韩国产在线精品| 开心五月综合| 热久久婷婷| 久久精品夜色噜噜亚洲a∨|