色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

Java大模型開(kāi)發(fā)實(shí)戰(zhàn):Spring AI與Langchain4j從工具調(diào)用到Agent

Java大模型開(kāi)發(fā)實(shí)戰(zhàn):Spring AI與Langchain4j從工具調(diào)用到Agent 如果你是一個(gè) Java 后端工程師過(guò)去一年里大概率經(jīng)歷過(guò)這樣的焦慮打開(kāi)技術(shù)社區(qū)滿眼都是 Python 寫(xiě)的 LangChain、LlamaIndex、AutoGPT打開(kāi)招聘軟件AI 應(yīng)用開(kāi)發(fā)的崗位要求里寫(xiě)滿了 Transformers、PyTorch、RAG好像 Java 開(kāi)發(fā)者瞬間被排除在 AI 時(shí)代之外。但事實(shí)并不是這樣。Java 生態(tài)里不僅有 Spring AI 和 Langchain4j 兩條成熟的技術(shù)路線而且它們?cè)诠ぞ哒{(diào)用、RAG 知識(shí)庫(kù)、Agent 編排這些核心場(chǎng)景上已經(jīng)能做出不輸 Python 生態(tài)的生產(chǎn)級(jí)應(yīng)用。只是中文社區(qū)里系統(tǒng)性的教程太少了大多數(shù)資料要么是官方文檔的翻譯腔要么是只講 Demo 不講原理的碎片代碼。這篇文章不會(huì)帶你從頭啃官方文檔。我會(huì)圍繞 Spring AI 和 Langchain4j把 Tools、RAG、Agent 這三塊真正核心的內(nèi)容拆開(kāi)講清楚它們各自解決什么問(wèn)題、怎么在 Java 項(xiàng)目里落地、有哪些容易踩的坑。如果你想從 0 到 1 掌握 Java 生態(tài)的大模型應(yīng)用開(kāi)發(fā)這篇文章可以作為一個(gè)完整的起點(diǎn)。1. 這篇文章真正要解決的問(wèn)題先做一個(gè)判斷Java 開(kāi)發(fā)者學(xué)習(xí) AI 應(yīng)用開(kāi)發(fā)真正的困難不在模型不在算法而在工程化思維方式的轉(zhuǎn)變。過(guò)去我們寫(xiě) CRUD 接口核心是把確定性的請(qǐng)求映射到確定性的響應(yīng)。但接入大模型之后系統(tǒng)的輸入是自然語(yǔ)言輸出是無(wú)法 100% 預(yù)判的文本中間還夾雜著工具調(diào)用、知識(shí)檢索、多步推理。這種“不確定性的代碼”怎么寫(xiě)、怎么測(cè)、怎么容錯(cuò)才是 Java 開(kāi)發(fā)者最陌生也最需要補(bǔ)課的地方。這篇文章要解決的就是這四件事Spring AI 和 Langchain4j 到底怎么選它們不是競(jìng)爭(zhēng)關(guān)系而是各有側(cè)重的兩條路線選錯(cuò)會(huì)直接影響后面的開(kāi)發(fā)效率。Tools 工具調(diào)用到底在做什么很多人以為工具調(diào)用就是寫(xiě)個(gè) API 讓模型去請(qǐng)求實(shí)際上它改變的是模型與外部系統(tǒng)的交互方式。RAG 知識(shí)庫(kù)的核心鏈路怎么搭從文檔加載、切分、向量化、存儲(chǔ)到檢索和重排每一環(huán)都可能成為瓶頸。Agent 和普通代碼邏輯的邊界在哪里什么時(shí)候該用 Agent什么時(shí)候不該用這是工程上最容易被忽略的問(wèn)題。讀完這篇文章你應(yīng)該能獨(dú)立搭建一個(gè)包含知識(shí)庫(kù)問(wèn)答和工具調(diào)用的 Java AI 應(yīng)用并且能說(shuō)清楚每個(gè)環(huán)節(jié)的原理和常見(jiàn)坑。2. Spring AI 與 Langchain4jJava 大模型開(kāi)發(fā)的兩條主流路線在正式開(kāi)始寫(xiě)代碼之前先把兩個(gè)框架的關(guān)系理清楚。這也是很多初學(xué)者第一個(gè)困惑的地方。Spring AI是 Spring 官方生態(tài)的一部分定位是“把 AI 能力以 Spring Boot 的方式接入 Java 應(yīng)用”。它提供了統(tǒng)一的 ChatClient、EmbeddingModel、VectorStore 等抽象讓開(kāi)發(fā)者就像寫(xiě) JdbcTemplate 一樣去調(diào)用大模型。如果你已經(jīng)深度使用 Spring BootSpring AI 的學(xué)習(xí)成本會(huì)非常低。Langchain4j則是對(duì)標(biāo) Python 生態(tài) LangChain 的 Java 實(shí)現(xiàn)。它最大的特點(diǎn)是抽象層次更高提供了 AiServices 這種聲明式編程模型。你只需要定義一個(gè)接口加幾個(gè)注解框架就會(huì)自動(dòng)幫你完成模型調(diào)用、提示詞模板、工具綁定、RAG 檢索這些繁瑣的過(guò)程。它們之間不是誰(shuí)取代誰(shuí)的關(guān)系而是兩個(gè)層次的工具如果你喜歡 Spring 官方風(fēng)格、項(xiàng)目已經(jīng)重度依賴 Spring Boot選 Spring AI 更自然。如果你想要更接近 LangChain 的開(kāi)發(fā)體驗(yàn)或者希望聲明式地定義 Agent 服務(wù)Langchain4j 的抽象能力會(huì)讓你更舒服。從當(dāng)前生態(tài)來(lái)看Spring AI 背靠 Spring 官方版本演進(jìn)和 Spring Boot 的兼容性做得好Langchain4j 在 Agent、Tool 和 RAG 的封裝上更成熟社區(qū)也很活躍。更穩(wěn)妥的判斷是兩者都值得掌握但先用其中一個(gè)跑通一個(gè)完整項(xiàng)目再橫向?qū)Ρ攘硪粋€(gè)比一開(kāi)始就糾結(jié)選哪個(gè)更有價(jià)值。3. 核心概念Tools、RAG、Agent 并不是并列關(guān)系很多教程把 Tools、RAG、Agent 當(dāng)作三個(gè)獨(dú)立的功能模塊來(lái)講這會(huì)給初學(xué)者造成誤解。實(shí)際上它們是 AI 應(yīng)用從簡(jiǎn)單到復(fù)雜的三個(gè)階段理解這個(gè)層次關(guān)系比記住 API 更重要。3.1 工具調(diào)用讓模型從“會(huì)說(shuō)”到“會(huì)做”大模型本質(zhì)上是一個(gè)文本生成器它的能力邊界在于“只能輸出文字不能執(zhí)行動(dòng)作”。比如你問(wèn)它“幫我查一下訂單 1001 的狀態(tài)”模型如果只憑訓(xùn)練數(shù)據(jù)它只能給你一個(gè)編造的答案因?yàn)樗驹L問(wèn)不到你的數(shù)據(jù)庫(kù)。工具調(diào)用Tool Calling / Function Calling解決的就是這個(gè)問(wèn)題把模型和外部系統(tǒng)連接起來(lái)。當(dāng)用戶的問(wèn)題需要實(shí)時(shí)數(shù)據(jù)或系統(tǒng)操作時(shí)模型會(huì)生成一個(gè)結(jié)構(gòu)化的調(diào)用請(qǐng)求由應(yīng)用程序執(zhí)行真正的業(yè)務(wù)邏輯再把執(zhí)行結(jié)果返回給模型由模型組織最終的回答。它的核心價(jià)值在于模型負(fù)責(zé)“理解意圖、拆分任務(wù)、組織回答”而你的 Java 代碼負(fù)責(zé)“執(zhí)行真實(shí)的業(yè)務(wù)邏輯”。職責(zé)邊界非常清晰。3.2 RAG給模型插上外部知識(shí)工具調(diào)用解決的是“實(shí)時(shí)操作”的問(wèn)題RAG 解決的是“知識(shí)獲取”的問(wèn)題。大模型的訓(xùn)練數(shù)據(jù)是有截止時(shí)間的而且不包含你公司的私有數(shù)據(jù)。如果你直接問(wèn)模型“我們公司的請(qǐng)假流程是什么”它只能瞎編。RAGRetrieval-Augmented Generation檢索增強(qiáng)生成的思路是先把文檔切分成小塊轉(zhuǎn)成向量存入向量數(shù)據(jù)庫(kù)用戶提問(wèn)時(shí)先從向量庫(kù)中檢索出最相關(guān)的文檔片段把這些片段拼進(jìn)提示詞再讓模型基于這些片段來(lái)回答。它的優(yōu)勢(shì)在于不需要重新訓(xùn)練模型只需要更新文檔庫(kù)就能讓模型掌握新知識(shí)而且回答可以追溯到具體的文檔來(lái)源這對(duì)企業(yè)場(chǎng)景非常重要。3.3 Agent從單次回答到多步任務(wù)如果說(shuō) Tools 是讓模型能“動(dòng)手”RAG 是讓模型有“知識(shí)”那 Agent 就是給模型裝上了“大腦”和“計(jì)劃能力”。Agent 的核心特征是循環(huán)模型分析任務(wù)、決定調(diào)用哪個(gè)工具、執(zhí)行工具、觀察結(jié)果、決定下一步行動(dòng)直到完成目標(biāo)。一個(gè)典型的 Agent 場(chǎng)景是用戶說(shuō)“幫我整理上季度的銷(xiāo)售報(bào)告重點(diǎn)分析華東區(qū)數(shù)據(jù)然后生成一份摘要發(fā)給我”這個(gè)任務(wù)需要多次調(diào)用數(shù)據(jù)查詢、計(jì)算、甚至發(fā)郵件的工具而且步驟不是預(yù)先確定的模型需要根據(jù)每一步的結(jié)果動(dòng)態(tài)調(diào)整計(jì)劃。但這里必須提醒一句Agent 不是銀彈。多步循環(huán)意味著更高的延遲、更高的成本、更難以預(yù)測(cè)的結(jié)果。在工程上能夠用固定流程完成的任務(wù)永遠(yuǎn)不要為了“炫技”而上 Agent。4. 環(huán)境準(zhǔn)備與前置條件開(kāi)始寫(xiě)代碼之前先確認(rèn)你的開(kāi)發(fā)環(huán)境。以下版本信息以實(shí)際項(xiàng)目為準(zhǔn)本文的重點(diǎn)是演示通用思路。JDK 17 或更高版本Spring Boot 3.x 需要Maven 3.6 或 Gradle 7一個(gè)可用的 LLM API 服務(wù)可以是 OpenAI、通義千問(wèn)、DeepSeek或者本地部署的模型服務(wù)如果要跑 RAG 示例還需要一個(gè)向量數(shù)據(jù)庫(kù)Milvus、Redis、PgVector 等都可以本文以 Milvus 為例說(shuō)明思路IDE 推薦 IntelliJ IDEA方便調(diào)試 Agent 的多次調(diào)用過(guò)程如果你的網(wǎng)絡(luò)環(huán)境無(wú)法直接訪問(wèn)海外模型服務(wù)使用國(guó)內(nèi)模型廠商的兼容接口即可Spring AI 和 Langchain4j 都支持通過(guò)配置切換模型供應(yīng)商。這也是 Java 生態(tài)做得比較成熟的地方模型供應(yīng)商的差異被抽象成了統(tǒng)一的接口。創(chuàng)建 Maven 項(xiàng)目的核心依賴可以參考下面的配置。這里的版本號(hào)只做示意建議以你當(dāng)前使用的框架官方最新穩(wěn)定版為準(zhǔn)。dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-starter-openai/artifactId version1.0.0/version /dependencyLangchain4j 的依賴方式略有不同它是通過(guò)獨(dú)立的 starter 引入dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId version1.0.0/version /dependency在動(dòng)手之前先想清楚一個(gè)問(wèn)題你是要做一個(gè)“研究性質(zhì)的 Demo”還是要做一個(gè)“生產(chǎn)可用的系統(tǒng)”。如果是后者模型的選擇、成本控制、日志鏈路、失敗重試這些工程細(xì)節(jié)需要在一開(kāi)始就納入設(shè)計(jì)而不是等代碼寫(xiě)完了再補(bǔ)。5. 動(dòng)手實(shí)現(xiàn)Tools 工具調(diào)用的最小示例從最簡(jiǎn)單的場(chǎng)景入手讓模型調(diào)用一個(gè) Java 方法來(lái)獲取實(shí)時(shí)數(shù)據(jù)。這里以一個(gè)“查詢當(dāng)前天氣”的工具為例所有天氣數(shù)據(jù)都是模擬數(shù)據(jù)重點(diǎn)看鏈路如何打通。5.1 定義數(shù)據(jù)記錄// 文件路徑src/main/java/com/example/ai/weather/WeatherInfo.java public record WeatherInfo(String city, double temperature, String description) { }5.2 定義工具類(lèi)Spring AI 中使用 Tool 注解的方法會(huì)自動(dòng)暴露給模型調(diào)用。每個(gè)參數(shù)都要寫(xiě)清楚描述因?yàn)槟P褪强棵枋鰜?lái)理解參數(shù)的語(yǔ)義的。// 文件路徑src/main/java/com/example/ai/weather/WeatherService.java import org.springframework.ai.tool.annotation.Tool; import org.springframework.stereotype.Service; Service public class WeatherService { Tool(description 查詢指定城市的當(dāng)前天氣) public WeatherInfo getWeather(String city) { // 實(shí)際項(xiàng)目中這里會(huì)調(diào)用真實(shí)天氣 API return new WeatherInfo(city, 25.5, 晴); } }5.3 編寫(xiě)調(diào)用入口// 文件路徑src/main/java/com/example/ai/ToolDemoApplication.java import org.springframework.ai.chat.client.ChatClient; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; SpringBootApplication public class ToolDemoApplication implements CommandLineRunner { private final ChatClient chatClient; public ToolDemoApplication(ChatClient.Builder builder, WeatherService weatherService) { this.chatClient builder .defaultTools(weatherService) .build(); } public static void main(String[] args) { SpringApplication.run(ToolDemoApplication.class, args); } Override public void run(String... args) { String answer chatClient.prompt() .user(北京今天的天氣怎么樣) .call() .content(); System.out.println(answer); } }5.4 運(yùn)行邏輯說(shuō)明整個(gè)流程是用戶問(wèn)題傳入模型 → 模型識(shí)別出需要調(diào)用 getWeather 方法生成一個(gè)包含城市參數(shù)的結(jié)構(gòu)化調(diào)用請(qǐng)求 → Spring AI 攔截這個(gè)請(qǐng)求通過(guò)反射調(diào)用 WeatherService 中的方法 → 方法返回的天氣數(shù)據(jù)被回傳給模型 → 模型根據(jù)這些數(shù)據(jù)生成最終回答。這個(gè)示例雖然簡(jiǎn)單但揭示了工具調(diào)用的三個(gè)關(guān)鍵點(diǎn)工具的“描述質(zhì)量”直接影響模型的準(zhǔn)確率。描述寫(xiě)得越詳細(xì)模型越不容易用錯(cuò)參數(shù)。工具方法是同步阻塞的如果方法里有外部 API 調(diào)用要做好超時(shí)和重試。模型返回的工具調(diào)用參數(shù)是文本形式的框架負(fù)責(zé)反序列化但參數(shù)數(shù)量多時(shí)要仔細(xì)設(shè)計(jì) DTO。很多人第一次跑這個(gè)示例會(huì)困惑為什么我的工具沒(méi)有被調(diào)用最常見(jiàn)的幾個(gè)原因一是工具類(lèi)沒(méi)有注冊(cè)為 Spring Bean二是 Tool 注解的包引錯(cuò)了三是模型的工具調(diào)用能力沒(méi)有在請(qǐng)求中開(kāi)啟。先從這三處排查。6. RAG 知識(shí)庫(kù)實(shí)戰(zhàn)從文檔到檢索問(wèn)答工具調(diào)用解決了“讓模型獲取實(shí)時(shí)數(shù)據(jù)”的問(wèn)題接下來(lái)看企業(yè)場(chǎng)景里更常見(jiàn)的 RAG。模擬場(chǎng)景公司內(nèi)部有一份《新員工入職手冊(cè)》包含請(qǐng)假流程、報(bào)銷(xiāo)規(guī)則等需要讓模型基于這份手冊(cè)回答員工問(wèn)題。完整的 RAG 鏈路是文檔加載 → 文本切分 → Embedding 向量化 → 存入向量庫(kù) → 檢索 → 重排可選 → 拼入提示詞 → 模型生成回答。6.1 文檔加載與切分文檔加載是最容易被低估的一步。PDF、Word、Markdown 的解析方式完全不同解析出來(lái)的內(nèi)容質(zhì)量直接決定后續(xù)檢索效果。// 文件路徑src/main/java/com/example/ai/rag/DocumentLoader.java import org.springframework.ai.reader.TextReader; import org.springframework.ai.transformer.splitter.TokenTextSplitter; import org.springframework.ai.document.Document; import org.springframework.core.io.ClassPathResource; import java.util.List; public class DocumentLoader { public ListDocument loadAndSplit() { // 1. 讀取 Markdown 文檔 TextReader reader new TextReader(new ClassPathResource(docs/employee-handbook.md)); ListDocument documents reader.get(); // 2. 按 Token 切分設(shè)置重疊保持上下文連貫 TokenTextSplitter splitter new TokenTextSplitter(500, 100); return splitter.apply(documents); } }切分策略是 RAG 效果好壞的分水嶺。切得太短單個(gè)片段信息量不足檢索出來(lái)也回答不完整切得太長(zhǎng)向量檢索的語(yǔ)義精度下降而且會(huì)增加 Token 消耗。常見(jiàn)做法是結(jié)構(gòu)清晰的文檔按標(biāo)題切分普通文檔按固定 Token 數(shù)切分并設(shè)置 10%~20% 的重疊。6.2 Embedding 向量化并存入 Milvus向量化是讓文本變成計(jì)算機(jī)可以計(jì)算相似度的數(shù)學(xué)向量的過(guò)程。不同模型的向量維度不同常見(jiàn)的 Embedding 模型輸出 1024 維或 1536 維向量。// 文件路徑src/main/java/com/example/ai/rag/VectorStoreConfig.java import org.springframework.ai.embedding.EmbeddingModel; import org.springframework.ai.vectorstore.VectorStore; import org.springframework.ai.vectorstore.milvus.MilvusVectorStore; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class VectorStoreConfig { Bean public VectorStore vectorStore(EmbeddingModel embeddingModel) { MilvusVectorStore.MilvusVectorStoreConfig config MilvusVectorStore.MilvusVectorStoreConfig.builder() .withCollectionName(employee_handbook) .build(); return new MilvusVectorStore(embeddingModel, config); } }寫(xiě)入向量庫(kù)的代碼非常短因?yàn)楹诵南蛄炕^(guò)程被框架封裝了// 文件路徑src/main/java/com/example/ai/rag/RagIngestionService.java import org.springframework.ai.vectorstore.VectorStore; import org.springframework.stereotype.Service; import java.util.List; Service public class RagIngestionService { private final VectorStore vectorStore; public RagIngestionService(VectorStore vectorStore) { this.vectorStore vectorStore; } public void ingest(ListDocument documents) { vectorStore.add(documents); } }6.3 檢索問(wèn)答當(dāng)用戶提出問(wèn)題后需要把問(wèn)題向量化然后去向量庫(kù)中找出最相似的幾個(gè)文檔片段連同問(wèn)題一起發(fā)給模型。// 文件路徑src/main/java/com/example/ai/rag/RagQueryService.java import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.vectorstore.VectorStore; import org.springframework.ai.vectorstore.SearchRequest; import org.springframework.stereotype.Service; Service public class RagQueryService { private final VectorStore vectorStore; private final ChatClient chatClient; public RagQueryService(VectorStore vectorStore, ChatClient.Builder builder) { this.vectorStore vectorStore; this.chatClient builder.build(); } public String answer(String question) { // 1. 檢索相關(guān)文檔片段取 Top-K ListDocument similarDocuments vectorStore.similaritySearch( SearchRequest.builder() .query(question) .topK(4) .build() ); // 2. 拼接上下文 String context similarDocuments.stream() .map(Document::getText) .reduce((a, b) - a \n\n b) .orElse(); // 3. 帶入提示詞后讓模型回答 return chatClient.prompt() .system(你是一個(gè)企業(yè)知識(shí)庫(kù)助手請(qǐng)基于提供的文檔內(nèi)容回答用戶問(wèn)題。 如果文檔中沒(méi)有相關(guān)信息請(qǐng)直接回答不知道?;卮鹫?qǐng)注明信息來(lái)源段落。) .user(文檔內(nèi)容\n context \n\n問(wèn)題 question) .call() .content(); } }這段代碼的核心思維是“先檢索后回答”。模型看不到整個(gè)知識(shí)庫(kù)只能看到檢索出來(lái)的幾個(gè)片段因此檢索質(zhì)量直接決定回答質(zhì)量。6.4 RAG 常見(jiàn)的優(yōu)化方向如果 RAG 效果不理想不要急著換模型先按以下順序排查文檔切分是否合理是否破壞了文檔的語(yǔ)義完整性。Embedding 模型是否合適通用模型檢索專(zhuān)業(yè)領(lǐng)域內(nèi)容效果會(huì)打折扣。Top-K 是否合理K 值太小容易漏信息K 值太大容易引入噪音。是否缺少重排環(huán)節(jié)向量檢索的“相似”不等于“相關(guān)”加一個(gè)重排模型可以顯著提升精度。7. Agent 實(shí)戰(zhàn)讓模型編排多步任務(wù)理解了 Tools 和 RAG 之后Agent 的理解門(mén)檻就低了。Agent 本質(zhì)上是“循環(huán) 工具 決策”的組合。下面用 Langchain4j 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 Agent讓它能同時(shí)使用天氣查詢和 RAG 檢索兩個(gè)工具完成一次需要多步推理的任務(wù)。7.1 定義 Agent 服務(wù)接口Langchain4j 的核心抽象是 AiServices它允許你用接口來(lái)描述 Agent 的“能力”。// 文件路徑src/main/java/com/example/ai/agent/CustomerAssistant.java import dev.langchain4j.service.AiServices; import dev.langchain4j.service.SystemMessage; import dev.langchain4j.service.UserMessage; import dev.langchain4j.service.tool.Tool; import java.time.LocalDate; AiServices public interface CustomerAssistant { SystemMessage(你是一個(gè)企業(yè)智能助理可以根據(jù)用戶的請(qǐng)求調(diào)用工具?;卮鹨?jiǎn)潔、準(zhǔn)確。) String chat(UserMessage String userMessage); }7.2 組合多個(gè)工具同一屆面中工具方法分散在多個(gè)服務(wù)里也沒(méi)關(guān)系A(chǔ)iServices 支持傳入多個(gè)工具實(shí)例。// 文件路徑src/main/java/com/example/ai/agent/TimeTool.java import dev.langchain4j.service.tool.Tool; public class TimeTool { Tool(獲取當(dāng)前日期) public String currentDate() { return LocalDate.now().toString(); } }然后組裝 Agent 入口// 文件路徑src/main/java/com/example/ai/agent/AgentDemo.java import dev.langchain4j.memory.chat.MessageWindowChatMemory; import dev.langchain4j.model.openai.OpenAiChatModel; public class AgentDemo { public static void main(String[] args) { // 模型實(shí)例具體 API Key 通過(guò)環(huán)境變量注入 OpenAiChatModel model OpenAiChatModel.builder() .apiKey(System.getenv(LLM_API_KEY)) .baseUrl(System.getenv(LLM_BASE_URL)) .build(); CustomerAssistant assistant AiServices.builder(CustomerAssistant.class) .chatLanguageModel(model) .chatMemory(MessageWindowChatMemory.withMaxMessages(20)) .tools(new TimeTool(), new WeatherServiceAgent()) .build(); String answer assistant.chat(北京今天天氣怎么樣適合穿什么衣服); System.out.println(answer); } }7.3 Agent 與普通代碼的邊界Agent 的高級(jí)感容易讓人上頭但工程上必須克制。判斷一個(gè)場(chǎng)景是否需要 Agent可以從兩個(gè)維度考慮任務(wù)步驟是否確定能寫(xiě)死流程的用普通代碼只有任務(wù)目標(biāo)確定、步驟無(wú)法預(yù)判的才用 Agent。失敗成本是否可控Agent 的多步循環(huán)意味著錯(cuò)誤會(huì)累積如果一步執(zhí)行錯(cuò)的結(jié)果被帶入下一步最終輸出可能完全偏離預(yù)期。涉及資金、審批等高風(fēng)險(xiǎn)場(chǎng)景必須給 Agent 加人工確認(rèn)環(huán)節(jié)。8. 常見(jiàn)問(wèn)題與排查思路把實(shí)踐中最常遇到的幾類(lèi)問(wèn)題整理成一個(gè)排查表方便對(duì)照處理問(wèn)題現(xiàn)象可能原因排查方式解決方案模型沒(méi)有調(diào)用工具工具方法未注冊(cè)為 Bean / Tool 注解失效查看應(yīng)用啟動(dòng)日志中的工具注冊(cè)信息確認(rèn)工具類(lèi)被 Spring 容器掃描檢查注解包路徑工具參數(shù)反序列化失敗參數(shù)類(lèi)型和模型生成的 JSON 不匹配打印本次請(qǐng)求的工具調(diào)用請(qǐng)求體調(diào)整 DTO 結(jié)構(gòu)盡量使用簡(jiǎn)單類(lèi)型參數(shù)RAG 回答不準(zhǔn)確文檔切分不合理 / 檢索 Top-K 太少打印檢索到的文檔片段人工檢查相關(guān)度調(diào)整切分策略增加重排環(huán)節(jié)RAG 回答編造信息沒(méi)有控制提示詞中的回答邊界檢查 system 提示詞是否有“不知道就直說(shuō)”強(qiáng)化提示詞約束必要時(shí)對(duì)輸出做關(guān)鍵詞過(guò)濾Agent 循環(huán)不終止缺少最大迭代次數(shù)限制查看請(qǐng)求日志中的工具調(diào)用次數(shù)為 Agent 設(shè)置最大循環(huán)次數(shù)和超時(shí)時(shí)間模型調(diào)用超時(shí)網(wǎng)絡(luò)波動(dòng) / 模型服務(wù)響應(yīng)慢查看模型服務(wù)端監(jiān)控和客戶端超時(shí)日志增加超時(shí)配置加入重試和熔斷機(jī)制還有一個(gè)很典型的工程問(wèn)題容易被忽略工具方法里的異常處理。如果工具方法拋出異常不同的框架處理方式不同有的是把異常信息返回給模型讓模型自行決定有的會(huì)直接中斷整個(gè)流程。生產(chǎn)環(huán)境中建議把異常信息作為工具返回值的一部分交給模型這樣 Agent 可以基于異常信息調(diào)整策略而不是整個(gè)任務(wù)直接失敗。9. 工程化最佳實(shí)踐從 Demo 到生產(chǎn)中間隔著的不是代碼量而是一整套工程意識(shí)。以下幾件事應(yīng)該在項(xiàng)目初期就規(guī)劃好。第一日志鏈路必須完整。大模型應(yīng)用是黑盒你無(wú)法直接看到模型“為什么這么回答”。因此每次請(qǐng)求都要記錄用戶的原始輸入、檢索到的上下文片段、模型完整輸出、工具調(diào)用的參數(shù)和結(jié)果。一旦線上出現(xiàn)問(wèn)題這些日志是唯一的判斷依據(jù)。第二成本控制要前置。LLM API 調(diào)用的成本不是線性的Agent 的多輪循環(huán)可能讓單次提問(wèn)消耗幾十倍的 Token。建議在 Agent 場(chǎng)景設(shè)置 Token 上限和費(fèi)用預(yù)警并對(duì)工具的調(diào)用次數(shù)做限制。第三提示詞也是一種代碼。提示詞要像管理代碼一樣管理進(jìn)版本控制、寫(xiě)清晰注釋、做效果對(duì)比。不要用大段 Markdown 風(fēng)格提示詞塞在 Java 代碼里要抽成獨(dú)立的資源文件方便業(yè)務(wù)人員一起校對(duì)參數(shù)。第四安全邊界要明確。工具調(diào)用賦予模型執(zhí)行操作的能力這本身就是高風(fēng)險(xiǎn)。所有工具方法都必須做權(quán)限校驗(yàn)和參數(shù)校驗(yàn)隔離敏感操作工具執(zhí)行要有審計(jì)記錄。涉及數(shù)據(jù)庫(kù)寫(xiě)入、文件刪除、資金變動(dòng)等操作一定要強(qiáng)制人工二次確認(rèn)。第五評(píng)估機(jī)制不能缺。每次調(diào)整提示詞或切分策略都要有一套固定的評(píng)估問(wèn)題集記錄回答質(zhì)量。否則你可能只是“感覺(jué)”這次改好了實(shí)際上在另一些問(wèn)題上效果變差了。10. 總結(jié)與后續(xù)學(xué)習(xí)方向這篇文章從 Java 開(kāi)發(fā)者視角把 Spring AI 和 Langchain4j 兩套框架的核心鏈路串了一遍工具調(diào)用讓模型具備了執(zhí)行能力RAG 讓模型接入了私有知識(shí)Agent 讓模型能夠自主編排多步任務(wù)。這三者不是孤立的技能點(diǎn)而是一條完整的能力升級(jí)路徑。下一步的實(shí)踐建議是先用 Spring AI 跑通一個(gè)包含工具調(diào)用的最小項(xiàng)目理解模型和代碼之間的交互機(jī)制然后為核心業(yè)務(wù)文檔搭建一個(gè) RAG 知識(shí)庫(kù)注意切分策略和檢索質(zhì)量的調(diào)優(yōu)最后再嘗試用 Langchain4j 的 AiServices 把一個(gè)需要多步操作的真實(shí)場(chǎng)景封裝成 Agent。過(guò)程中一定要搭好日志和評(píng)估體系否則很難判斷改動(dòng)到底是變好還是變壞。Spring AI 和 Langchain4j 的更新速度都很快新特性層出不窮。但只要掌握了工具調(diào)用、RAG、Agent 這三條主線任何新特性對(duì)你來(lái)說(shuō)都只是細(xì)節(jié)擴(kuò)展。建議收藏這篇文章按章節(jié)逐步實(shí)踐。紙上得來(lái)終覺(jué)淺尤其是這種交互式 AI 應(yīng)用開(kāi)發(fā)跑通一次真實(shí)鏈路比看十篇教程都管用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩国产在线观看av| 日本九九久久99| 夜夜人妻爽| 日夜精品| 国语av最新自产拍在线观看| 国产熟女精品区| 一区不卡在线观看av| 日本人体九九九九九九| 撸无码不卡免费视频| 欧美极品性爱天天射| 九色 人妻 大香蕉| 亚洲精品蜜桃久久久一区二区三区| 四虎永久在线精品免费网址| 自拍第一页| 免费公开人人操| 91红杏| 白丝AV| 黑操B| 亚洲资源吧| 日韩激情中文字幕有码| 国产性爱欧美性爱在线| 综合久久六月久久婷婷| 日本三级精品| 97精品国产97久久久久久| 91 国产丝袜在线播放-百度| 九热中文字幕| 久草视频分类在线| 久久综合97| 丁香六月激情综合| 夜夜草天天| 中文字幕一区av| 日本不卡一二区| 色99在线| 性猛交| 中文字幕第页| 麻豆三极片| 99热色这里只有精品| 97干在线| 91AV天堂| 人妻熟女av国产网站| 欧美性第1页| 加勒比大香蕉视频在线| 欧美色网| 欧美亚洲厕所精品偷拍91| 一区二区精品日韩欧美在线观看| 亚洲天堂男人天堂网| 欧美日韩91| 国产精品九九九| 97这里都是精品| 一个人免费视频观看在线WWW| 欧美亚洲丝袜美女电影| 家庭乱伦性爱av| 伊人少妇久久久| 日本中文字幕在线视频| 加勒比综合| 美女91在线观看| 日韩丝袜二区| 加勒比av网| 六月丁丁香| 精品人妻免费观看| 亚洲诱惑天堂| 久久人妻97久久久久久久| 强奸乱伦AV一天堂网| caopeng97人妻| 亚洲国产麻豆一区二区三区| 福利五区| 国产精品视频播放| 婷婷五月天色网| 亚洲限制级| JULIA一区二区三区在线播放| 97欧美综合| 久久亚洲日韩熟女精品| 97碰碰色| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 日本免费一区二| 久久亚洲人妻| 91久久久久| 九九热av| 日本十八禁免费看污网站| 午夜无码精品免费看性色| 国产精品无码论坛| 久久伊人青青草| 亚洲人综合| 青青青青操国内视频在线| 色就色综合| 操啊国产| 久久久国产三级黄色片| 欧美第38页| 亚洲资源网| 超碰吊日色| 亚洲无码国产探花在线观看| 超碰人人超在线观看| 黄色小视频日本txt| 色婷婷电影| 玖玖蜜臀资源网| 九九人妻| 亚洲va有码在线天堂| 五月激情综合网| 欧美天堂超碰97| 超碰97COm中文| 人人看人人插| 综合久草| 午夜小电影在线插入淫高潮| 福利操逼| 国产精品久久久久久久久久久久久久久久久久 | 日韩中文字幕视频| 少妇高潮99p| 欧美玖玖爱免费玖玖| 精品国产Av无码久久久伦古装| 成人麻豆av电影网站| 免费亚洲黄色视频在线观看| 久久伊人青青草| 啊啊啊啊操死我| 亚洲成人无码影院| 97精品综合久久网| 99人妻碰碰碰久久久久禁片| 92福利社视频| 超碰美女97| 九月激情婷婷| 国产男女无套97| 欧美春色| 九九综合久久| 亚洲91在线| 综合婷婷| 人妻 欧美亚洲| 欧美日韩另类在线播放| 嫩草 人人网精品| 无码操逼天堂| 91高清无码下载| 嗯~啊~快点 死我视频| 日本在线999| 综合久久中文字幕综合日韩精品| 大屁股熟女一区二区三区| 国产精品免费1区2区视频| 国产超碰在线| 乱伦一区二区三区‘| 极品尤物在线观看| 亚洲97精品| 99∨VTV| 激情丁香婷婷| 午夜精品探花| 91天天综合日韩欧美| 免费一级特黄特色大片在线观看看| WWW4虎| 久久大香蕉97| 色爱三区| 在线情色电影 91大| 国产视频一区二区三区在线免费观看| 亚洲欧美啪啪| 狂操嫩妻视频一区二区三区| AV中亚| 久久综合婷婷| 人人看人人爰人人操| 久草综合视频| 精品久久人妻成人网| 激情小说亚洲色图| 中文伊人大香蕉视频| 97鸡把在线视频| 久久久97| 色婷婷国产精品一区在线观看| 国产精品久久久久999| 欧美一级黄色免费专区| 久久一区二区加油站| 色婷婷六月| av中亚| 精品人妻一区二区三区-国产| 2023天天操夜夜操| 久久久久人| 激情五月婷| 欧美自拍偷拍综合图片| 天堂精品| 素人美腿视频网站| 97久久久| 热无码中文亚洲H一道本一区二区| 五月天久久婷婷亚洲| av天堂精品久久| 欧美色爱综合| 天天日天天射天天干| 97最新在线播放视频| 久久久蜜桃臀无码视频| 精品中文字幕一区二区| 色综合天天爱去电影网| 91n.欧美| 97丝袜亚洲在线播放| 99精品综合久久久久五月天| 久久免费老司机精品| 大香蕉久| 免费伦费视频在线观看| 国产精品激情久久久久久久| 无遮挡一级毛片视频免费的| 在线中文字幕视频| 熟女少妇一区二区三区| 人妻天天爽夜夜爽2| 日本免费不卡二区| 国产欧美精品日韩区二区麻豆天美| 粉嫩粉嫩一区性色AV片| 无码精品久久久天天影视| 99久久久无码国产精品性啊聊 | 狠狠爱夜夜干| 亚洲一二三四区在线免费看视频 | 超碰在线人妻中文字幕| 好爽视频在线观看视频| 美女91在线| 老熟乱一区二区三区四区| 亚洲精品久久一区二区三区蜜桃臀| 亚洲最大的黄色电影网站。| 国产精品久久9| 亚洲五月婷婷| 中文一区二区婷婷视频| 艳美熟妇先锋一二三区| 久久久久13| 伊人久久88国产女| 青青草日本无码| 蜜臀久久99精品久久久老,,| 国产大片精久久久久久| 亚洲色香| 色香伊人| 一区二区三区一亚洲中文字幕、综合区灬 | 蜜臀久久99精品久久久久电影| 91N综合网在线| 夜夜嗷嗷一区二区| 国产日韩中文字幕欧美| 欧美 色 亚洲| 黄片www视频免费| 在线a亚洲视频播放在线| 亚州综合在线| 日本一级特级毛片视频| 国产操逼逼网| 超碰人人色| 欧美|91色综合| 插入综合网| 亚洲AO在线| 精品小视频在线| 好爽免费视频,| 超碰久草| 中文字幕97| 中文字幕乱码人妻二区三区| 亚洲人妻中文高清| 色婷婷激情| 骚乳在线| 精品成人久久久人人亚洲| 加勒比99999| 天天看天天日天天操| 日韩无限资源| 色偷偷人人玩人人舔人人操人人摸人人爽 | 九九色图| 亚洲丝袜色图| 夜夜爽夜夜操| 在线观看亚洲专区| 无码免费一区二区三区啪啪| 久湿久久| 国产亚洲色婷婷久久99精品91 - 百度| 日韩av性爱在线播放| 视频在线观看免费一区二区三区| 色婷五月天| 久久久久久久久久久久久久久久9| 99热国产精品| 黄色片,com| 久久怡红院| 96久久久精品| 特色a在线上| 美女极品一区二区三区| 日本加靬比网站发布页| 婷婷人妻激情| 日本色色色视频| 欧美九九爱| 后入日本1234| 人人插人人摸人人| 人人妻人人色| 国产精品高潮久久久无码| 色欲日韩欧美在线一区| 热热色色综合| 性暴力欧美猛交在线直播| 97精品综合| 日韩精品怡红院| 在线免费观看高清无码视频| 俺去久久| 无码国产精品96久久久久孕妇| 91小视频| 久久九九精品一区二区| 在线观看亚洲专区| 91女优在线观看 | 91岛国动作片| 久久久久久久久久久人妻| 男人天堂无码| 婷婷伊人綜合中文字幕小说| 午夜久久久| 操逼www.| 精品一二三区四视频| 欧亚无码视频| 色婷婷淫色网| 精品亚洲国产成人av网站| 大香蕉十区| 天天看天天日天天操| 欧苏综合色综合| 2017大香蕉| 日本天天操| 九九草| 校园春色 男人天堂 | 色综合婷婷| av橘色网站| 色欲日韩欧美在线一区| 色哟哟精品1精品2| 亚洲天堂区| 欧美 亚洲 在线| 91女人的网站| 手机在线播放国产福利| 亚州五月| 高凊专区人人操| 不卡av免费在线网址| 欧美午夜精品久久久久久超碰| 97色综合中文网| 久久9亚洲| 狠狠色伊人亚洲综合网站色| 嫩草影院永久在线制服丝袜| 天天精品| 1769一区| 加勒比久久av| 日本人体九九九九九九| 99在线免费公开视频| 动漫av中文| 思思热免费视频观看| 97资源站国产精品| 日本亚洲vr欧美不卡高清专区| 97无码视频在线播放| 老女人老91妇女老热女| 欧美一级黄片免费播放| 黄骗免费网站| 天天天做天天天爱天天天爽| 久久久影院| 日韩美女操b| 黑人精品欧美一区二区蜜桃| 日韩伦理久 久久 清纯| 极品色www影院| 欧美色亚洲| 91美女視頻| 99热97| 国产日韩欧美中文在线播放| 久久99九九九九6666免费观看软件| 久久国产在线一区二区| 最新中文字幕av| 国产高清在线观看欧美| 日韩一级欧美一级国产一级台湾| 无码男人天堂| 国产精品九9| 久草国产在线视频| 欧美成年人性爱视频免费观看| 日本熟妇精品九九| 十八禁网站在线| a级成人毛片免费视频高清| 超碰色老头| 使劲用力艹少妇视频一区二区| 超碰av在线| 操逼不卡中文字幕| 黄片免费日韩| 人人妻人人澡人人爽久久av| 国产91专区| 久久嫩草国产成人一区| 欧美综合骚| 激情综合网激情五月天| www成人啪啪18秘 免费| 乱伦图av| 最新av网站在线观看| 丁香成人五月天| 久热在线精品免费观看| 成年无码动漫av片无尽在线| 精品午夜福利| 插插综合网天天影视网| 亚洲熟女乱综合一区二区三区| 日本三级黄页| 屌逼麻豆| 综合激情五月天| 国产色呦呦| AA级电影三区| 中国操逼无码| 国产内射爽爽大片| 亚洲综合电影| 久久久久久免费电影| 91性感网站| 综合激情97| 青青操97| 日本福利二区视频| 日本亚洲熟女视频| 伊欧美综合视频| 国产亚洲精品久久久久小| 欧美巨大性舒爽顶到了| 翔田千里AV无码秘 三区| 91男女| 欧美性五月| 偷拍99| 亚洲清纯唯美| 90后后入| 91n欧美| 9久久久久| 中文乱码字幕观看视频| 亚洲图片另类| 91丨国产丨白浆秘 洗澡动漫| 9118禁| 日本精品五区| JIZZJIZZ亚洲女人被躁| 黄色电影在线播放综合网站| www亚洲免费| 亚洲综合69| 伊人97色天使| 青青草狠狠撸| 亚州综| 久久精品熟妇丰满人妻99| 91一区二匹| 91丨国产丨白浆秘 洗澡动漫| 97超碰人人模人人拍人人| 清纯唯美亚洲| 亚洲一欧洲中文字幕在线| 亚洲二区精品在线观看| 天天操综合网| 日本超碰在线国产一区| 综合久欧洲| 青青操视频在线| 91九色丰满高潮| 91少妇人妻| 在线v中文字幕一区二区三区| 97色涩| 色哟哟 日韩精品| 日本性爱网址| 日本啊啊啊啊啊视频| 欧美偷| 黄片www.| 中文字幕在线免费观看| 男人兔费天堂| 亚洲国产91精品一区二区久久| 色哟哟-国产专区| 久久神马| 91天美传媒精品| 国产精品视频自拍在线| 97频视在线| 日韩人妻一区二区精品| 丝袜高跟澳门91视频| 亚洲一级特黄大片在线播放91| 色老牛| 亚洲一区中文字幕一区| 内射夫妻三片| 中文字幕一区二区三区高清| 欧美日韩人妻婷婷一区| 欧美日韩岛国大片在线观看| 丰满人妻一区二区三区免费| av天天在线| 全球成人中文在线| 999综合网| 亚洲性图91| 操我啊啊啊啊啊| 激情五月天社区| 久久精品人妻一区| 久久9免费视频| 91在线限制级| 口爆综合网| 女同性恋久久| 99久久久无码国产精品性男| 日韩激情电影中文字幕| 美女91| 超碰天天操你比| 激情五月天丁香| 波多野结衣先锋影音| 日本欧美中文字幕| 国产精品网址| 中文不卡视频| 国产成人主播| 久久99999| 日韩av熟女一区二区三区成人| 伊人久久88国产女| 妺妺跟我一起洗澡没忍住| 99久久久无码精品国产人| 国产强奸无码乱伦| 欧美中文字幕精品人妻| 日韩啪啪视频| 中文字幕在线免费观看2| 熟女激情综合网| 亚洲在线网站| 欧美丝袜制服久久| 综合色色网| 懂色av中文字幕一区二区三区天美| 人妻激情另类| 久久久九九九九| 久久6热精品99视频| 狠狠爱夜夜干| 色与欲影视| 色欲久久久久综合网| 极品销魂美女一区二区| 人妻一区二区三区视频 | 中文字幕一区二区三区人妻不卡| 欧色网址| 亚州一区二区成人片免费| 亚洲偷拍自拍在线视频| 97综合在线观看| 日韩人人精品| 澳门黄片一香蕉视频| 精品一区二区成人| 九月丁香| 国产人人干| 天天综合欧美| 欧美系列在线一区二区| 欧美天天拍| 外国免费性情大片| 午夜AV人气不卡| 黄色小说亚洲| 久久在肏| 十八禁的黄污污免费网站| 吻戏激情性巴克| 色综合 加勒比| 亚洲最大成人a毛毛片| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91黑丝美女| 男人天堂资源| 成人情色一区二区| 中文字幕在线免费观看| 精品色色| 亚洲人妻在线精品| 96AV久久久| 国产精品日本无码A片| 亚洲国男人的天堂| 欧美97色| 搡老女人老妇女老妇老熟女怎么读| 校园春色 亚洲| A 天堂在线观看视频| 9999亚洲精品| 久久精品店| 人人操人人摸人人看人人干| 北京专精特新企业招聘信息| 国产视频人人网| 婷婷三区| 亚洲午夜福利视频| 超碰碰小说97| 99热在线观看| 国产精品人人爽人人做可爱福利| 女一区二区| 欧美另类综合久久| 夫妻日逼| 97操在线| 久久久亚洲精品电影免费看| 欧美少妇性爱网站| 国产精品久久久久久久久久久久久久吹| 黄色高清无码无码破解免费暗网| 91高清欧美| 久久久网一区| 920日本午夜免费| 国产精品久久久久无码Av网曝门 | 中国91AV| 岛国不卡超碰护士AV在线播放| 婷婷五月天伊人| 九九视频黄色片| 一本色道久久综合狠狠操| 偷拍欧美综合| 亚洲超碰在线| 国产精品无码AV网站| 久艹日日日| 亚洲影视第一页| 久久综合超碰| 91色碰| 日韩av乱伦| 天堂中文资源在线bt| 99999精品| AV女资源| 亚洲欧洲日韩中文字幕一区| 黄页网站成人免费| 国产AB视频| 天天天操天天天爱| 日韩大香蕉精品在线视频| 97久久精品国产| 欧美日韩狠狠爱| 天天综合站| 超碰在线1234区| 亚洲色图自拍| 98福利在线视频| 日本熟妇精品九九| 亚洲97网站| 精品无码一区二区三区| 91狠狠综合久久| 丝袜美腿亚洲| 在线观看AV片| 伊人色综合网电影| 婷婷色色五月天| 精品久久艹| 亚洲97网站| 欧美高清91| 97视频网站| 97无码视频在线播放| 日日操免费视频| 岛国视频免费在线观看| 免费久久精品麻豆一区二区av| 69人妻精品一区二区绯色| 超碰超碰95| 日韩钢筋无码高清啾啾啾| 997色在线| jizz啪啪| 丁香九月婷婷| 久热久操| 欧美国产精品久久九九| 99热在线观看| 91成人国产综合久久精品蜜月| 91精产一区二区三区| 欧美综合网在线| 干婷婷综合网| 色老牛| 高潮精品| 一本一道人妻久久一区二区三区| 动漫av中文| 国产强奸乱伦第1页| 久久久久久久国产a∨| 欧美日韩黄色片一区二区三区四区人与兽做爱| 蜜臀av网址| 欧美一级黄片视频在线| 校园春色综合色| 国产精品免费久久久久久久久久| 人成午夜免费大片| 日韩人人精品| 人人妻人人狠人人| 亚洲少妇激情一区二区三区| 91人妻做a观看视频| 亚洲影视综合| 日韩欧美经典在线观看| {男男暴菊gay无套网站| 久久精品亚洲东京热色播| 啪啪啪男女亚洲中文字幕99| 国产精品成人无码av| 亚洲色天堂九9| 1769精品一区二区三区| 色网亚洲人| 夜夜操2028| 高清无码人妻久久久一区二区三区aⅴ| 综合自拍| 91激情| 九九九九日本 | 综精品久久久aaaa| 操操操日本的逼| 欧美极品色| 国产女人高潮视频| 国产二区三区免费视频| 欧美精品久久| 91婷婷| 亚洲无992tv| 亚洲一二三四区机械| 欧美一级特黄淫片在线观看| 欧亚日韩综合精品国产| 国内三级自拍小视频在线观看| 亚洲a色| 樱花草社区www中国| 国产亚洲日本精品在线| 久久伊人最新网址视频| 少妇一级无码精品| 91痴汉| 10000部十八禁看电影| 亚洲精品成人| 中国zzijzzijzzwww精品| 97亚洲自在精品在线观看| http://qxhbdz.com| 国产精品视频白浆免费| 美日韩男女操屄视频| 亚洲欧洲日韩中文字幕一区| 区二区亚洲婷| 欧美国产视频| 99热免费精品| 欧美性暴力猛交XXXX | 亚洲丝袜诱惑| 中文字幕视频在线观看| 人人妻人人爽一区二区三区| 欧美91网站| 久久久精久久久| 五月久久HDAV| 久久极品一区二区| 亚洲另类综合欧美| 超碰亚洲欧美日韩无| 久久久99久9| 丰满少妇人妻久久久久久| 久久久久密| 欧美日韩99精品麻豆传媒| 麻豆国产96在线| 91色久| 九色 人妻 大香蕉| 青娱乐av在线| 操b网站亚洲无码| 欧美韩日精品资源| 一二三四区电影| 黑人精品欧美一区二区蜜桃| 人乳av| 91狠狠综合网| 特级毛片特黄久久免费看 | 麻豆国产精品午夜视频| 搡老女人老妇女AAA一VU麻豆 | 久久久久久久久成人av解说| 天堂岛av| 99在线啪| 久9无限国产| 亚洲婷婷综合网| www.色婷婷色综合| 97干天天| 欧美综合色,www| 免费观看一区| 91天堂色男人的天堂| 亚洲色图91欧美日韩| 白 大 人妻 区 在线| 老鸭窝成人免费毛片视频| 亚洲精品国产专区在线观看| 熟妇在线视频一区二区| 射丝袜大香蕉| 偷拍三区| 区一二区日韩亚洲乱码av电影| 久久久91| 欧美精品999| 肉丝无码中文高清| 亚洲精品乱码久久久久久蜜桃麻豆 | 91一区二区三区蜜桃| 99精品热| 亚洲女人91| 在线观看日韩av不卡| 97超碰人妻| 67914亚洲精品| 亚州性色| 玖玖综合.com| 天天夜夜rb| 国产情侣自拍在线播放| 亚州高清AV| www.久久久久| 水多多映视AV| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 日韩情色视频| 天天爽夜夜爽夜夜爽精| 久草毛片电影怡| 6080YYY午夜理论片在线观看| 亚洲蜜臀懂色| 日本熟妇人妻中出视频| 桑老女人九区| 天天欧美色| 国产亚洲精品久久久久小| 欧美伦乱爱| 看黄片视频免费| 97伊人| 天天澡天天爽日日av| 日本性爱少妇| 熟女激情综合网| 公司1区2区3区精产精| 男人的天堂亚洲| 伊人一区二区在线播放| 热热色青青草| 艳尻美人妻| 婷婷丁香六月| 国产成人亚洲精品无码古代早漏男 | 日本在线激情一区二区三区| 亚洲天堂一区| 加勒比无码毛片| 97天天做| 激情六月天| 亚洲天堂中文字| 色欲天天综合久久久无码网中文| 日本新免费二区三区| 99热在线播放| 欧美日韩国产成人高清| 欧美综合色| 91 亚欧| 久久久久久久久国产| 欧美日韩人人精品| 国产超碰| 999岛国大片| 天天干天天狼在线视频| 中日韩久久人妻一区二区| 天天草天天干天天日| 国产精品麻豆成人av| 97在线看| 久久超碰国产一区二区三区| 欧美色就是色| 韩国三级一线观看久| 久久久久久久97| 国产久久久| 操一操摸一摸| 欧美老妇曰批的视频| 人人操肉肉| 免费在线黄片视频| 看免费的黄片| 欧美性爱三区二区| 9色在线| 久久蜜桃综合网| 北条麻妃性愛视频| 久久精品高清无码一区| 国内毛片四区| 一二三区视频在线观看| 色香综合| 日本国产欧美高清在线| 东北黄色电影| 欧美激情色婷婷花野真衣一区二区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 国产黄色剧情影片麻豆免费播放| 狠狠中文字幕| 99亚亚热| 天天天堂影视日韩亚洲91| 欧美丝袜亚洲| 国产精品探花色| 99热在线观看| 国产农村妇女精品1区二区| 9久9久| 国产操偷| 曰本精品久久久| 中文有码9| 91人妻尻屄视频| 曰本91情色| 久久精品| 激情综合五月丁香| 久久精品72| 亚州综合色| 99久久久| 亚洲 日本 不卡| 国产精品秘 福利姬在线观看| 欧美亚洲第1页| 蜜臀视频网站| 大香蕉宗合网在线| 中文久久久| 国产原创自拍| 搡老女人老91妇女老熟女| 婷婷久久综合久| 日亚韩精品视频二区三| 色婷婷综合久久中文字幕雪峰| 国产精品久久久久久久久久久久久久吹 | 青草精品视频-日本久久久久网站| 人人透人人操| 怡红院网站在线视频| 桃花色涩综合影院| 97资源久久| 久久的网站啊啊啊啊啊| 欧美人与动性人交a| 欧美国产成人在线| 91GD.COM| 富女玩鸭子一级毛片| 天天射夜夜| 桃花色涩综合影院| 欧美性91| 二对二中文字幕。| av天堂手机版追回 | 强奸a片网| 少妇三p| 台湾大香蕉99热| 入口操逼网站| 黄骗免费网站| 99999这里都精品| 狼天天狼天天大香蕉| 国产成人一级av88| 亚洲91在线| 色眯眯av| 久久伊人在线五区| 日本日皮视频逼| 美女操逼A A| 99精品九九九九九九| 日日黄色三级网站| 久久丁香五月婷婷| 婷婷色色五月天福利| 国产午夜福利合集| 夜夜 中文视频rt| 精品一区二区三区最新| 五月天色综合| 国产女人成人精品视频| 中文字幕奈奈美被公侵犯| 2021国产成人精品久久| 久久男人| 国产99热| 午夜经典| 国产成人精品网站| 夜夜黄| 亚洲色棕合| 日韩噜噜69| 亚洲男人的天堂网| 亚洲视频一二区| 久久久久久久国产| 欧美伦乱爱| 欧美日韩另类字幕中文| 果冻传媒A片一二三区| 色五月激情AV在线| 97超碰中文| 美女天天干| 久久久久久久精| 色黄污美女啪啪啪免费网站| 九色在线熟女国产黑人| 人妻少妇av在线观看| 亚洲天堂,男人| 国产自产91区13区| 裸体1区| 亚洲欧美国产精品久久久久久久| 亚洲操操操无码| 国产一区二区二区按摩精品啪视频| 操逼操逼操| 天天插夜夜操| 精品一二三区久久AAA片| 亚洲色久| 亚洲不卡不卡中文字幕不卡| 久久爱超碰网| 一本久久久精品| 综合影院永久入口国产| 久久激情综合| 欧美精品偷拍| 91丝袜在线观看| 九九久久综合| 亚洲一二三四区在线免费看视频| 人人妻人人爽| 八人操人人摸人人看| www.激情| 今日头条成人一区二区三区四虎精品| 人妻蜜桃臀| 97啪啪| 天天综合色| 日日噜噜夜夜久久亚洲一区二区 | 日韩精品在线观看网站| 精品v1区| 黄片免费日韩| 亚洲熟妇丝袜在线观看| 婷婷超| 在现视频女上位好爽| 伊香蕉综合久久久久久久噜噜噜 | 日夜伊人网| 色欧美天天| 农村女一级毛卡片| 亚洲不卡不卡中文字幕不卡| 老熟女91| 岛国AV一区二区电影| 免费αV在线视频| 久久99手机免费视频| 日韩在线一区高清在线| 99啪啪视频| 又粗又长又爽在线观看| 欧美成人精品一区二区三区| 精品人妻一二三| 一个人在线看的黄色电影网站| 青娱乐淫乱1314| 91久久久久久久久久久| 高清国产无码av| 欧美色图私拍91| 亚洲高清国产理伦片| av草草在线电影| 91美女丝袜诱惑视频| 欧美色999| 日日夜夜噜| 综合色99| 亚洲色欲天天天堂色欲网女| 国产精品一级二级在线| 欧美毛片在线网| 国产一区二区a毛片| 亚洲激情综合另类| 久久综合超碰| 欧美九九爱| 最新日韩黄片| 手机在线A片| 在线免费观看高清无码视频| 欧美日韩美女精品久草一区二区三区| 日日狠狠久久偷偷色综合免费| 精品无码久久久久久国产浪潮| 青青久久久| 日韩 成人 有码| 宅男午夜在线视频| 黄色污污污污污污网站| 开心五月婷婷激情| 3D污黄视频在线观看| 日本爽爽爽爽爽爽免费视频| 91丝袜人妻| 亚洲熟妇AV日韩熟妇在线| 天天色怡春院| 欧美日韩亚洲高清不卡一区二区三区| 综合色99| 色婷婷丁香五月天| 亚洲色综合| 五月天婷婷激情| 日本福利社| 天天看综合网| 亚洲熟女乱色| 午夜福利久久久噜久噜久久综合 | 蜜乳av一区二区三区四区不卡| 欧美一二在线| 蜜臀久久在线视频| 国产精品在线一区二区| 97网址97| 精品对白久久不卡| 日本一级真人黄色性爱视频| 97在线免费观看| 两女互慰AV高潮喷水在线观看| 探花一区二区三| 亚洲 欧美 手机在线观看| 粉嫩av在线一区二区| 亚洲无码色| 欧美色图中文字幕| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 福利风月五月天影院| 打av高清| 啊啊啊 在线| 欧美色www亚洲国产阿娇要播| 6080YYY午夜理论片在线观看| 国产 日韩 另类 视频一区爱| 欧美日韩m| 精品丰满熟妇人妻一区| 91精品人妻偷情| 国产精品电影| 91精品久久久久久77777| 日韩大香蕉| 粉嫩不卡一区二区性爱| 日本淫色网| 色婷婷日韩精品一区二区三区| 色黄污美女啪啪啪免费网站| 婷婷五月天丁香| julia ann久久| 91人妻做a观看视频| 打av高清| 国产精品女aA片爽爽视频| 亚洲激情网| 亚洲成人AB| 国产中文字幕曰本毛片| 九九热视频这里只有精品| 亚洲欧美另类图片| 五月天偷拍| 欧美日韩狠狠爱| 人妻久久久久久久久久久久久久久 | 欧美性爱一区二区三区四区| 新亚洲无码| 江都AV在线| 狠狠久久手机视频精品| 国内精品不卡无毒99999| 欧美日韩另类激情图片| 精品在线观看视频在线| 98福利在线视频| 久久成人国产| 日日嗨AV一区二区夜夜| www熟女乱伦com| 另类 综合 日韩 欧美 亚洲| 91人精品妻入口| 久久99手机免费视频| 欧美福利视频啊啊啊啊| 天天操女人| 九九九九热| 大香蕉综合久久| 久久九九综合| 天天射天天| 欧美手机在线综合| 五月婷婷丁香六月| 青娱乐福利99| 青青五月天| 亚洲综合小视频小说在线观看| 动漫爆乳3D奶水一区在线观看| 久久男人天堂| 中文字幕一品色图| 亚洲男人天堂2019| 黄片com.| 蜜乳成人AV| 亚洲国产97| 亚洲97网站| 嗯阿好爽好紧| 欧美少妇熟女| www.久久| 综合久久六月久久婷婷| 国产精品不卡av免费在线观看| 欧美91丝袜| 97超碰亚洲| 性性久久| 日日日啊啊啊| 99.色网| 淫淫总合网| 成人情色一区二区| 激情文学网伊人| 国产又色又爽又舒服的三级视频| 亚洲AV无码乱码| 国产肏逼网站| 免费AV中文网在线观看| 天天综合网日韩| 亚州欧美在线| 精品美女少妇一区二区| 日韩综合97p| 无码人妻精品酒店| 97爱综合| 亚洲久久久| 成人免费性爱视视| 99e久久国产精品| Av手机版天堂网| 成全在线观看免费观看| 久热香蕉精品在线视频| www网站黄| 色香阁在线| 亚码激情| 日本熟妇精品九九| 日韩无码第3页| 噜噜噜噜久久久精品免费| Julia Annxxxxx| 久久久久成人网| 综合久久久久久久久91| 成人无码专区精品视频| 2017大香蕉国产精品久久| 亚洲综合骚逼| 蜜臀久久99精品久久久久久婷婷| 久久精品—区二区三区内射| 日韩欧美福利视频看看| www.久久久久| 日日夜夜青青草母狗| 2017天天操天天日| 色欲蜜臀AV| 密臀在线免费观看| 午夜一区| 久久国内| 久久內射| 曰韩中文人妻视频| 91操操| 亚洲综合伊人| 伊人久久综合影院| 亚洲色图 欧美热图 清纯唯美 另类自拍| 老鸭窝黄色视频网站| 97免费视频在线观看| 国产女性无套 免费观看| 欧美亚洲美少妇一区二区| 久96热在线观看视频| 蜜乳AV一区| 久久宗合亚洲| 无码高清专| 大香蕉92| 中文字幕在线高清男人的天堂 | 黑人精品久久97| 国产精品久久妻无码网站| 麻豆2区1区天美| 欧美组图日韩亚洲中文字幕| 久久99操天天日| 9久久精品| 久久深夜无码| 欧美性爱18观看| 国产传媒美日韩av| 91午夜无码| 偷拍2020| 久久五月丁香| 乱色老一区二区三区的观看方式| 99精品国产户外露出| 中文字幕片| wwwxxx日本爽| 97爱免费插| 国产亚洲日韩在线三区黑人| 91欧美少妇| 欧美少妇熟女| 中文字幕精品一区欧美| 97干综合网| 国产av白丝| 亚欧视频在线| 日韩视频中文字幕| 国产五码丝袜屁眼| 日本亚洲熟女视频| 2025年A片视频精品| 91观看 国产白丝| 啊啊啊操一区| 看日韩操逼| 26UUU欧美激情一区二区| 啊啊啊轻点在线观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久亚洲骚逼综合| 国产Av超碰| 欧美激情综合网| 日本不卡中文| 97久久天天综合色天天综合色电影| 天天色综合图片| 九九干| 強姦亂倫a| 乱性AV| 亚洲精品成人动漫在线| 久久偷偷色综合蜜桃| 9精品久久| 亚洲丝袜99| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 一级片在线观看高清无码|