99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

LLM工具調(diào)用:從API自動化到智能體架構(gòu)的工程實踐

LLM工具調(diào)用:從API自動化到智能體架構(gòu)的工程實踐 1. 從“缸中大腦”到“世界之手”LLM工具調(diào)用的本質(zhì)躍遷想象一下你有一個知識淵博、思維敏捷的助手他上知天文下知地理能寫詩、能編程、能解答你的任何疑問。但當(dāng)你讓他幫你訂一張機(jī)票、查一下明天的天氣或者把一份報告里的數(shù)據(jù)整理成圖表時他卻只能抱歉地告訴你“對不起我無法執(zhí)行這個操作。” 這就是當(dāng)前大多數(shù)大型語言模型LLM的現(xiàn)狀——一個被困在數(shù)字世界里的“缸中大腦”。它擁有海量的知識和強(qiáng)大的推理能力卻缺乏與現(xiàn)實世界交互的“手”和“眼”。而“工具調(diào)用”Tool Calling這項技術(shù)正是為這個超級大腦裝上操控現(xiàn)實世界的“神經(jīng)接口”和“機(jī)械臂”的關(guān)鍵。簡單來說LLM工具調(diào)用就是讓模型學(xué)會識別用戶的意圖并調(diào)用預(yù)先定義好的外部工具如API、函數(shù)、命令行來完成任務(wù)。這不僅僅是“API調(diào)用”的自動化而是一次認(rèn)知架構(gòu)的升級。它標(biāo)志著LLM從純粹的文本生成器向能夠感知、決策并作用于外部環(huán)境的“智能體”Agent的轉(zhuǎn)變。無論是通過API查詢實時天氣、調(diào)用代碼解釋器執(zhí)行計算、操控瀏覽器進(jìn)行網(wǎng)頁操作還是整合企業(yè)內(nèi)部系統(tǒng)工具調(diào)用都讓LLM突破了自身訓(xùn)練數(shù)據(jù)的靜態(tài)邊界獲得了動態(tài)獲取信息和執(zhí)行動作的能力。對于開發(fā)者、產(chǎn)品經(jīng)理乃至普通用戶而言理解這一機(jī)制意味著能夠真正將AI的“思考力”轉(zhuǎn)化為解決實際問題的“生產(chǎn)力”。2. 核心架構(gòu)拆解LLM如何“思考”并“行動”工具調(diào)用并非一個簡單的“if-else”觸發(fā)器而是一個涉及規(guī)劃、決策與執(zhí)行的復(fù)雜認(rèn)知循環(huán)。其核心架構(gòu)可以分解為幾個關(guān)鍵環(huán)節(jié)共同構(gòu)成了LLM與外部世界交互的“神經(jīng)系統(tǒng)”。2.1 意圖識別與工具匹配從“想做什么”到“用什么做”當(dāng)用戶提出一個請求如“幫我查一下上海明天下午的天氣并建議我是否需要帶傘”時LLM首先需要理解這個請求背后的復(fù)合意圖。這個過程遠(yuǎn)不止于關(guān)鍵詞匹配。深度解析模型會基于其龐大的預(yù)訓(xùn)練知識對查詢進(jìn)行語義解析。它需要識別出核心動作“查詢天氣”、關(guān)鍵參數(shù)地點“上?!睍r間“明天下午”以及隱含需求“判斷是否需要帶傘”意味著需要降水概率信息。這一步考驗的是模型的基礎(chǔ)語言理解能力。緊接著模型需要將解析出的意圖與它“已知”的工具庫進(jìn)行匹配。這個工具庫通常以結(jié)構(gòu)化描述如函數(shù)名、功能描述、參數(shù)格式的形式提供給模型。例如工具庫中可能有一個名為get_weather的函數(shù)描述為“獲取指定城市和時間的天氣預(yù)報信息”參數(shù)包括city字符串和date字符串格式Y(jié)YYY-MM-DD。模型的任務(wù)是判斷用戶的請求是否可以通過調(diào)用這個或這些工具來滿足。注意工具描述的清晰度和準(zhǔn)確性至關(guān)重要。模糊的描述如“獲取天氣信息”可能導(dǎo)致模型誤匹配或無法匹配。最佳實踐是為每個工具提供詳盡、無歧義的自然語言描述并明確參數(shù)的類型和約束。2.2 參數(shù)提取與結(jié)構(gòu)化將自然語言轉(zhuǎn)化為機(jī)器指令匹配到合適的工具后LLM需要從用戶的自然語言陳述中精確地提取出調(diào)用該工具所需的參數(shù)。這是工具調(diào)用中最具挑戰(zhàn)性的環(huán)節(jié)之一因為它要求模型具備強(qiáng)大的信息抽取和上下文理解能力。以天氣查詢?yōu)槔脩粽f“明天下午上海天氣怎么樣”模型需要推斷出city參數(shù)應(yīng)為 “上?!薄τ赿ate參數(shù)模型需要理解“明天”指的是相對于當(dāng)前日期的下一天并將其轉(zhuǎn)換為 “2024-05-28” 這樣的標(biāo)準(zhǔn)格式假設(shè)今天是2024-05-27。對于“下午”這可能是一個需要進(jìn)一步處理的模糊時間范圍或者工具本身只支持到“天”的粒度模型需要忽略或做默認(rèn)處理。技術(shù)實現(xiàn)層面在如 OpenAI 的 Function Calling 或 ReAct 等框架中這一步通常由模型生成一個結(jié)構(gòu)化的 JSON 對象。例如{ “tool_call”: { “name”: “get_weather”, “arguments”: { “city”: “上?!?“date”: “2024-05-28” } } }這個 JSON 對象就是模型“思考”后輸出的“行動指令”。后端系統(tǒng)在收到這個指令后才會去實際執(zhí)行對應(yīng)的函數(shù)或API調(diào)用。2.3 執(zhí)行與反饋循環(huán)完成動作并學(xué)習(xí)結(jié)果工具被調(diào)用后會返回一個執(zhí)行結(jié)果。這個結(jié)果可能是成功的數(shù)據(jù)如{“temperature”: 25, “condition”: “多云” “precipitation_prob”: 10%}也可能是一個錯誤如{“error”: “City not found”}或網(wǎng)絡(luò)超時。反饋的重要性LLM 并不會在發(fā)出指令后就結(jié)束工作。它必須接收并理解這個執(zhí)行結(jié)果然后決定下一步行動。這構(gòu)成了一個“感知-思考-行動”的循環(huán)Perception-Reasoning-Action Loop。感知結(jié)果模型讀取工具返回的原始數(shù)據(jù)或錯誤信息。思考分析模型分析結(jié)果是否滿足了用戶的原始請求。如果天氣數(shù)據(jù)已獲取它需要結(jié)合“是否需要帶傘”的隱含需求進(jìn)行推理“降水概率10%建議不帶傘”。如果調(diào)用失敗它需要分析錯誤原因是參數(shù)錯誤還是服務(wù)不可用并決定是重試、換用其他工具還是向用戶請求澄清。生成響應(yīng)或新行動最終模型將分析結(jié)果轉(zhuǎn)化為面向用戶的自然語言回答或者生成一個新的工具調(diào)用指令來繼續(xù)完成任務(wù)。這個循環(huán)是智能體Agent能力的核心體現(xiàn)使得LLM能夠處理多步驟、有條件分支的復(fù)雜任務(wù)。3. 主流實現(xiàn)方案與框架實戰(zhàn)理解了原理我們來看看如何在實際項目中實現(xiàn)它。目前市場上有多種成熟的方案從云服務(wù)商提供的原生能力到開源框架各有側(cè)重。3.1 云服務(wù)商的原生工具調(diào)用以O(shè)penAI為例OpenAI的GPT系列模型通過“Function Calling”功能原生支持工具調(diào)用。這是目前最直接、集成度最高的方案之一。實操步驟定義工具函數(shù)在調(diào)用Chat Completions API時在tools參數(shù)中提供一個函數(shù)列表。每個函數(shù)需要定義name名稱、description描述和parameters遵循JSON Schema格式的參數(shù)定義。模型決策將用戶消息和工具定義一起發(fā)送給API。模型會根據(jù)對話上下文判斷是否需要調(diào)用工具。如果需要它會在響應(yīng)中返回一個或多個tool_calls包含要調(diào)用的函數(shù)名和提取出的參數(shù)。本地執(zhí)行你的應(yīng)用程序收到響應(yīng)后解析tool_calls在本地代碼中執(zhí)行對應(yīng)的真實函數(shù)。提交結(jié)果將函數(shù)執(zhí)行的結(jié)果作為一條新的“工具”角色消息追加到對話歷史中再次調(diào)用API。模型會基于這個結(jié)果生成面向用戶的最終回答。示例代碼片段概念性import openai # 1. 定義工具 tools [ { “type”: “function” “function”: { “name”: “get_weather” “description”: “獲取指定城市的天氣預(yù)報” “parameters”: { “type”: “object” “properties”: { “city”: {“type”: “string” “description”: “城市名如‘上?!眪 “date”: {“type”: “string” “description”: “日期格式Y(jié)YYY-MM-DD”} } “required”: [“city”] } } } ] # 2. 用戶請求 messages [{“role”: “user” “content”: “明天上海天氣如何”}] # 3. 首次調(diào)用模型可能決定調(diào)用工具 response openai.chat.completions.create( model“gpt-4” messagesmessages toolstools tool_choice“auto” # 讓模型自行決定 ) # 4. 檢查并執(zhí)行工具調(diào)用 if response.choices[0].message.tool_calls: tool_call response.choices[0].message.tool_calls[0] if tool_call.function.name “get_weather”: import json args json.loads(tool_call.function.arguments) weather_result your_weather_function(args[“city”] args.get(“date”)) # 5. 將結(jié)果提交給模型 messages.append(response.choices[0].message) # 追加模型的消息包含工具調(diào)用請求 messages.append({ “role”: “tool” “content”: json.dumps(weather_result) “tool_call_id”: tool_call.id }) # 6. 獲取最終回答 second_response openai.chat.completions.create( model“gpt-4” messagesmessages ) final_answer second_response.choices[0].message.content print(final_answer) # 例如“明天上海多云氣溫25度降水概率較低建議不用帶傘?!眱?yōu)勢與局限優(yōu)勢簡單易用與OpenAI生態(tài)無縫集成模型對工具調(diào)用的理解能力強(qiáng)。局限綁定特定廠商工具執(zhí)行邏輯完全需要開發(fā)者自行實現(xiàn)和托管錯誤處理、復(fù)雜流程編排多個工具順序/并行調(diào)用需要額外開發(fā)。3.2 開源智能體框架LangChain與LangGraph對于需要更高靈活性、復(fù)雜工作流編排或希望避免廠商鎖定的項目開源框架是更強(qiáng)大的選擇。LangChain 及其擴(kuò)展 LangGraph 是目前最流行的生態(tài)之一。LangChain 的核心抽象LangChain 將工具調(diào)用抽象為Agent和Tool兩個核心概念。Tool一個可調(diào)用的功能單元。你可以輕松地將一個Python函數(shù)、一個API封裝成一個Tool只需提供名稱和描述。Agent一個代理它配備了一系列Tools和一個LLM。Agent負(fù)責(zé)理解用戶輸入決定使用哪個Tool或都不使用并處理Tool的返回結(jié)果。LangGraph 的進(jìn)階編排當(dāng)任務(wù)涉及多步驟、有狀態(tài)、帶循環(huán)或條件分支時基礎(chǔ)的Agent可能不夠用。LangGraph 引入了“圖”的概念來編排工作流。你可以將整個任務(wù)流程定義為一個有向圖節(jié)點是LLM調(diào)用、工具執(zhí)行或條件判斷邊定義了執(zhí)行流向。實戰(zhàn)構(gòu)建一個數(shù)據(jù)分析Agent假設(shè)我們要構(gòu)建一個Agent用戶可以用自然語言要求它分析CSV文件比如“幫我計算data.csv中‘銷售額’列的平均值并找出最大值對應(yīng)的日期”。定義工具創(chuàng)建幾個工具函數(shù)如read_csv(file_path)、calculate_column_stats(data, column_name)、find_row_by_value(data, column_name, value)。創(chuàng)建Agent使用LangChain的create_react_agent或create_openai_tools_agent將LLM如ChatOpenAI和上述Tools綁定。設(shè)計工作流使用LangGraph節(jié)點1理解意圖LLM解析用戶請求輸出結(jié)構(gòu)化計劃如[“步驟1讀取文件” “步驟2計算銷售額統(tǒng)計” “步驟3查找最大值對應(yīng)日期”]。節(jié)點2執(zhí)行讀取調(diào)用read_csv工具。節(jié)點3執(zhí)行計算調(diào)用calculate_column_stats工具。節(jié)點4執(zhí)行查找調(diào)用find_row_by_value工具。節(jié)點5生成報告LLM匯總所有工具結(jié)果生成最終的自然語言回答。運(yùn)行將用戶查詢輸入這個圖它會自動按流程執(zhí)行并在需要時調(diào)用LLM進(jìn)行決策。優(yōu)勢與心得優(yōu)勢極度靈活可編排復(fù)雜流程社區(qū)活躍工具生態(tài)豐富已集成數(shù)百個工具支持本地模型。實操心得LangChain的學(xué)習(xí)曲線較陡初期需要理解其大量的抽象概念Chains, Agents, Tools, Memory等。建議從簡單的Agent Tools開始再逐步過渡到LangGraph。另外對于生產(chǎn)環(huán)境要特別注意錯誤處理和流程的穩(wěn)定性圖編排雖然強(qiáng)大但調(diào)試起來比線性流程復(fù)雜。3.3 低代碼/一體化平臺Dify、Coze等如果你希望快速搭建一個具備工具調(diào)用能力的AI應(yīng)用而不想深入編碼和架構(gòu)細(xì)節(jié)那么低代碼平臺是一個高效的選擇。這類平臺通常提供了可視化的工具配置、工作流編排和Agent設(shè)計界面。以Dify為例工具技能配置在Dify的“技能中心”或“工具”模塊你可以通過圖形界面配置一個API工具。填寫名稱、描述、API端點、請求方法GET/POST、Headers、Parameters以及如何解析響應(yīng)。平臺會自動為你生成后端調(diào)用邏輯。工作流編排在“工作流”畫布中你可以通過拖拽節(jié)點來設(shè)計復(fù)雜的AI流程。節(jié)點類型包括LLM模型、工具調(diào)用、條件判斷、變量賦值、代碼執(zhí)行等。你可以輕松地將配置好的工具節(jié)點拖入畫布并連接起來。構(gòu)建Agent你可以創(chuàng)建一個“智能體”為其選擇基礎(chǔ)模型如GPT-4并關(guān)聯(lián)上一步創(chuàng)建的工作流或者直接為其添加多個已配置的工具。在Agent的“提示詞”部分你可以精心設(shè)計系統(tǒng)指令指導(dǎo)它如何以及何時使用這些工具。發(fā)布與集成完成后你可以將Agent發(fā)布為一個Web應(yīng)用或API端點直接供用戶使用。適用場景與注意事項適用場景產(chǎn)品原型快速驗證、內(nèi)部效率工具開發(fā)、對編程能力要求不高的業(yè)務(wù)團(tuán)隊自主搭建AI應(yīng)用。注意事項平臺的靈活性和深度通常不如純代碼方案。對于需要復(fù)雜業(yè)務(wù)邏輯、自定義數(shù)據(jù)處理或高性能要求的場景可能會遇到限制。此外需評估平臺的長期成本、數(shù)據(jù)安全性以及是否支持私有化部署。4. 深入原理思維鏈、規(guī)劃與執(zhí)行工具調(diào)用能力并非憑空產(chǎn)生它建立在LLM幾項關(guān)鍵的底層能力之上其中“思維鏈”Chain-of-Thought CoT和“規(guī)劃與執(zhí)行”Planning and Execution范式尤為重要。4.1 思維鏈CoT的賦能讓模型“一步步思考”工具調(diào)用本質(zhì)上是一個多步推理問題。模型不能直接從一個問題跳到調(diào)用某個具體API它需要中間推理步驟。思維鏈技術(shù)通過鼓勵模型在生成最終答案前先輸出其推理的中間步驟極大地提升了其在復(fù)雜任務(wù)上的表現(xiàn)。在工具調(diào)用場景中CoT體現(xiàn)為任務(wù)分解模型先將“訂一張從北京到上海明天最早的經(jīng)濟(jì)艙機(jī)票”分解為1) 查詢明天北京到上海的航班2) 過濾出經(jīng)濟(jì)艙3) 按時間排序找到最早的4) 獲取該航班的預(yù)訂信息。工具選擇推理對于每一步模型需要推理出最適合的工具。例如第一步可能需要調(diào)用“航班查詢API”而不是“天氣查詢API”。模型在內(nèi)部可能會生成類似“用戶需要航班信息我應(yīng)該使用 search_flights 工具參數(shù)是 origin北京 destination上海 date明天”的“內(nèi)心獨白”。參數(shù)推導(dǎo)基于上下文和常識推導(dǎo)參數(shù)。比如從“最早”推導(dǎo)出排序參數(shù)應(yīng)為“departure_time ASC”。ReAct范式將CoT與工具調(diào)用結(jié)合得最經(jīng)典的框架是ReActReason Act。在ReAct中模型的輸出被嚴(yán)格格式化為交替的“思考Thought”、“行動Action”、“觀察Observation”步驟。這強(qiáng)制模型進(jìn)行顯式的推理并基于上一步行動的觀察結(jié)果決定下一步行動非常契合工具調(diào)用的交互特性。4.2 規(guī)劃與執(zhí)行框架從單次調(diào)用到復(fù)雜項目對于更復(fù)雜的任務(wù)如“研究某個主題并撰寫一份報告”簡單的單步或線性工具調(diào)用不夠用了。這就需要更高級的“規(guī)劃與執(zhí)行”框架。規(guī)劃器Planner通常是一個LLM它的職責(zé)是接收高層目標(biāo)并生成一個可執(zhí)行的計劃或任務(wù)列表。這個計劃可能是樹狀或圖狀的。例如對于“撰寫AI在醫(yī)療領(lǐng)域應(yīng)用的報告”規(guī)劃器可能輸出1. 搜索“AI 醫(yī)療 最新進(jìn)展”2. 搜索“醫(yī)學(xué)影像 AI 診斷”3. 搜索“藥物發(fā)現(xiàn) AI”4. 匯總資料并起草報告大綱5. 撰寫引言6. 撰寫分章節(jié)內(nèi)容7. 撰寫結(jié)論。執(zhí)行器Executor負(fù)責(zé)具體執(zhí)行計劃中的每一個子任務(wù)。它可能本身就是一個配備了搜索工具、文檔讀寫工具的Agent。執(zhí)行器完成每個任務(wù)后將結(jié)果返回。監(jiān)督與協(xié)調(diào)一個頂層的協(xié)調(diào)模塊可能也是LLM負(fù)責(zé)監(jiān)督執(zhí)行進(jìn)度檢查子任務(wù)結(jié)果的質(zhì)量并根據(jù)情況動態(tài)調(diào)整計劃。例如如果搜索“藥物發(fā)現(xiàn) AI”返回的信息太少協(xié)調(diào)器可能會指示規(guī)劃器重新規(guī)劃改為搜索更具體的“AlphaFold 新藥研發(fā)”。HuggingGPT、AutoGPT等項目都體現(xiàn)了這種思想。它們將LLM作為任務(wù)規(guī)劃和調(diào)度的大腦調(diào)用各種專家模型如圖像識別、語音合成或工具作為執(zhí)行的手腳來完成極其復(fù)雜的跨模態(tài)任務(wù)。5. 開發(fā)實戰(zhàn)從零構(gòu)建一個支持工具調(diào)用的智能體理論說再多不如動手做一遍。讓我們拋開復(fù)雜框架用最基礎(chǔ)的原理從零開始構(gòu)建一個簡單的命令行智能體它能調(diào)用一個模擬的“天氣查詢”和“計算器”工具。5.1 環(huán)境準(zhǔn)備與工具定義我們使用Python并假設(shè)你已經(jīng)有了一個LLM的API訪問權(quán)限這里以O(shè)penAI格式的API為例但原理通用。import openai import json import os # 設(shè)置你的API密鑰示例請?zhí)鎿Q為你的實際密鑰或從環(huán)境變量讀取 openai.api_key os.getenv(“OPENAI_API_KEY”) # 1. 定義我們的工具庫 def get_current_weather(location: str) - str: “”“模擬獲取天氣的函數(shù)。在實際應(yīng)用中這里會調(diào)用真實的天氣API?!薄啊?# 模擬數(shù)據(jù) weather_data { “北京”: “晴 15°C” “上?!? “多云 20°C” “深圳”: “陣雨 25°C” } return weather_data.get(location f“未找到 {location} 的天氣信息。”) def calculator(expression: str) - str: “”“一個簡單的計算器函數(shù)。注意直接eval有安全風(fēng)險此處僅用于演示?!薄啊?try: # 警告在生產(chǎn)環(huán)境中應(yīng)對表達(dá)式進(jìn)行嚴(yán)格的安全檢查和沙箱計算 result eval(expression) return str(result) except Exception as e: return f“計算錯誤 {e}” # 將工具信息結(jié)構(gòu)化用于提供給LLM tools_metadata [ { “name”: “get_current_weather” “description”: “獲取指定城市的當(dāng)前天氣” “parameters”: { “type”: “object” “properties”: { “l(fā)ocation”: {“type”: “string” “description”: “城市名稱”} } “required”: [“l(fā)ocation”] } } { “name”: “calculator” “description”: “執(zhí)行一個數(shù)學(xué)計算表達(dá)式如 ‘(3 5) * 2’” “parameters”: { “type”: “object” “properties”: { “expression”: {“type”: “string” “description”: “數(shù)學(xué)表達(dá)式字符串”} } “required”: [“expression”] } } ]5.2 核心對話循環(huán)與工具調(diào)用邏輯接下來我們實現(xiàn)一個簡單的對話循環(huán)。這個循環(huán)會持續(xù)接收用戶輸入讓LLM判斷是否需要調(diào)用工具并處理調(diào)用結(jié)果。def run_conversation(user_input: str conversation_history: list) - (str list): “”“ 運(yùn)行一輪對話。 返回(AI的回復(fù)文本 更新后的對話歷史) “”“ # 1. 將工具元數(shù)據(jù)格式化為模型能理解的系統(tǒng)提示或函數(shù)描述 # 這里我們采用一種簡單的方式將工具描述拼接到系統(tǒng)消息中 system_message f“””你是一個有幫助的助手可以調(diào)用以下工具 {json.dumps(tools_metadata indent2)} 如果用戶的問題需要調(diào)用工具請嚴(yán)格按照以下JSON格式回復(fù)且只回復(fù)這個JSON {{“action”: “tool_call” “tool_name”: “工具名” “arguments”: {{“arg1”: “value1” ...}}}} 否則請正常用文本回復(fù)。 “”” # 構(gòu)建消息歷史始終以系統(tǒng)消息開始 messages [{“role”: “system” “content”: system_message}] conversation_history [{“role”: “user” “content”: user_input}] # 2. 調(diào)用LLM response openai.chat.completions.create( model“gpt-3.5-turbo” # 或 gpt-4 messagesmessages temperature0 max_tokens500 ) ai_message response.choices[0].message.content updated_history conversation_history [{“role”: “user” “content”: user_input}] # 3. 解析AI的回復(fù)判斷是否為工具調(diào)用 try: # 嘗試解析為JSON response_json json.loads(ai_message.strip()) if response_json.get(“action”) “tool_call”: tool_name response_json[“tool_name”] arguments response_json[“arguments”] # 4. 執(zhí)行對應(yīng)的工具 if tool_name “get_current_weather”: location arguments.get(“l(fā)ocation”) if not location: result “錯誤缺少 location 參數(shù)?!?else: result get_current_weather(location) elif tool_name “calculator”: expression arguments.get(“expression”) if not expression: result “錯誤缺少 expression 參數(shù)。” else: result calculator(expression) else: result f“錯誤未知工具 ‘{tool_name}’。” # 5. 將工具執(zhí)行結(jié)果作為新的上下文再次調(diào)用LLM生成最終回復(fù) # 將工具調(diào)用和結(jié)果都加入歷史 updated_history.append({“role”: “assistant” “content”: ai_message}) # AI發(fā)出的工具調(diào)用請求 updated_history.append({“role”: “user” “content”: f“[工具執(zhí)行結(jié)果] {result}”}) # 模擬用戶角色返回結(jié)果 # 重新調(diào)用LLM讓它基于工具結(jié)果生成回復(fù) final_response run_conversation(“請根據(jù)上面的工具結(jié)果回答用戶最初的問題?!?updated_history) return final_response # 這里遞歸調(diào)用實際應(yīng)用中可能需要控制深度 except json.JSONDecodeError: # AI的回復(fù)不是JSON說明是普通文本回復(fù) updated_history.append({“role”: “assistant” “content”: ai_message}) return ai_message updated_history # 理論上不會走到這里除非工具調(diào)用后遞歸返回 return ai_message updated_history # 簡單的交互循環(huán) if __name__ “__main__”: history [] print(“智能體已啟動。輸入‘退出’或‘quit’結(jié)束?!? while True: user_input input(“\n你 ”) if user_input.lower() in [“退出” “quit”]: break reply history run_conversation(user_input history) print(f“助手 {reply}”)代碼解析與心得系統(tǒng)提示詞設(shè)計我們通過系統(tǒng)消息明確告知了LLM可用的工具及其格式并規(guī)定了當(dāng)它想調(diào)用工具時必須輸出的嚴(yán)格JSON格式。這是引導(dǎo)模型行為的關(guān)鍵。工具執(zhí)行與上下文管理當(dāng)檢測到工具調(diào)用時我們執(zhí)行本地函數(shù)并將結(jié)果以特定格式如[工具執(zhí)行結(jié)果] ...追加到對話歷史中。然后我們重新調(diào)用LLM讓它看到“自己”發(fā)出的工具調(diào)用指令和“環(huán)境”返回的結(jié)果從而基于此生成面向用戶的最終回答。這個過程模擬了ReAct范式中的“Act”和“Observe”步驟。遞歸調(diào)用為了處理工具調(diào)用后的回答生成示例中使用了遞歸。在實際更復(fù)雜的Agent中這通常是一個顯式的循環(huán)while循環(huán)直到模型認(rèn)為任務(wù)完成為止。安全性示例中的calculator函數(shù)使用了eval這在生產(chǎn)環(huán)境是極其危險的因為它允許執(zhí)行任意代碼。這里僅用于演示原理。真實場景中必須使用安全的數(shù)學(xué)表達(dá)式解析庫如ast.literal_eval配合自定義解析或numexpr等。5.3 錯誤處理與魯棒性增強(qiáng)上面的基礎(chǔ)版本非常脆弱。一個健壯的智能體必須處理各種異常情況。工具調(diào)用格式錯誤模型可能返回不符合約定的JSON。需要添加更健壯的解析并提供錯誤反饋讓模型重試。工具執(zhí)行失敗網(wǎng)絡(luò)超時、API返回錯誤、參數(shù)無效等。需要捕獲異常并將清晰的錯誤信息返回給模型讓它決定是重試、換用其他方式還是向用戶求助。模型“幻覺”調(diào)用不存在的工具在系統(tǒng)提示中清晰界定工具列表并在代碼中做好校驗對未知工具名返回明確錯誤。無限循環(huán)風(fēng)險模型可能陷入“調(diào)用工具-得到結(jié)果-再次調(diào)用同一工具”的死循環(huán)。需要設(shè)置最大迭代次數(shù)或超時機(jī)制。上下文長度管理工具調(diào)用和結(jié)果會不斷追加到對話歷史中可能很快耗盡模型的上下文窗口。需要實現(xiàn)歷史消息的摘要或選擇性遺忘策略。增強(qiáng)后的錯誤處理片段示例def safe_execute_tool(tool_name: str arguments: dict) - dict: “”“安全執(zhí)行工具并統(tǒng)一返回格式?!薄啊?try: if tool_name “get_current_weather”: location arguments.get(“l(fā)ocation”) if not location: return {“status”: “error” “message”: “Missing required parameter: location”} result get_current_weather(location) return {“status”: “success” “data”: result} elif tool_name “calculator”: expression arguments.get(“expression”) if not expression: return {“status”: “error” “message”: “Missing required parameter: expression”} # 使用更安全的方式計算此處為偽代碼 # result safe_calculator(expression) # 為演示暫用eval result eval(expression) return {“status”: “success” “data”: str(result)} else: return {“status”: “error” “message”: f“Unknown tool: {tool_name}”} except Exception as e: # 記錄日志 return {“status”: “error” “message”: f“Tool execution failed: {str(e)}”} # 在主循環(huán)中解析AI響應(yīng)后 tool_result safe_execute_tool(tool_name arguments) # 將統(tǒng)一格式的結(jié)果加入歷史指導(dǎo)模型下一步行動 if tool_result[“status”] “success”: updated_history.append({“role”: “user” “content”: f“Tool ‘{tool_name}’ returned: {tool_result[‘data’]}”}) else: updated_history.append({“role”: “user” “content”: f“Tool ‘{tool_name}’ failed. Error: {tool_result[‘message’]}. Please adjust your request or inform the user.”})6. 高級話題與避坑指南當(dāng)你開始構(gòu)建更復(fù)雜的、用于生產(chǎn)環(huán)境的LLM智能體時會面臨一系列進(jìn)階挑戰(zhàn)。6.1 工具描述的工程藝術(shù)如何讓LLM“懂你”工具描述的質(zhì)量直接決定了模型調(diào)用工具的準(zhǔn)確率。差的描述會導(dǎo)致誤調(diào)用或漏調(diào)用。優(yōu)秀工具描述的要素功能清晰用一句話準(zhǔn)確概括工具是做什么的。例如“根據(jù)股票代碼查詢該股票的實時價格和今日漲跌幅”而不是“獲取股票信息”。參數(shù)明確每個參數(shù)都要說明其含義、類型、格式和是否必填。對于枚舉值最好列出選項。例如interval: 字符串 時間間隔 可選值為 [‘1min’ ‘5min’ ‘15min’ ‘60min’ ‘daily’] 默認(rèn)為 ‘daily’。示例驅(qū)動在描述中或通過少量示例few-shot展示工具的典型用法。例如“例如查詢蘋果公司的股票symbol‘AAPL’”。邊界條件說明工具的局限性。例如“僅支持查詢A股和美股主要上市公司不支持基金和期貨?!币粋€對比示例差的描述工具搜索。描述搜索信息。參數(shù)q查詢詞。好的描述工具網(wǎng)絡(luò)搜索。描述使用搜索引擎在互聯(lián)網(wǎng)上查找最新的公開信息適用于回答關(guān)于實時事件、新聞、不確定事實的問題。參數(shù)query字符串 必填要搜索的關(guān)鍵詞或問題例如‘2024年奧運(yùn)會舉辦城市’。注意對于數(shù)學(xué)計算、內(nèi)部系統(tǒng)狀態(tài)查詢等請勿使用此工具。6.2 復(fù)雜工作流的編排策略當(dāng)任務(wù)需要多個工具按特定順序、有時是條件性或并行執(zhí)行時就需要工作流編排。順序執(zhí)行最簡單A做完做B。適用于有明確依賴關(guān)系的步驟如先“搜索資料”再“總結(jié)資料”。并行執(zhí)行多個獨立任務(wù)同時進(jìn)行以提高效率如同時查詢“天氣”和“交通路況”。條件分支根據(jù)上一步的結(jié)果決定下一步走向。例如如果“查詢航班”返回?zé)o票則分支到“查詢高鐵票”否則繼續(xù)“選擇座位”。循環(huán)重復(fù)執(zhí)行某個步驟直到滿足條件例如“不斷從搜索結(jié)果中提取下一頁鏈接并獲取內(nèi)容直到收集夠10條結(jié)果或沒有下一頁”。實現(xiàn)建議對于簡單流程可以用if-else和循環(huán)在代碼中硬編碼邏輯。對于中等復(fù)雜度使用LangGraph或微軟的Semantic Kernel等框架提供的圖編排能力是更優(yōu)雅的選擇。對于高度動態(tài)、無法預(yù)先定義流程的復(fù)雜任務(wù)可以考慮使用一個“元規(guī)劃”LLM讓它根據(jù)當(dāng)前狀態(tài)動態(tài)生成或調(diào)整下一步計劃。6.3 穩(wěn)定性與安全性的生死線穩(wěn)定性重試與降級工具調(diào)用尤其是外部API可能失敗。必須實現(xiàn)帶指數(shù)退避的重試機(jī)制。對于非核心功能要有降級方案如搜索API掛了就返回“暫時無法獲取網(wǎng)絡(luò)信息但我根據(jù)已有知識可以告訴你...”。速率限制嚴(yán)格遵守外部API的調(diào)用頻率限制并為自己的Agent設(shè)置全局速率限制防止濫用或意外循環(huán)導(dǎo)致的洪水攻擊。超時控制為每個工具調(diào)用設(shè)置合理的超時時間避免整個Agent被一個慢響應(yīng)拖死。安全性重中之重輸入凈化與校驗永遠(yuǎn)不要相信來自LLM或用戶的輸入直接用于命令執(zhí)行、數(shù)據(jù)庫查詢或文件操作。對工具參數(shù)進(jìn)行嚴(yán)格的類型、范圍、格式校驗。對于計算類工具使用沙箱或安全的解釋器。權(quán)限最小化每個工具只應(yīng)擁有完成其功能所需的最小權(quán)限。例如一個“讀取文件”的工具不應(yīng)該有刪除文件的權(quán)限。在系統(tǒng)設(shè)計上進(jìn)行隔離。敏感信息防護(hù)工具調(diào)用可能泄露API密鑰、訪問令牌或內(nèi)部數(shù)據(jù)。確保這些敏感信息不會通過提示詞意外泄露給LLM例如不要在系統(tǒng)消息里寫完整的數(shù)據(jù)庫連接字符串。使用環(huán)境變量或安全的密鑰管理服務(wù)。審核與日志記錄所有工具調(diào)用的詳情誰、何時、調(diào)用了什么、參數(shù)是什么、結(jié)果是什么。這對于調(diào)試、審計和發(fā)現(xiàn)潛在濫用行為至關(guān)重要。6.4 成本與延遲的優(yōu)化工具調(diào)用會增加LLM的使用成本因為多次調(diào)用和響應(yīng)延遲因為串行執(zhí)行和網(wǎng)絡(luò)IO。成本優(yōu)化緩存對相同參數(shù)的、結(jié)果不常變的工具調(diào)用如城市信息查詢、歷史數(shù)據(jù)獲取進(jìn)行緩存。批量處理如果可能將多個小請求合并為一個批量請求。例如同時查詢多個城市的天氣。選擇性價比模型在規(guī)劃、推理步驟使用能力強(qiáng)但貴的模型如GPT-4在簡單的文本生成或格式化步驟使用便宜模型如GPT-3.5-Turbo。延遲優(yōu)化并行調(diào)用對于無依賴關(guān)系的工具盡可能并行執(zhí)行。流式響應(yīng)對于需要長時間運(yùn)行的任務(wù)可以先返回一個“已開始處理”的響應(yīng)然后通過WebSocket或Server-Sent Events (SSE) 逐步推送結(jié)果。預(yù)加載與預(yù)熱對于常用的、初始化慢的工具可以提前加載。7. 未來展望從工具調(diào)用到自主智能體工具調(diào)用只是LLM邁向現(xiàn)實世界的第一步。未來的方向是構(gòu)建高度自主的智能體Agent它們能夠長期運(yùn)行持續(xù)感知環(huán)境主動規(guī)劃并執(zhí)行復(fù)雜目標(biāo)。記憶與學(xué)習(xí)當(dāng)前的Agent大多是“無狀態(tài)”的每次對話相對獨立。未來的Agent需要擁有長期記憶能夠記住與用戶的交互歷史、從成功和失敗中學(xué)習(xí)并隨著時間的推移優(yōu)化其工具使用策略。工具發(fā)現(xiàn)與創(chuàng)建不再局限于預(yù)先定義的工具集。智能體應(yīng)該能夠根據(jù)任務(wù)需求自動探索可用的API通過文檔、示例甚至通過生成代碼來創(chuàng)建新的臨時工具。多模態(tài)交互工具調(diào)用將不限于API和函數(shù)。智能體將能直接操控圖形界面GUI、解析圖像和視頻內(nèi)容、與物理機(jī)器人交互實現(xiàn)真正的“眼手協(xié)調(diào)”。社會性與協(xié)作多個智能體之間可以分工協(xié)作共同完成一個宏大目標(biāo)。它們會進(jìn)行協(xié)商、任務(wù)分配和信息共享形成多智能體系統(tǒng)。工具調(diào)用技術(shù)正在快速消融數(shù)字智能與物理世界之間的壁壘。作為開發(fā)者我們現(xiàn)在掌握的不僅僅是讓AI“說話”的技巧更是賦予它“行動”能力的方法。從理解用戶意圖到精準(zhǔn)調(diào)用工具從處理錯誤到編排復(fù)雜工作流每一步都充滿了工程與設(shè)計的挑戰(zhàn)也帶來了前所未有的可能性。開始動手構(gòu)建你的第一個智能體吧從讓AI幫你查一次天氣、算一筆賬開始你將親手參與到這場讓“缸中大腦”長出操控世界之手的偉大進(jìn)程之中。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香亭亭操逼| 熟女重口味αV| 免费亚洲婷婷中文字幕| 激情五月婷在线精品| 日韩大片艹艹| 俺去婷婷 丁香| 日本啪啪天堂| 久久婷婷91| 婷婷在线操| 色欲五月婷婷| 91久久九色| 九色七七| 激情五月天婷婷丁香| 9999久久久久| 五月婷激情影院| 天天综合图片| 丁香五月天天日| 久久丁香五月| 另类 在线| 婷婷中文字幕网站| 免费在线观看AV网站| 婷婷精品在线| 久久草大香蕉| 久操热| www,五月天激情| 色99视频| 色狠狠五月天| 超黄亚洲瑟瑟网站| 婷婷五月成人有| 五月丁香大相交| 五月婷婷综合在线视频| 青青艹b| 久久久99精品免费观看| 最近免费中文字幕大全高清大全1| 狼友超碰| 成人短视频在线| 精品人妻一区| 五月天综合激情网| 中文字幕婷婷| 色综合久久久久| 综合色色网| 激情开心五月天| 开心五月色婷婷综合开心网| 丁香五月亚洲| 五月丁香婷婷综合| 丁香五月天激情| 伦乱天堂| 激情婷婷五月天| 久久这里有精品| 午夜一区| 久草热8精品视频在线观看| 99热精品在线播放| 中文字幕丰满孑伦无码专区| 狠狠色中色| 国产原创视频91九色| 大战熟女丰满人妻AV| 久操婷婷| 9 1大香蕉| 9久热在线视频| 性爱五月婷| 色都都狠狠色都都色综合色| 久久在线92| 激情综合网站| 激情视频婷婷五月花| 亚洲欧洲另类| 国产精品A片| 久久网思思| 久久久精久人妻| 丁香激激情网| 五月色色色| 天天婷婷综合亚洲亚洲| aaa久久久| 五月婷婷,六月婷婷| 五月丁香色婷婷色| 久久五月激情网| 五月天婷爱综合| 开心激情网五月| 国产激情综合五月久久| 开心激情婷婷| 黄色精品五月婷婷| 密乳视频| 26uuu最新地址| 夫妇交换刺激做爰| 丁香婷婷五月色成人网站| 爆乳熟妇一区二区三区爆乳照片| 五月的婷婷六月丁香| 激情五月深爱婷婷| 激情综合网五月婷婷| 亚洲精品又粗又大又爽A片 | 日本色久| 这里只有精品免费观看网占| 色五月 五月婷婷| 成人亚洲精品久久久久| 91久久1118| 啪啪五月天啪啪| 这里只有精品视频在线| Blackedraw视频一区二区| 中文字幕综合色| 五月婷在线影院| 九九黄色网| 女人高潮内射99精品| 97日本在线播放| 夜夜爱影院| 久久在这里有精品| 婷婷五月天影院| 97爱艹婷婷开心丁香激情综合| 日韩综合久| 亚洲小说五月婷婷| 大香蕉婷婷丁香天堂AV| 日本黄色精品| 五月亚洲| 色婷婷狠狠18yy| 九九热这里只有精品5| 欧洲亚洲欧洲99久久| 色色色婷婷| 一本大道熟女人妻中文字幕在线| 激情五月丁香五月| 久久精品系列| 99啪在线视频| 噜噜久| 91碰碰碰| 亚洲综合99| 天天做天天爱天天综合网| 99色热| 大香人妻| 婷婷金品综合视频| 免费色婷婷| 69热在线| 久久激情网| 亚洲色综合色网| 深爱开心激情网| 狠狠色丁香婷婷久久综合| 这里只有精品久久| 婷婷激情五月天色| 久久视频在线视频| 婷婷九月激情网| 色五月在线观看| 67194中文字幕| 天天色天天色天天色天天色天天色| 久久伊人五月天| 97成人在线视频精品| 99精品爱| 99视频在线看| 美国十月色婷婷在线观看| 超碰只有精品在线| 人妻久久久久久久久久| 亚洲精品九九| 五月天婷婷社区| A片天天| 亚洲激情电影五月天色婷婷丁香一起草| 大香蕉久久婷婷| 香蕉色色网| 激情五月综合免费| 久99久视频精品| 五月婷婷色丁香| 久久精品99国产精品日本| 天天爽在线视频| www.91九色| 久久人五月| 婷婷五月天激情诱惑| 激情网综合| 激情五月黄色| 色婷婷五月天激情在线观看| 国产精品电影网| 五月天婷婷小说| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 欧美色婷婷| 久久这里这里有精品免费视频| 337p大胆噜噜噜噜噜91Av| 强伦轩人妻一区二区电影| 色99色| 欧美丁香五月| 激情婷婷五月天| 秋霞三级影视资源| 婷婷激情97| 婷婷色五月色| 婷婷五月综合社区| 五月丁色AV| 精品亚洲国产成AV人片传媒| 亚洲色网络| 国产亚洲网站在线| 97碰碰碰免费公开在线视频| 丁香婷婷色情社区成人小说| 婷婷丁香花五月天| 亚洲综合色成丁香五月色| 六月婷婷久久大全| 九九伊人网| 91久久久久久| 日本五月天婷婷丁香| 激情五月婷婷视频一区二区三区| 午夜一区| 九九在线精点品| 91丨九色丨国产打屁股| 99日热在线视频| 色五月大| 婷婷五月天a| 久久久久激情网| 久久久久婷婷| 久久亚洲无码| 久色五月| 丁香色五月 97干| 五月丁香六月色婷婷| 婷婷五月丁香综合桃花色网| 99操视频| 婷婷操久久| 天天综合久久| 久久久婷婷五月亚洲97号色| 久久婷婷五月天激情新地址| 99亚州综合精品成人网| 五月天色影院| 成人网丁香五月| 久久草中文日韩欧美| 夜夜穞天天穞狠狠穞AV美女按摩| 99ri国产在线| 深爱五月激情五月| 99热这里只有精品50| 日本色色网站| 91丁香婷婷综合久久欧美| 激情五月天在线视频| 九九无码视屏| 六月色色婷婷| 激情深爱综合| 激情综合色| 国内在线99视频| 深爱综合网| 狠狠干在线| 久久婷婷五月草视频在线播放| 操逼巨乳91| 婷婷五月天97干| 中文激情网| 五月情色天| 热久久思思热思思| AV伊人青草丁香六月| 国产一区18| 9色婷婷| 五月婷婷在线视频| 亚洲久久激情| 大香蕉啪啪啪| 99热6这里只有精品| 欧美色色色色色色| 五月天激情啪啪| 婷婷 月 丁香| 深爱婷婷丁香五月激情| 五月婷婷九| 精品婷婷五月视| 91Chinese在线| 青青草Avb在线| 夜色热久| 色欲色香综合网站| 丁香九色不卡aaa | 五月丁香婷婷激激激综合网色播| 亚洲国产成人裸舞| 婷婷五月丁综合| 99视频在线观看视频| 日本色频| 99热6这里之有精品| 丁香色五月 97干| 丁香五月婷婷天堂大香蕉| 真实熟女-91九色| 亚洲精品V天堂中文字幕| av色色国产| 久久99综合| 日本色99| 91精品久久久久久77777| www.久久久久久久| 综合五月婷婷| 五月精品99综合| 99在线视频操999| 色逼综合网| 人妻免费网站| 亚洲AV第二区国产精品| 久久婷婷伊人| 五月色婷婷综合丁香精品无遮挡| 五月婷久久在线| 天天插天天| 五月丁香无码| 丁香婷婷色色| 色五月激情五月开心五月| www.minyis.com【JT】实力收量可预付QQ2101460746 | 成人必爱视| 婷婷五月天 偷拍| 天天色天天爱天天舔| 色五月激情五月丁香五月婷婷啪啪综合 | 91在线人| 欧美色色色色色| AV色五月婷婷| 开心婷婷五月中文字幕组| 六月丁香久久| 五月丁香婷婷欧美| 97luluse| 婷婷丁香色五月亚洲| 狠狠88综合久久久久噜噜噜| 激情五月影院| 97人人超| 丁香五月天天| 五月丁香六月婷婷综合免| 开心五月丁香综合久久| 婷婷五月在线观看| 亚州美女| 99久超碰| 婷婷激情五月综合在线视频| 欧美三9久九观看| 热久久成人| 丁香五月天五码婷婷| 五月亭亭直播| 国产熟妇的荡欲午夜视频| 91九色PORNY大屁股| 99免费在线视频| 婷婷丁香五月亚洲欧美| 操一操干一干| 三年高清大片免费观看国语| 在线观看996精品| 国产精品色色666| 五月天久久综合婷婷丁香| 九九久久99精品免费观看www| www.久久99| 久草网大香视频| 全网最新网黄大秀直播高清,主播国产录屏在线 | 激情黄色小说五月天| 五月丁香免费看| 99精品免费视频| 中文字幕人妻AV| 婷婷丁香五月av| 久久五月天色| 国产av一区二区三区| 夜夜躁婷婷AV| 五月色色激情网| 国产精品色色| 久热黄色| 狠狠操狠狠插| 色约约视频一区二区三区四区五区 | 人妻操逼视频| 五月婷婷欧洲| WWW.桔色成人.COM| 亚洲精品字幕| 婷婷五月天777| 热99在线精品| 9久久精品视频| 婷婷成人小说综合| 九九视频在线观看视频6| 99日精品视频| www.激情五月| 久热亚洲| 丝袜激情网| 另类婷婷五月天啪帕帕| av网站中文| 精品夜夜澡人妻无码AV| 日日色五月天| 图片区 小说区 区 亚洲五月 | 91精品91久久久久77777| 亚洲亚洲激情| 欧美电影在线观看| 五月婷婷六月激情网| 五月婷婷六月丁香| 丁香五月激情六月| 五月丁香色停停啪啪啪| 五月天基地| 国产精品久久久久久妇女6080| 久久九九视频网站| 激情五月天网| A A色色| 国产乱人偷精品人妻A片| 亚洲色涩视频| 欧美成人AAA片一区国产精品| 欧美色狠婷久| 国产又爽又猛又粗的视频A片| 激情五月天噢美| 激情www| 97人人草| 亚洲精品久久久久AV无码| 99热综合在线| 激情综合网激情五月婷婷| 婷婷五月婷婷五月天| 欧美性猛交AAAA片黑人 | 婷婷大美在线| 另类国产欧美视频| 狼人婷婷久久| 国产亚洲99| 日韩啪啪视频| 亚洲综合色棒| 婷婷五月激情的图片| 91精品无码| 色五月综合网| 久久婷综| 国产成人综合在线| 婷婷五月激情基地| 丁香婷婷老司机久操| 九九在线精品| 婷婷五月天av网| 日本不卡高字幕在线2019| 久草xx性爱视频| 久久国产高潮白浆免费观看99| 婷婷六月综合基地| 这里只有精品视频国产| 狠狠色噜噜狠狠狠狠狠色综合久久| 色婷婷社区| 在线你懂的亚洲欧| 国产成人精品一区二三区熟女在线 | 激情综合色婷婷啪啪六月天| 99re热99| 玖玖91| 五月丁香六月激情| 婷婷五月天,影院| 秋霞九九无码| 色色色热热热| www.狠狠艹| 色婷婷五月天av在线| A片试看120分钟做受视频红杏 | 五月花免费视频| 婷婷亚洲天堂| 激情五月婷婷色色| 极品人妻VIDEOSSS人妻| 先锋资源婷婷| 天天天摸夜夜夜玩| 成人在线视频网| 97超碰,人人舔,人人操,人人摸 | 99综合网| 人人操人人干AV| 五月丁香少妇A| 色情开心五月| 亚洲精品第一国产综合亚AV | 久久这里99| 五月综合丁香婷婷| www久久久久久久| 99热精品中文字幕| 开心婷婷五月| 2025年最新亚洲在线欧美| 9热视频在线观看| 五月天色色无码| 五月丁香欧美综合| 99久在线精品99re8热| 日本激情ⅩXX免费视频| 99热加勒比| 日本熟妇乱妇熟色A片蜜桃| 亚洲成人在线综合| 国产69久久久欧美黑人A片| 婷婷五月天精品| 翔田千里aV中文字幕| 91精品又长又大又粗又爽又猛| 精品人妻午夜一区二区三区四区 | 欧美操综合| 天堂成人A片永久免费网站| 超碰在线免费| 影音先锋91资源站| 久久久精品色| 久热网在线视频| 丁香六月av| 五月婷婷熟女| 成人电影AV在线观看| 69热91天堂| 97精品综合| 婷婷性爱网| 五月天综合视频| 婷婷五月偷拍| 夜夜撸日日骑| 99小视频网站| 天天天天天日| 伊人五月综合网| 26uuu另类亚洲欧美日本一| 久久精品在线| 日日操日日干| 五月丁香六月花| 五月天成人网婷婷| 99久久er| 俺也高清无码高清视频| 综合五月天完整| 丁香婷婷色五月| 只有久久精品免费| 99re最新地址| jiZZdr| 五月丁香六月婷婷网| 五月情色天| 亚洲天堂aaa| 亚洲第一精品网站| 色色色色色色色色色色色色色97| 欧洲一区二区| 婷香五月激情视频| 中字幕视频在线永久在线观看免费| 天天日天天操心| 五月丁香久久| 91精品刘玥| 天天 青草 丝袜制服 在线| 五月丁香激情综合啪| 26UUU成人网| 婷婷色色综合激情| 欧美性爱5月天天天看| www夜夜操comwww| 免费不卡狠操美女视频网| 欧美xx激情视频在线观看| 色婷婷www| www.婷婷五月| 久久婷婷热| 秋霞免费视频| 玖色色综合| 六月婷欧美| 日本久久高清| 亚洲成人乱码av网站| 深爱激情六月| 97久久久久| 亚洲综合婷婷| 免费播放AV| 中文字幕人妻在线| 丁香五月骚喷水视频| 久久99久久99精品免观看软件| 99亚洲日韩| 玖玖爱综合网| 人人摸人人操人人爱| 大香蕉人人网| 欧日美女Va| 韩国中文字幕91| 大香蕉在线观看9| av在线免费播放| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 亚洲婷婷开心五月| 五月天婷婷色| 99国产精品久久久久久久久久久 | 亚洲人人操| 婷婷基地成人五月天| 亚洲黄色影视| 五月情色天| 夜夜干 夜夜操| av在线免费播放观看| 亚洲成人高清在线| 99亚洲色| 五月激情啪啪| 大香蕉久久久| 超碰熟女拍拍| 欧美性猛交 XXXX 乱大交| 久婷视频| 99re这里只有精品首页| 性爱综合网| 久久久九九视频精品18| 日本久久精品| 亚洲不卡欧洲| 久久精热| 精品人妻在线免费观看| 国产色丁香| 五月婷婷草| 婷婷在线五月综合| 开心深爱五月天| 九九热视频在线观看| 国产毛片欧美毛片久久久 | 中字幕视频在线永久在线观看免费| 91久久综合| 午夜婷婷六月天| 五月婷婷六月丁香| 99色综合| 中文字幕不卡+婷婷五月| 婷色综合| 五月丁香无码| 涩丁香| 五月婷婷综合网在线播放| 五月婷婷六月丁香综合| 成人资源在线| 婷婷久久色| 99久久婷婷精品视频| 5月婷婷综合| 五月天色色网站| 欧美日韩成人高清在线| 丁香五月激情在线| 中文字幕欧美精品久久| 午夜色丁香| 天天激情站| 色五月天综合| 麻豆AV一区二区三区| 婷五月丁香俺| 伊人五月天| 色色色999| 丁香五月性| 开心五月综合激情网| 极品另类| 色玖玖综合网| 色色色com| 综合久久婷婷| 久久久97| 婷婷六月激情啪啪| 婷婷D区| 久久99热 这里有精品| 国产精品一区在线观看你懂的| 丁香六月婷月91婷月| 婷婷五月天影院| 99久热这里有精品| 成人做爰黄A片免费看直播室男男| 五月丁香视频在线观看| 五月天综合在线网| 色五月婷婷影院| 日韩三及成人AV片| 亚洲天堂99| 五月综合亚洲色| 99性爱| 东北婷婷五月天| 丁香久久在线| 日本性视频| 丁香五月天综合| 丁香婷婷91在线观看视频| 超碰免费99| 婷婷九月色| 少妇高潮呻吟A片免费看软件| 五月婷婷在线网站| 97婷婷丁香五月天激情图片| 超碰在线人人| 97色五月天| 五月激情婷婷偷拍| 天堂久久精品| 五月丁香成人| 综合色吧| 久热99| 五月天激情网开心网| 桃色激情五月天| 五月天婷婷影院| 色色色色色色综合| 久操激情| 7777国产盗摄农村女人| www.9797国产| 五月在在观看| 亚洲一区二区无遮挡A片| www.夜夜操.com| 久热中文字幕在线线观看| 百度4399有码精品V在线观看 | 日日夜夜狠狠| 婷婷五月天伊人| 中文精品久久久久人妻不| 亚洲精品久久久久久久久久飞鱼| z色五月播播久久| 激情六月丁香综合| 成人在线视频一区| 国产AV一区二区三区最新精品 | 亚洲精级| 狠狠操综合| 日韩AAAAAAAAAAA片| 丁香五月天天| 婷婷激情人妻| 九九热区一区二区三区| 人妻激情综合| 色都都狠狠色都都色综合色| 99久久久久| 精品人妻伦一二三区久| 丁香五月激情六月综合| 99视频久久| 超级碰 久久9| 精品欧美性爱超级爽| 久久久99久久| 久色视频| 久久久人妻系列| 立川无码av| 国产在线黄色| 五月间天堂综合| 丁香色婷婷色手机免费在线| 人人草人人舔| 日韩AV大全| 日本爆乳片手机在线播放| 久久久婷丁香五月| 99在线视频免费| 五月天色色网站| 777久久久| 五月婷婷玖玖综合玖玖爱| 九九这里都是精品| 天堂久久精品| 久色大| 五月丁香激情婷婷| www.激情五月天com| 99区视频| 无码网| 激情丁香五月婷| 亚洲黄色影视| 欧美色色色| 色综合大香蕉| 婷婷五月大香蕉| 97色婷婷在线观看| 偷拍九九五月丁香婷婷| 五月天开心婷婷激情网站 | 丁香五月激情啪啪| 狠狠插日日干撸| 操你av| 艾小青av| 99热99热| 99色色色色| 狠狠五月综合在线| 热久久99热欧美国产亚洲| 99热这里只有精品最新| 天天操天天草天天草天天| 开心五月激情五月丁香五月婷婷| 久久九精品| 亚洲人人操BD| 小视频久久久aaa| 亚洲色视频| 在线观看婷婷5月| 一月婷婷色色| 色婷婷五月综合| 99久在线精品99re8热| 日日夜夜天天| 亚州男人天堂婷婷五月| 成人AV综合在线| 久久大香蕉视频| 久久99网站| 五月天合网| 99色1| 婷婷五月丁香手机在线视频| 欧美成人日韩| 人人摸人人干| 在线观看视频1区| 日本欧特黄色刺激一区影视久精品无码| 丁香五月综合久久| 大香蕉手机视频| 99视频地址| 天天天摸夜夜夜玩| 色欲久久久久久综合网综合网| 色爱综合网| 亚洲乱码日产精品BD| 人操综合| 99热大香蕉| 国内婷婷丁香社区在线播放| 中文字幕色色| 综合色图区| 五月天激情色色| 91视频免费后入强操| 久久久久久久丁香五月天婷婷| 日日想日日夜日日操| 色色色色五月| 深爱激情五月天| 亚洲日比视频| 人妻久久久久| 婷婷欧美激情| 综合久| 丁香六月综合| 婷婷六月丁香在线| 六月色播| 成人免费120分钟啪啪| 99久免费视频| 色播五月丁香婷婷| 先锋资源91| 国产精品美女久久久久AV超清| 日韩精品电影| 五月丁香在线婷婷蜜桃| 日本久久婷婷| 九九爱精品网站| 国在线激情网| 天天爱天天爽| 婷婷丁香激情五月天色色色| 97碰在线视频| 日韩三级高清无码| 99热这里有精品| 激情五月婷| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 人妻乱码久久久| 久婷婷色| 狠狠色婷| 久久五月婷综合网| 九九热99热| 色综合狠狠色| 激情五月综合网最新 | 日本色五月| 99九九热视频| 久久综合激情婷婷激情| 成人精品一区日本无码网| 五月色丁香| 思思热精品在线视频| 成人片黄网站色大片免费毛片| 亚洲视频二区| 久艹大香蕉| 婷婷五月天渟渟| 婷婷五月综合在线视频| 欧美在线视频99| 色婷婷综合网| 91九色在线视频| 久久的爱大香蕉| 五月婷网站| 99色综合久久| 激情九月天天天天婷婷| 色热久资源| 五月天色综合| 五月丁香六月婷婷久久肏| 五月花综合视频| 2050人人操免费工开爱| 久久只这里有精品| 亚洲精品无码一区二区| 五月丁香久久网| 五月天色不卡| 婷婷五月天中文字幕.| 久99久视频免费观看| 久久偷拍综合五月天| 一级韩国产精品毛| www.五月天社区| 精品日本视频444| 婷婷丁香五月天小说| 成 人片 黄 色 大 片| 妻久久久久| 国产av天堂| 另类婷婷丁香| 丁香婷婷九月在线| 六月婷婷色宗合| 亚洲欧洲美女在线观| 蜜乳中文字| 丁香六月av| 天天射影院| AV网站免费在线| 人妻操逼视频| 99成人精品六| 91|疯狂丨高潮丨对白| 欧美性爱5月天天天看| 婷婷日韩| 男女免费视频999| 五月丁香久久综合| 九九激情网| 99综合99| 欧美日本高清视频99| 成人在线视频一区| 丁香九月婷婷综合| 色婷婷狠狠| 岛国av电影网站| 五月丁香人妻| 狠狠狠狠狠狠狠狠| 婷婷五月丁香激情色情| 日日操夜夜操中国无码| 婷婷五月综合网| 《诡秘之主》在线观看| 青青草免费公开视频| 亚洲精色| 久久网日本| 99在线精品视频| 激情五月少妇| 亚洲国产成人在线| 中文字幕免费高清电视剧| 日本 @ va 免费| 91玖玖| 大地9中文在线观看免费高清| dingxiangtingtingliuyue| 99人人精品| 色综合久| www激情| 色色色色热热| 丁香五月综合激情久久潮喷| 91丨九色丨国产打屁股| 婷婷五月天日日日干干干| av最新在线| 国产亚洲精品久久久久久郑州| 婷婷激情五月色综合| 五月丁香香蕉| 久久综合55| 天天色宗合| 丁香六月五月婷婷| 日日爱678| 九九伦子片| 亚洲超碰在线| 五月成人综合| 婷婷丁香五月av| 欧美日本99| 天天爽天天干| 五月婷婷偷拍| 天天谢天天操| 99这里只有免费的精品| 久久久久久久8| 91操人人操| 夜夜撸天天操| 99性爱视频| 人人干AV| 另类色视频| 日本在线va| 欧美色播综合在线观看| 亚洲旡码| 婷婷基地成人五月天| 99热在线观看| 婷婷久久综合| 久久久久久97| 99久久综合| 26UUU在线观看| 久色视频在线| 97在线视频人妻九色| 五月婷婷9| 五月天社区婷婷| 婷婷色色网| 99热在线精品观看| www热久久yy9| 婷婷草| 开心五月综合激情综合五月| 男人天堂伊人五月丁香| 欧美97色| 亚洲人妻Av| 新激情综合| 九 九九九AV| 久久您您综合网| 国外亚洲成AV人片在线观看| 色区久久| 丁香九月激情| 五月丁香综合啪啪| 天天做天天爱天天高潮| 婷婷激情四射| 性一交一乱一交A片久久四色| 九九99热久久精品66中文字幕| 99精品视频网站| 玖玖资源站蜜臀| 思思热国产| 五月婷婷激情四月| 2025年最新亚洲在线欧美| 玖操97| 求可以看的AV网址| 久久九九99字幕| 激情五月婷婷综合网| 丁香六月视频| 日逼免费视频| 狠狠五月天激情| 亚洲超碰青涩| www.99精品日操伊人乱碰在线| 黄网在线免费观| 桃色五月婷婷| 97超喷视频在线观看| 9色天堂| 97婷婷五月激情六月丁香伊人| 午夜福利8055| 97人操人免费视频| 综合色图区| 色五月丁香总合网| 激情的五月| 毛片新网地| 激情五月天开心总和网| 天天综合久久| 五月色婷婷综合| 久热免费视频| 香蕉曰比| 五月丁香自拍| site:pzdcoin.com| 狠狠999| 九九热精品6| 成人视频在线免费播放| 婷婷五月天色| 熟女人妻视频| 天天肏天天肏| 久久99网站| 色综合色欲综合天天免费| 中文字幕色色色| 久婷五月| 欧美99热| 精品国婬伦V无码久久久| 亚洲午夜一区二区| 成久综合视频| 五月婷婷自拍| 日本99久久| 最近中文字幕大全免费版在线 | 亚洲影院婷婷色| 99操视频| 激情小说 五月天| 激情五月天啪啪| 涩五月婷婷| 亚洲免费电影2| 五月天激情黄色小说在线观看| 色青青视频| 五月天激情综合网| 亚洲视频在线观看| 在线99精品| 人人澡天天色天天做| 丁香五月五月婷婷五月天激情四射| 丁香婷婷91在线观看视频| 婷婷色婷婷亚洲成人| 天天干天天色天天干| 日本一级特黄大片AAAAA级| 欧美美女视频| 爆乳熟女一区二区三区爆乳| 五月丁香亭亭成人电影| 狠狠穞A片一區二區三區| 99ri精品| 91无码高清| 99色热视频| 婷婷性爱影院| 亚洲黄色操逼| 99免费成人网| 天天干天天爽| 激情网 久久| 99视频精品| 国产欧洲欧洲精品久久| 专区无日本视频高清8| 99热在线资源| 国产成人+亚洲+欧洲| 五月丁香啪啪网| 激情熟女网| 五月婷婷免费| 六月丁香网| 1024操逼视频| 婷婷开心激情五月激情网| 99热精品在线播放| AAA久久久| 欧美五月婷婷| 天天色中文字幕女优AV| 激情五月天啪啪视频| 亚洲午夜视频| 99热九九在线| 色五狠狠| 日韩成人影片网站| 很很操96| 天天干夜晚夜操| 97性视频| 婷婷中文字幕| 五月天丁香看婷婷| 日日操,夜夜撸| 国产AV一区二区三区最新精品| www.yw尤物| 9精品在线| 欧美、日韩、中文、制服、人妻| 色色色色网色色网色色| 丰满少妇猛烈A片免费看观看| 激情综合播播| 夜夜操天天干| 亚洲综合九九| 中文字幕婷婷| 激情五月婷| 亚洲AV中文在线| 伊人三级激情| 六月激情久久| 色色色色区| 色综合伊人网| 97操在线资源| 九九激情| 久久色五月天| 丁香五月色网| 六月婷婷综合| 欧美三级黄色片久久| 婷婷中文字幕网| 色九月婷婷丁香| 亚洲网站999| 91成人电影| 人人操插| 性爱先锋AV| 五月丁香色综合| 99热久只有精品首页| 五月婷婷激情| 日本熟妇人妻在线| 亚洲狠狠色丁香婷婷综合久久| 色婷婷五月网| 97色一二三| 精品久久这里热66| 久久色天堂| 久久五月天综合| 丁香五月婷婷婷婷欧美综合| 激情99| 夜夜夜叫天天天做| 狠狠色噜噜狠狠亚洲A∨| 五月天婷婷免费视频| 激情五月婷| 天天插天天插| 天天干天天干天天干天天干天天干天天干天天 | 九月大香蕉| 九九婷婷综合| 久久色五月| 激情综合网婷婷五夜| 日韩五月丁香| 色色色婷婷五月天| 思思99热| 五月丁香黄色视频| 99干视频| 被男人添B超爽视频| 色婷婷丁香五月综合| 人妻激情视频| 五月天激情综合| 这里只有精品久| 夜色综合网| 亚洲男女激情| 五月婷婷自拍视频| 操日视频| 欧美激情性做爰免费视频| 久热视频这里只有精品| 熟女网站久久| 日韩丰满少妇无码内射| 丁香婷婷月| 天天日日人| 天天综合网色欲香| 色五月AV| 五月丁香啪啪综合| 丁香 婷婷 激情 综合 五月| 7777国产盗摄农村女人| 91狠狠综合网| 26UUU在线观看| 精品99在线看| 久久综合九色综合97婷婷| 伊人色综合网| 开心五月婷婷六月丁香| 91啪啪啪啪| 99热这里有精品| 色色99| 五月丁香六月婷婷综合伊人| 色综合九九色综合88| 亚洲黄色网址| 99综合免费视频| 丁香婷婷激情网站| 五月天天天综合| 99碰碰中文| 大地资源色婷婷视频在线| 26UUU欧美激情一区二区| 五月丁香亚洲综合网| 另类视频综合| 丁香久久九九99| 色五月亚洲| 天天干天天做| 综激情网| 天天狠狠夜夜狠狠2023| 午夜性爱影视一区77| 伊人激情啪啪| 天天色99| 五月丁香婷婷狠狠操| 天天日夜夜爽| 激情五月丁香六月综合AVXXXX| 激情小说之五月| WWW丁香五月| 婷婷午夜精品久久久| 九月av在线| 色无婷婷| 天天操天天插| 色色五月丁香| 99亚洲视频| 色视频五月天| 色色色色色色色色色999| 狠狠五月激情在线| 超碰人人操在线| 久久99精品久久久久久青青AR| 国产精品久久久爽爽爽麻豆色哟哟| 操91| 99九色视频在线观看| 色情成人五月天| 99热6这里只有精品| 六月天丁婷婷| 亚洲另类婷婷五月综合| 26uuu.| 丁香六月婷月91婷月| 91久久久久久久久18| 欧亚成人A片一区二区| 五月丁香伊人网| 伊人综合网4| 深爱网深爱综合网| 久久aaa| 色婷婷综合久色AV五色最新| 天天搡日日搡aaaaⅩ| 人妻aV在线| 婷婷丁香成人五月天| 人妖色AV色综合| 狠狠色丁香婷婷五月| 激情婷婷丁香色五月| 日韩AV在线电影| 夜色爱爱亚洲| 亚洲欧洲小视频9| 成人一区在线观看| 99噜噜噜| 日本九九视频| 日韩久热| 国产亚洲99久久精品| 99啪啪| 伊人久久激情图区五月| 夜夜躁狠狠| 激情小说五月天中文字幕| 五月亭亭六月激情| 思思热久久久久思思热| 亚洲国产成人裸舞| 九九在线这里只有精品视频| 色99热| 日本高清综合网五月丁香| 丁香婷婷月| 激情六月丁香| 亚洲综合激情五月久久| 91碰碰| 五月婷婷综合在线亚洲视频| 蜜臀综合久草| 狠狠九九婷婷韩| 五月丁香啪啪激情| 久er7久热| 5月丁香六月婷婷| 欧美五月婷婷| 丁香婷婷啪啪| 国产肥白大熟妇BBBB视频| 九月激情婷婷丁香| 久久人操-久草婷婷-成人AV| 91婷婷色| 婷婷色五月噜噜| 青青草视频福利| 欧美色性色好| 婷婷天天日婷婷| 日韩AV在线影片| 99碰碰中文| 激情视频婷婷五月花| 婷婷六月天精品| 色婷婷五月在线| 五月婷婷综合激情网| 中文字幕日产A片在线看| 日逼影音先锋男人资源站| 天堂爱啪啪| 99精品这里只有免费视频| 丁香五月开心婷婷| 婷婷五月香蕉| 99久久99综合| 九九热re99re6在线精品| 欧洲婷婷五月天| 天天色色天天| 五月色婷婷综合| 狠狠久久婷五月综合色| 久久伦乱| 99亚洲大片精品永久在线观看| 天天综合网站| 26uuu国产| 丁香五月123| 午夜丁香六月婷| 色色五月婷婷久久| 日本欧美成人片AAAA| 久热伊人9| 五月丁香久久久日婷婷久久婷婷日 | 99激情| 人碰91| 就爱操www com| 丁香五月激情啪| 伊人九热| 婷婷6月综合网| 久久丁香五月天| 狠狠精品干练久久久无码中文字幕| 久久99久久久| 久久只这里有精品| 婷婷天堂综合| 99综合99| 亚州激情在线视频| www.婷婷五月天| 色九月综合| 天天综合亚洲综合网天天αⅴ| 深爱综合网| 九九综合影音先锋| 精品五月视频婷婷在线观看| 丁香五月成人av| 国产乱子轮XXX农村| 婷婷成人综合| 亚洲色频| 182无码| 色国产五月| 婷婷激情五月综合| 97操碰在线视频| 婷婷五月天欧美图片在线播放电驴| 丁香五月av| 噜噜噜狠狠色综| 另类综合色| 特黄三级又爽又粗又大| 黄色99网| 婷婷五月天网| 亚洲在线综合| 天天操夜夜操| 人人操碰| 丁香婷婷久久综合在线| 中文字幕无码人妻少妇免费视频 | 成人必爱视| 色婷婷久久| 久久婷婷婷| 色情成人五月天| 香蕉五月婷婷| 色综合久久久久久久久五月| 九九亚洲| 日本的α片xxxwww| 高清无码网址| 9er热在线精品视频| 五月婷婷色| 超碰亚洲天堂| 国产激情视频在线观看| 欧美天堂久久| 婷婷六月天天| 97干视频在线| 色色五月天丁香婷婷| 婷婷激情综合色五月久久图片| 五月激情综合美女久久| 9精品国产在热久久| A网在线欧洲| 999热这里只有美国精品| 五月天婷婷影院影院| 色狠狠婷婷| 99成人免费热视频| 美女xx不卡| 欧美Va婷色|