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

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
返回資訊列表
激情五月四色| 五月天久久丁香| 另类在线| 激情五月四色| 第二色AⅤ| 亚洲黄网在线| 99色| 色呦呦美女| 丁香六月婷婷久久综合八月| 色婷婷最新域名| 5月婷婷激情在线| 91九色在线| 亚洲无AV在线中文字幕| 婷婷月综合| 丰满少妇猛烈A片免费看观看| 婷婷丁香社区网| 亚洲色激婷| 欧美性色A片免费免费观看的| 五月婷婷真爱激情网| 婷婷五月丁香六月| 91精品婷婷国产综合 | 这里有精品2| 强伦轩人妻一区二区电影| 久久ww| 五月天综合在线观看| 五月天无码| 综合 蜜月 婷婷| 欧美三级A做爰在线观看| 久久国产色| 天天色一道本综合婷婷| 日木狠狠干| 一区二区乱视频码| 色婷婷yy久| 香蕉久久国产AV一区二区| 色色色色色色色色色色色色色色,网站| 久操人妻| 超碰在线国产9| 婷婷狠狠综合网入口| 91人妻PORNY九色大屁股| 情婷婷五月天| 色婷婷视频综合| 99啪99| 婷婷中文综合网| 香蕉综合网| 超碰在线免费| 激情网五月| 在线观看亚洲AV| 五月婷婷丁香社区| 香蕉操亚洲| 六月丁香五月婷婷| www.minyis.com【JT】实力收量可预付QQ2101460746 | 伊人干练久| 丁香蜜臀黄色婷婷五月天| 天天综合色丁香| 色都都狠狠色都都色综合色| 性爱七区| 91尤物九色在线| 日91高清无玛| 亚洲欧美综合7777色婷婷| www.韩日视频| 综合精品99| 色www99| 国产婷婷婷| 99热免费| 色开心五月丁香| 99久久人人| 久草婷婷网 | 99热无码首页| 婷婷九月| 一本久婷婷综合| 99人妻碰碰碰久久久久| 五月色情婷婷| 第四色五月天| 午夜69成人做爰视频| 婷婷影院A成人| 成人AV综合在线| 激情九色| 亚洲色色色色| 在线中文字幕av| 一本色道久久综合狠狠躁小说| 色婷婷99| 色婷婷AV在线| 啪啪激情网站| 亚洲成人网站在线观看| 抽插特写| 99热久久这里只有精品| 久久99综合网| 天天色凹凸| 性天堂久久| 亚洲色色色色色色色色色| 婷婷激情五月天7| 久久久精品人妻录| 色婷婷狠狠| 国产色色小草视频| 色插综合网| 婷婷伊人五月天| 天天看A片| 国产AV一区二区三区最新精品| 五月色情婷婷| 婷婷五月天性| 五月天色综合| 五月久久五月激情| 久碰婷婷视频| 91精品久| 五月婷六月天| 国精产品一区一区三区免费视频 | 欧美性猛交AAAA片黑人 | 另类图片五月天激情| 91丨九色丨白浆| www.久久66| 亚洲欧美综合7777色婷婷| 久草热8精品视频在线观看| 7777精品伊人久久久大香线蕉最新版| av在线色五月丁香婷区久| 91丨九色丨熟女丰满| 亚洲亚洲人成综合网络 | 丁香婷婷在线| 国产麻豆视频| 伊人国产婷婷五月天| 日本美女五月天| AA片在线观看视频在线播放 | 饮料下药迷倒漂亮女同事强干| 国产色色视频| 欧美99| 亚洲婷婷五月天激情| 天天干,天天日| 26uuu精品一区二区| 丁香五月激情站| 9色在线视频| 色 噜噜 九月 婷婷| 精品无码av丁香五月激情| 久狠狠| yw.av| 五月丁香亚洲五月| 在线中文AV| 99热这里只有精品268| 婷婷淫淫狠狠六月| 亚洲一区二区无遮挡A片| 婷婷成人五月天成人文学小说| 99性爱| 色综合久久44| 五月天另类视频| 成人一级片| 第五色婷婷| 97超级碰| 婷婷五月天第三页| 综合色网站| 夜夜躁爽日| 开心五月婷婷伊人| 久久视频婷婷| 色色婷| 五月丁香六月综合激情| 狠狠色丁香99| 777久久久| 情久久综合五月天| 99热这里有精品首页10| 五月婷av| 2025天天爽天天摸| 久久网址99热| 99热这里是精品| 91久久久久久久久久久| 熟妇内谢69XXXXXA片| 天天拍夜夜撸| 婷婷色综合网日韩国产| www,超碰| 午夜 外网 精品 在线| 国产乱人偷精品人妻A片| 国产高潮A片羞羞视频涩涩| 亚洲另类电影| 搡BBBB搡BBB搡18 | 99re8这里只有精品99re8热视频| 麻豆雪千夏| 中文字幕综合网| 色综合网址| 久久丁香| 国产亚洲99久久精品| 色频玖玖五月天| 少妇AB又爽又紧无码网站| 亚洲精品久久久久久久久久吃药| 国产免费av在线| 久久婷婷国产| 五月丁花色综合网| 婷婷97碰碰| 这里只有精品免费| 婷婷.com| 激情深爱婷婷网| 亚洲综合网在线| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 亚洲色模骚货| 国产亚洲99| 九九在线热九九在线热99热| 欧美日本国产欧美日本韩国99| 五月婷久久| 中字幕视频在线永久在线观看免费| 激情网综合| 黄色精品五月婷婷| 99热10在线高清播放| 成人在线99| 538在线| 有码一区二区三区| 激情网五月天| 五月丁香综合激情网| 99热综合在线| 操日视频| 久久成人亚洲欧美电影| www.色婷婷| 婷婷五月激情在线视频| 夜夜www| 久久久jd| 婷婷六月久久| 国产精品久久久久久久久久| 色婷婷小说| 99日韩网站| 伊人婷婷青青cao| 久久电影五月天丁香电影| 99精品久久久| 久色激情| 久久久精品人妻| 天天爽—爽| 婷婷五月丁香超碰| 色99超碰| 久久综合最新网址| 久久精品一区二区三区四区| 日日操日日撸| 九九色综合九九色| 91精品无码| 这里只有精品9| 五月天婷婷黄色视频| 4399在线观看免费高清毛片| 丁香六月丁香婷婷激情| 爆乳熟妇一区二区三区四区| 国产SUV精品一区二区6| 欧美精品XXXXBBBB| 日日干日日| 色综合综合色| 91操操| 中文字幕人妻AV| 国产看真人毛片爱做A片| 婷婷综合网| 99视频这里有精品| 六月激情久久| 人妻激情在线| 99综合免费视频| 激情综合五月婷婷丁香| 天天插天天插| 99福利导航| 婷婷深爱五月丁香| 六月丁香六月婷婷欧美| 99热8| 26uuuuuuuu国产| 丁香五月激情六月综合| 这里只有精品69| 婷婷五月色丁香在线看| 99色性爰网络| 91色色色18| 色狠狠999综合| 婷婷九月丁香| 九九碰九九爱97超碰| 8区视频在线| 日本爆乳片手机在线播放| 国产精产国品一二三在观看| 教师性爱毛片| 婷婷玖玖五月天| 婷婷综合一二三| 丁香六月激情毛片| 亚洲精品电影| 婷婷五月免费观看| 色色色9| 五月激情六月综合| 91一起操| 久久久国产精品黄毛片| 色婷婷五月天无码视频| 激情伊人| 六月婷婷七月丁香| 99精品视频网| 另类小说五月天| 这里只有精品视频| 五月婷婷丁香综合,亚洲天堂| 亚洲成人精品三区| 五月天色色网站| 婷婷综合另类小说| 欧美日本va| 五月天综合网| 成人免费120分钟啪啪| 超碰国产在线播放| 狼人婷婷久久| 2018国产大陆天天弄| 免费无码毛片一区二区A片| 夜夜嗨一区二区三区直播内容| 亚洲AV无码电影| 丁香五月色五月| 快乐激情五月色婷婷| 日韩激情婷婷五月天| 天天草天天日| 99视频内射三四| 99国产精品白浆在线观看免费| 性爱激情久久| 开心激情色婷婷五月天| 五月天激情丁香| 五月天婷婷基地| 99精品国产在热久久| 猫咪伊人AV| 丁香狠狠色婷婷| 2020久久婷婷五月| 久久东京热婷婷五月| 国产人妻人伦精品一区二区| 亚洲啪啪网| 思思久久精品视频| 五月丁香婷婷基地| 九九热青青草| 日产精品一线二线三线芒果| 97操操操| 五月丁香啪啪| 久久婷婷五月丁香蜜桃网| 猫咪伊人久久| 开心深爱激情网| 久久草大香蕉| 超碰人人艹| 九九色视频| 26uuu| 五月婷婷综合色啪首页| 天天日夜夜操五月| 色色色五月婷婷| 综合超碰熟| 99久久国产宗和精品1上映| 婷婷婷婷婷婷婷婷| 九九色黄色| 亚州激情网站无码| 日日撸夜夜操| 日本99久久| 五月婷视频在线| 亚洲网站观看视频| 国产26uuu视频| 97综合在线| 色婷婷文字幕| 五月婷婷免费在线观看视频| 色婷婷五月综合网| 欧美内射AAAAAAXXXXX| 六月婷久久| 五月天狠狠| 影音先锋美国A| 桃色Av色哟哟| 激情五月天色播| 五月激情综合网| 桃色激情网| 日本WwW色偷偷丁香花久久久京东热| 超碰在线国产| 色婷婷影视| 超碰93在线观看| 婷婷无码五月天| 婷婷激情五月天桃花网| 无码 色| 热久综合| 五月婷婷基地| 久热婷婷在线视频| 九九99热| 九九RE视频在线精品| 五月天婷婷AV| 九九青青草成人| 丁香五月激情啪| 色色色热热热| 91久久99久久91熟女精品| 狠狠第四色| 久久婷婷视频| 97操碰视频| 成人婷99最新| 色婷婷婷av| 天天爽天天爽| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 99视频啪啪| 久久视频在线| 婷婷九月亚洲| 丁香六月婷婷| 亚洲最大五月天成人网| 久久最新色| 69精品人人人人| 欧美群妇大交乱婬网| 亚洲人人操| 夜夜涩涩涩| 福利视频在线播放| 色婷婷色婷婷五月| 9久久久久| 日日撸夜夜操| www.色五月| anquye五月| 无码人妻一区二区一牛影视| 五月色婷婷影院| 丁香婷婷六月激情文学 | www.av视频xx999.com| 风流少妇A片一区二区蜜桃| 97色婷婷五月天| 色九九丁香九月色九九色| 淫视馆AV在线| 综合热无码| 伊人热婷婷| 超碰成人免费| 婷婷五月六月丁香综合| 色婷操逼| 色色999三级片| 91免费看片| 五月天色婷好好| 五月丁香本色在线观看| 婷婷综合色色| 亚洲人成人五月天| 樱花99视频| 黄色成人AV在线| 欧美日韩成人在线网站| 五月丁香网站| 久久99激情| 婷婷丁香久久五月综合| 99干日本| 亚洲视频码| 99思思| 五月天色婷婷伊人网| 综激情网| 影院久久久| 色婷网| 亚洲色五月天| 97五月天婷婷| 色综合色综合色综合高潮| 狠狠色九月| 久久久久9999| 深夜男女福利刺激影院一区完整| 日屌日日操日日色| 狠狠操在线视频| 啪啪激情综合| 91热视频色网站| 五月天丁香婷婷网| 公的粗大挺进了我的密道| 亚洲va欧美va天堂v国产综合| 99热这里只有精品16| 五月天婷婷深深爱| 日韩抽插操逼| 噜噜色五月| 久青操| 久久婷鲁| 五月停性愛| 色综合婷婷| 婷婷丁香色情| www.狠狠| 六月色婷婷| 91人妻视频| 五月天婷五月天综合网在线观| www.sebowuyue| 亚洲久久天堂| 不卡成人免费| 国产亚洲AV人片在线| 99热这里只有精品9| 成人av在线网站| 五月婷婷av| 天天色综合综合| 色天天狠狠干| 国产热精品| 这里只有精品99视频| 激情网五月天| 色五婷婷开心缴| 丁香婷在线| 思思热精品免费视频| 天堂爱爱| 色狠狠综合网| 五月婷六月丁香| 欧美婷| 狠狠干青青草| A久网| WWW.99热| 久久这里只有精品99| 丁香五月成人社区| 狠狠爱婷婷丁香| 1区2区视频| 啪啪操超碰| 在线成人网站| 九九在线精品| 婷婷色色欧美综合网| 色狠狠婷婷| www,99视频| 9色小视频在线观看| 9色在线视频精品观看| 丁香五月天堂网AV| 久久综合丁香| 五月天综合在线| 99久久6| 婷婷成人五月天| 99国产精品久久久久久久久久久| 色婷丁香91| 天天视频精品9| 婷婷五月激情综合啪啪| 99自拍网| 激情合网婷婷| 这里只有精品无码| 久久只有18视频| 欧美三级A做爰在线观看| 亚洲国产精品二二三三区 | 五月丁香怕啪啪| 激情五月无码| 天天透天天爱| 99久久综合网| 色综合色综合色综合| 97五月久久丁香婷婷| 激情婷婷| 激情五月少妇| 色五月婷婷综合| 俺去也五月| www.爱婷婷.com| 另类激情五月| 天天色综合网吨吧| 九九九九这里只有精品| 色综合久久久久久久久五月| 色婷婷精品视频| 五月丁香啪啪| 任你搞在线观看视频| 五月婷婷熟女| 五月婷婷九| 超碰97免费在线| 嫩草AV久久伊人妇女超级A | 久久A V无码视频| 日韩亚洲视频| 久久五月天丁香| 婷婷综合网| 丁香五月婷婷色播艳门照| 中文字幕综合| 九九伦子片| 金桔一区二区ab地址| 激情五月婷婷老师| 亚洲国产精品VA在线看黑人| 亚洲AV无码影院| 婷婷深爱五月天在线| 日韩在线观看亚洲| 1024人妻无码中文字幕| 亚洲色五月天是什么| 婷婷娌伦网| 精品亚洲国产成AV人片传媒| 婷婷丁香宗合888| 性生生活大片又黄又| 影视av久久久噜噜噜噜噜三级| www.伊人天堂偷偷婷婷| 久久99网站| 激情久久网 | www.九九婷婷| 丁香五月av在线| 丁香五月婷婷基地| 亚洲另类电影| 99九无网码| 五月婷婷黄网站大全| 激情com| 99ri国产在线| 亚洲六月色婷婷| 五月激情偷拍| 日本三级第一页| 91操色| 91丨九色丨熟女高潮| 婷婷九月在线| 日日撸夜夜操| 综合九九中文字幕| 久久怕怕视频| 99啪在线| 欧美狠狠色| 亚洲无码影片| 懂色av粉嫩av蜜臀av| 九九人妻福利| 亚洲色综合| 超碰久热| 天天日夜夜| 五月六月播婷婷| 色情综合| 丁香五月综合久久八| 五月婷婷av| 99激情网| 日本色五月| 婷婷视频网| 97人人操人人爽| 999婷婷综合| 99无码超碰| AV在线免费网站| 久久五月网| 久久9久| 五月婷婷AV| 婷婷综合网站| 白人荫道BBWBBB大荫道| 襙逼网| 婷婷色色欧美综合网| 五月天伊人手机在线播放AV| 神马久久五月天| 丁香五月婷综合网| 在线视频99| 外国碰视频网站97| 狠狠做六月爱婷婷综合aⅴ| 99亚洲视频| 伊人六月无码视频| 婷婷丁香五月天亚洲| 激情五月黄色| 激情综合网色播五月| 丁香五月欧美色综合| 91精品久久久久| 99成人网站| 色九九中文字幕| 五月丁香六月婷婷网| 色综合九九色综合88| 丁香婷婷性爱| 午夜青草资源| 久久99精品久久久久久青青AR| 91九色国产熟女| 久久永久网址| 久草五月丁香婷婷综合| 久色网址| 97色婷婷五月天| 久久免费丁香| 99色色网| 久青草影院| 亚州色婷婷| 亚洲字幕AV一区二区三区四区| 深爱激清网| 中文字幕视频在线播放| 亚洲网综合在线| 婷婷色五天| 成人羞羞啪啪 全 视频| 国产色香蕉精品五夜婷| 色色99| 久久婷婷五月丁香蜜桃网| 五月天婷婷无码| 五月天·www·com| 国产1区2区| 五月丁香网站| 另类激情五月| 亚洲A色| 只有精品视频在线观看| 久99精品视频| 大香蕉久久青青| 97碰| 五月婷婷丁香俺日污视频| 天天做天天爱天天日| 国产人人操| 思思99热| 色5月婷婷| 天天狠天天叉| 99九九视屏| 九九色逼| 亚洲午夜电影| 久久九九经典| 五月丁香婷婷欧美色图视频五月丁香777电影 | 国产VA播放| 日本色色网站| 色婷婷精| 色婷婷丁香花五月天| 五月丁香啪啪综合| yirenjiqingshiping| 99热9| 香蕉综合在线| 极品另类| 婷婷色导航| 人人视频色| 99热在线免费观看精品| a色色色色色| 午夜爱插插| 激情av网| 丁香九色不卡aaa| 青青草婷婷五月天| 嫩草AV久久伊人妇女超级A| 成人午夜无码视频| 狠狠色狠狠| 狠狠操天天干| 色五月五月婷婷| 综合一本道| 99热这里只有精品最新地址获取| 深爱激情网噜噜色| 久久草婷婷丁香网站| 婷婷五月俺要去| 色色色色色级无码| 亚洲综合网激情小说| 婷婷五月综合色中文字幕| 操久久网| 大香蕉久久伊人婷婷五月丁香| 98色花堂98t.R| 99超级碰碰| 五月丁香婷爱在线| 五月网在线| 婷婷激情六月天视频| 激情婷婷五月色| 深爱五月天 开心网| 丁香久色| 久8色色| 婷婷五月天啪啪| 色婷婷丁香香香蕉视频| 天天日综合| 五月丁香色婷婷| 精品久热69| 91色五月| 久久色情| 91久女| 欧美色色日韩| 大香蕉久久久久| 日韩免费乱轮网站| 丁香婷停五月激情综合深爱| 久热A| 色色色综合色| 日本五月婷| 极品人妻VIDEOSSS人妻| 婷婷五月综合社区在线| 婷婷内射视频在线| 男人天堂伊人五月丁香| 五月丁六月婷| www.色色五月天.com| 狠狠色成人影片| 91av传媒高清在线视频网| 综合久久十| 区美毛片子| 97操操操| 一本色道久久88综合日韩精品| 日韩国产AV播放| 91精品久久久久久久久久久久| 丁香婷婷激情综合五月激情 | 六月婷婷影院| 99丁香五月婷| 激情五月婷婷| 99精品97| 六月丁香综合999| 日本VA视频| 色噜噜婷婷| 大香蕉在九| 久操福利| 99re这里只有精品在线观看| 久久9视频欧美| 亚洲国产精品VA在线看黑人| 1024成人在线观看| 5月丁香综合网| 狠狠操天天干| 日本不卡一区二区三区| 午夜婷婷久久 | 九九成人| 激情四射婷婷色色色| 热久久思思热思思| 五月婷婷色播| 日本成人内射| 这里只有精品视频在线观看免费| 狠狠色综合网| 很很操96| 天天综合色丁香| 玩熟女五十AV一二三区| 婷婷综合激情| 六月婷婷色综合| 日本4399天堂中出| www.粉嫩av.com| 99热在线观看免费精品| 9色91视频| 99久热在线精品| 激情六月婷婷| 九久九精品| 六月色婷婷欧美| 99热综合网| 日本三级色| 激情五月色综合国产精品| 99热这里只有精品16| 停停综合色色| 性日本精品| 99热热热99精品婷婷| 俺也去婷婷五月天第五色| 色婷六月| 91在线看免费 九九九九| 91人妻视频| 国产伦亲子伦亲子视频观看 | 婷婷成人基地| 五月激情丁香六月狠狠干| 在线观看中文字幕亚洲| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 日日夜夜综合| 天天日天天肏天天奸| 热热久久精品视频| 97色色网| sS丁香五月婷婷| www.99热视频| 五月丁香久人妻中文| www.超碰在线| 色婷婷综合网站| 色婷婷狠狠18禁| 99网址在线看| 婷婷精品在线| 99自拍视频在线观看| 五月天开心色情网| 91久久综合亚洲鲁鲁五月天| 久草视频一,二三四| 影音先锋91| 婷婷五月色综合| 大香蕉99热| www.婷婷五月天| 91色综合| 五月色综合| XXXX岛国| 91操人人操| 人人视频色| 二区成人视频| 婷婷成人视频| 曰曰久久| AV性爱在线| 五月停停直播| 91在线视频观看午夜福利| 婷婷色情五月| 五月丁香综合影院| 超碰人人色| 日日干日日色| 亚洲成人在线在线| 99在线观看视频| 啪色综合| 深爱激情丁香| 亚洲五月综合色播| 久久久香港| 亚洲欧洲国产精品| 激情五月开心五月在线视频| 欧美槡BBBB槡BBB少妇| 国语精品探花| 一区视频网站| 亚洲日韩乱码一区二区三区四区| 丁香五月婷婷综合网| 久久九九精彩| 激情丁香五月| 丁香婷婷色情社区成人小说| 狠狠爱激情网| 99re在线播放| 日韩无码色色| 色色色综合网| 97干在线视频精品店| www.日本91| 成人色色综合| 国产44页| 激情五月综合网| 99热.com| 99久久66| 综合激情在线观看| 婷婷五月色| 丁香六月婷婷综合缴| 婷婷亚洲综合| av在线免费播放观看| 91男同| 六月色国内综合| 97色片| 免费一区二区三区| 六月激情婷婷| 少妇达人正片在线播放_ikun_福利吧| 综合激情伊人影视在线| 五月丁香婷婷伊人日韩| av色色国产| 五月丁香啪啪综合| 无码网| 五月婷婷成人| 色色色色色色综合网| 99热都是精品| 91精品久久久久久综合五月天| 久久久18| 亚洲AV无码成人精品电影| av中文在线| 9久久婷婷国产综合精品性色| 在线综合婷婷| 4399成人黄A片| 色综合久网| 日本操天堂| 小视频久久久aaa| 开心五月婷婷婷美女| 内射丰满人妻| 婷婷亚洲五| 97人妻碰碰碰久久香蕉| 97色综合| 韩日另类| 26uuu国产| 人妻熟妇国产精品| 五月婷婷激情网| 蜜乳中文字| 欧美综合丁香网| 色色自拍视频网站| 夜夜资源站| 婷婷五月天丁香成人社区| 婷婷色影音天| 五月天天爽| 丁香五月天社区婷婷| 思思99久久| 五月天婷婷色在线视频免费观看| 可以看的av| 天天操夜夜肏| 日本久久爽| 91中文在线| 性综合网| 色色色色色级无码| 性色人人爽| 大香蕉网站,大香蕉综合| 夫妻超碰在线| 色色五月丁香婷婷综合| 草榴视频黄色网| 两性婷婷丁香五月| 五月婷三级片| .青娱乐天天操B| 91无码色色| 亚洲六月综合激情久久下卡| 丁香综合日产精品久久| 91人人人人人| 五月天激情美女久久| 三级毛片视频| 欧美色必爱| 就去色色五月丁香婷婷久久久| 九月丁香八月婷婷加勒比| 日韩成人精品中文字幕电影| 日韩欧美不卡| 九97免费视频| 久久婷婷五月激情综合| 丁香五月网| www.婷婷亚洲基地| 99热九九这里只有精品| 久热这里只有国产| 南京搡BBBB搡BBBB| 新激情五月天色播| 婷婷丁香五月在线播放| 婷婷丁香五月综合免费视频百花| 大天天伊人| 婷色五月| AA片在线观看视频在线播放| 99久久超级| 亚洲精品网址| 亚洲网视屏| 国产成人VA| 五月天婷婷深深爱| 五月婷婷香| 九九九色综合| 天天干天天干天天| 蜜臀综合久草| 婷婷爱五月| 色五月激情网| 99色丁香婷婷综合网| 99久久大片| 99在线免费视频| 99精品在线播放| 婷婷六月香| 97在线/亚洲| 国产va在线视频| 开心激情网五月| 91黄操| WWW.国产| 91一道本| 99er精品| 热久久99热欧美国产亚洲| 99啪| 色吧婷婷五月亚洲| 玖玖激情五月天| 欧美激情五月天在线观看| 久久一热| 亚洲综合激情五月久久| 九九艹女| 热中文字幕| 五月激情综合深爱| 久久久久9| 人五月天婷婷喷水| 操碰91| 久久这里有精品视频| 日本一级一级一级一级| 5Www色5夜| 丁香五月亚洲激情婷婷射| 99思思热只有在这里看| 91九色精品熟女内射| 色综色网| 久热9| 五月婷视屏在线观看| 丁香五月在线播放| 999精品久久久久久久| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 久久久无码精品成人A片小说 | 99噜噜噜在线播放| 粉嫩av懂色av蜜臀av熟妇| 六月天丁婷婷| 激情综合网激情五月天| 丁香五月大香蕉AV| 99re这里只有精品首页| 国产亚洲在线| 色综合久久综合| 天天插天天干天天舔| 婷婷大香蕉| 婷色视频| 欧美激情综合色综合色| 久综合网| 欧美色色色色色色色| 五月天综合影院| 国产国产乱老熟女视频网站97| 人人97碰| 色99视频| 丁香五月 性爱| 五月婷婷成人网首页| 91色五月| 99日在线观看视频| 操射国产日本| 中文字幕日产A片在线看| 超碰99在线| 五月丁香激情婷婷| 色情五月| 丁香婷婷婷五月| 久久综合婷婷激情| 人色五月天婷婷| 激情丁香婷婷| 99综合视频一体| 超碰97干| 久久综合影院| 五月天开心网| 一级性爱大片| 婷婷夜夜操| 三日本无码| 亚洲性色XXXXX| 青青久在线视频免费观看| 日韩色色网| 激情五月综合网| 九月激情网| 五月丁香婷婷中文| 欧美在线看| 91色综合网| 激情四射婷婷| ww久久| 色婷婷免费观看| 五月丁香激情四射| 蜜乳国产网站| 色色色com| 婷婷色网站| 99精品久久久久久久久| 丁香婷婷在线| 1024在线视频| 婷婷深爱五月丁香| 日本三级网址| 五月天综合网| 中文字幕av在线| 激情五月六月婷婷| 草操AV在线| 免费无码毛片一区二区A片| 亚洲看av的网站| 伊人婷婷99热精品| Www.激情| 99久久久久久www| 综合视频久久| 日日骑夜夜撸| 全部老头和老太XXXXX| 四虎婷婷五月天| 久久密臀婷婷| 丁香六月婷婷久久综合| 婷婷六月色开| 久久久久久久人妻| 激情黄色五月天| 七七久久婷婷| 99九九热视频| eeuss人妻| 色综啪啪网| 中文av网站| 久久久18| 国产精品久久久久9999小说 | 国产精产国品一二三在观看| 亚洲成人噜噜| 婷婷丁香花五月天| 综合色99| 日日爽天天| 婷婷激情视频| 99爱在线视频| 精品五月天| 超碰91在线| 精品国产乱码久久久久久免费| 久久五月综合| 99热99色| 亚洲九九99精品视频在线播放| 欧美成人日韩| 欧洲精品欧洲情| 日韩久操婷婷| 大香蕉婷婷| 伊人狠狠干| 色五月综合在线| 中文字幕无线久必| 久艹大香蕉| 色婷婷色久综| 999激情视频| 国产SUV精品一区二区883| 色五月播五月| 人妻内射麻豆视频| 98色丁香五月婷婷综合网| 97色婷| 天天做夜夜爽| 亚洲综合色网站| 国产精品色婷婷久久久精品| 日韩成人无码| 亚洲成人av在线| 天天天天天天天操| 99热超碰在线| 天堂久久大香蕉| 国产全是老熟女太爽了| 91人操| 日日爱699| 六月丁香基地| 色九亚洲| 九色视频入口91| 五月天婷婷成人网| 久久久99视频| 五月天婷婷丁香社区| 婷婷五月蜜桃成人桃色丁香| 国产1区2区| 久久综合五月天激情小说网站| 99久久9| 五月天激情丁香| 五月天久久www| 婷香五月网在线| 色婷婷综合亚洲| αV电影| 久久黄色片| 婷婷午夜| 99精品久久| 欧美色色色色色色| 激情五月六月婷婷| 久久精品永久免费| 久久五月天激情婷婷| 超碰9| 九月久久婷婷| 日本9区视频| 狠狠操狠狠色| 99精品视频在线观看| 精品人妻一区| 综合久久婷婷| 97九色视频| 久久丁香五月天| 丁香五月六月婷婷怡红院| xxx日本东京热| 久久ER视频com| 99色色热| 亚洲国产精品成人免费一区久久久在线观看AAAA| 99人人精品| 国产成人亚洲综合亚洲| 91 久热| 色五月天 丁香| 日韩野外 无套| 亚洲狠狠丁香婷婷香蕉| 人妻第九页| 五月婷婷综合激情小说| 一起草AV入口| 国产性av| 热99玖玖99玖玖99九九| 91干婷婷| 激情电影五月婷婷| 激情超碰网| 久久国产AV| 9久久久| 婷婷趴趴| 久久99久久99精品免观看粉嫩| 铁牛TV人妻| 97碰| 九九热这里只有精品556| 天天插天天玩天天干| 婷婷激情五月吧| 欧美va国产va| 婷婷五月天伊人网在线观看视频| 99亚洲大片精品永久在线观看| wwwxxx五月婷婷小说| 这里只有精品免费视频在线观看| 婷婷五月丁香久久| 婷婷性爱五月天| 六月色婷婷| 91精品婷婷国产综合久久| 五月婷婷色色| 久久99久久99久久99人受| 欧美黑人巨大性生话| 9色婷婷| 色久99| 丁香激情久久| 色99亚洲| 五月婷婷网站| 狠狠色五月| 99热在线播放| 激情5月婷婷| 九九中文字幕九| 色五月综合在线| 91艹人| 综合五月天完整| 国产97色在线| 婷婷五月天伊人| www.韩日视频| 亚洲色图五月丁香| 五月丁香综合啪啪啪啪啪| 五月四色色| 色色色com| 丁香六月情| 婷婷丁香激情五月天色色色| 五月婷婷九九久久| 永久的网站AAAA | 色色999三级片| 五月婷婷啪啪啪| 五月丁香五月激情综合色综合| 色狠狠色综合| 日本超碰在线| 亚洲狠狠丁香婷婷香蕉| 26.uuu丁香五月婷婷| 色色色在线播放| 综合网亚洲| 五月婷婷基地| 丁香五月激情欧美| eeuus五月婷| 亚洲色五月天| 成人精品一区日本无码网| 综合一啪| 色综合播放| 久久久久婷| 91人久| 久久 婷婷 五月天| 五月激情黄色小说| 久月婷婷| 99综合入口| 久久99这里只有精品| 久久人妻伦理| 丁香五月天社区| 婷婷丁香五月天影院| 久久成人综合五月天| 99在线观看视频| 久久婷婷五月综合网| 欧美激情五月综合| 亚洲AV无码影院| 狠狠久久婷五月综合色| 91肏| 色九月综合| 99这里的视频都是精品| 成人在线99| 六月婷婷综合网2| 《诡秘之主》在线观看| 激情五月丁香婷婷| 久久久天堂国产精品女人| 天天性视频| 9月色婷婷| 爱iii做iiii日日| 清色五月天| 欧美日韩成人在线| 超碰av天堂| 九九热免费| 亚洲三A| 国产精品久久99| 色婷婷激情| 中文字幕不卡视频| 99视频热| 无码少妇高潮喷水A片免费| 婷婷午夜| 棕合影院色色| 婷婷五月中文字幕| 久久久精品色| ai97re99一本| 中国AV性爱观看| 99欧美| 久久色五月天| 玖玖资源在线视频| 色综合综合色| 少妇久久诱惑视频| 激情综合色| 天天操夜夜爽天天操| 91无码视频| 91婷婷色 | 91艹人| 激情小说五月天| 丁香五月婷婷亚洲人| 五月婷婷丁香| www..999热久| 99综合一区| 五月婷激情影院| 99ri视频在线播放| 大香蕉 伊人夜| 人人摸人人澡人人| 九九色院| 91.com男女操| 俺也去在线视频| 九九精品免费视频99| 99惹精品视频| 久9热视频在线| 亚洲久热无码| 激情五月婷色| 狠狠色成人影片| 欧美日韩国产一区| 日本欧美在线| 天天日天天干天天爱|