




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
代理人Google審稿人和貢獻者EvanHuangEmilyXueOlcanSercinogluSebastianRiedelSatinderBavejaAntonioGulliAnantNawalgaria策展人和編輯安東尼奧·古利AnantNawalgaria格雷斯·莫?森技術(shù)作家喬伊·海梅克設(shè)計師邁克爾·蘭寧介紹567·24·LangChain快速??指南35在VertexAI代理程序中應(yīng)?于?產(chǎn)環(huán)境3842充他們的先前知識,然后得出結(jié)論。就像?類?樣,?成式??智能模型可來訪問實時信息或建議現(xiàn)實世界中的?動。例如,?個模型可以利?數(shù)據(jù)庫定信息,?如客?的購買歷史,以便為其?成定制的購物建議?;蛘?,基于可以發(fā)起各種API調(diào)?,以向同事發(fā)送電?郵件回復(fù)或代表您完成財務(wù)交易。為了做到這?模型不僅需要訪問?套外部?具,還需要有計劃地執(zhí)?任何任務(wù)的能?,這種推理、邏輯和對外部信息的訪問相結(jié)合,與?成式??智能模型相關(guān)聯(lián),頭的?具采取?動來嘗試實現(xiàn)?個?標。代理是?治的,可以獨?于?當?shù)?標或?標以供實現(xiàn)時。代理也可以積極主動地努?實現(xiàn)他們的?的明確指令集的情況下,代理也可以推理出下?步該做什么來實現(xiàn)其最代理的概念?常普遍?強?,但本??書著重于?成式??智能模型在為了理解代理的內(nèi)部運作,讓我們?先介紹驅(qū)動代理?為、動作和模型在代理范圍內(nèi),模型指的是將被?作代理過程中央決策者的語?模型(LM)。代理使?的模型可以是?個或多個規(guī)模任意??(?型/?型)的LM,能夠遵循基于指令的如ReAct、Chain-of-Though程序的模型,并且最好是已經(jīng)訓(xùn)練過與您計劃在認知架構(gòu)中使?的?具相關(guān),通過為模型提供展?代理能?的?例,包括代理在各種情境中使?特定?具或推理步驟的實例,可以進?步完善模型以適應(yīng)代理的任務(wù)。工具盡管基礎(chǔ)模型在?成?本和圖像??令?印象深刻,但由于?法與外部限制。?具彌合了這?差距,賦予代理?與外部數(shù)據(jù)和服務(wù)交互的能?,本?之外更?泛的?動范圍。?具可以采取各種形式,具有不同API?法(如GET,POST,PATCH和DELETE)相?致。例如,?個?具可以更新數(shù)據(jù)庫中的客?信息或獲取天?數(shù)據(jù)以影響代理向??提供的旅?建議。有了?具,實世界的信息。這使它們能夠?持更專業(yè)的系統(tǒng),如檢索增強?成(RAG),這顯著擴展了代理的能?,超出了基礎(chǔ)模型本?可以實現(xiàn)的范圍。我們將在下?更詳細地討編排層編排層描述了?個循環(huán)過程,規(guī)定了代理如何接收信息,進??些內(nèi)部推理導(dǎo)其下?步?動或決策。?般情況下,這個循環(huán)將繼續(xù),直到代理達到其?編排層的復(fù)雜性可以根據(jù)代理和任務(wù)的不同??不相同。有些循環(huán)可能只是規(guī)則,?其他循環(huán)可能包含鏈接邏輯、涉及其他機器學(xué)習(xí)算法或?qū)崿F(xiàn)其他概代理vs.模型為了更清晰地理解代理與模型之間的區(qū)別,請考慮以下圖表:管理的會話歷史(即聊天歷史),以允許基,ReAct等)來形成復(fù)雜提?,以引導(dǎo)模型進使?推理框架(如CoT、ReAct)或其他預(yù)構(gòu)建的認知架構(gòu):代理程序的運作方式想象?個繁忙廚房?的廚師。他們的?標是為餐廳顧客制作美味佳肴在整個過程中,廚師根據(jù)需要進?調(diào)整,隨著?材減少或接收到顧客反并利?先前的結(jié)果來確定下?步的?動計劃。這種信息獲取、規(guī)劃、執(zhí)就像廚師?樣,代理可以使?認知架構(gòu)通過迭代處理信息、做出明智決?步?動來實現(xiàn)?標。代理認知架構(gòu)的核?在于使?不斷發(fā)展的提??程領(lǐng)域和相關(guān)框架來引導(dǎo)推理和規(guī)劃,使代理能完成任務(wù)。提??程框架和語?模型的任務(wù)規(guī)劃領(lǐng)域的研究正在快速發(fā)?法。雖然不是窮盡列表,但以下是本出版物發(fā)表有時候會包括上下??例。ReAct提?已被證明勝過多個最先進基準,并提?了LLMs的?類?Chain-of-Thought(CoT)是?種提??程框架,通過中間步驟實現(xiàn)推理能?。CoT有各種??Tree-of-thoughts(ToT)是?種提??程框架,?常適合探索或戰(zhàn)略前瞻任務(wù)。它概括了鏈式思維提?,并允許模型探索各種思維鏈,這些思維鏈可以作為語?例如,讓我們考慮?個代理,它被編程使?ReAct框架為??查詢選擇正確的操作和?b思考:模型對接下來該做什么的想法ii.例如,動作可以是[航班、搜索、編碼、?]中的?個,其中前3個代表模型可以選擇的已知?具,最后?個代表“不選擇?具”3代表模型可以選擇的已知?具,最后?個代表“不選擇?具”f最終答案:模型向原始用戶查詢提供的最終答案如圖2所?,模型、?具和代理配置共同提供了?個的查詢。雖然模型可以根據(jù)其先前的知識猜測答案(幻覺),但它選擇來搜索實時外部信息。這些額外的信息被提供給模型,使其能夠基于真總的來說,代理響應(yīng)的質(zhì)量可以直接與模型在理性和?動??處理,包括選擇正確?具的能?以及?具的定義程度。就像?廚?新鮮?材精?烹飪菜肴并關(guān)注顧客反饋?樣,代理依靠合理推理和可靠信息提供最佳結(jié)果。在接下來雖然語?模型擅?處理信息,但缺乏直接感知和影響現(xiàn)部系統(tǒng)或數(shù)據(jù)進?交互的情況下的有?性。這意味著,在某種意義上,語數(shù)據(jù)中學(xué)到的知識?已。但?論我們向模型提供多少數(shù)據(jù),它們?nèi)匀蝗狈δ?。那么我們?nèi)绾钨x予我們的模型與外部系統(tǒng)實時、上下?感知的交互雖然它們有很多不同名稱,但?具是連接我們基礎(chǔ)模統(tǒng)和數(shù)據(jù)的連接使得我們的代理能夠執(zhí)?更多種類的任務(wù),并且更以使代理調(diào)整智能家居設(shè)置,更新?歷,從過為代理配備?具,我們釋放了它們理解世界并對其采取?動的巨?潛?,擴展理解擴展的最簡單?式是將其視為以標準化?式橋接API和代理leFlightsAPI獲取航班信息,但您不確定如何讓您的代理調(diào)?此API端點。?種?法是實現(xiàn)?定義代碼,該代碼將接收的??查詢,I調(diào)?。例如,在航班預(yù)訂?例中,??可能會說“我想要從奧斯汀到蘇黎世訂?張?機票?!痹谶@種情況下,我們的?定義代碼解決?案需要從??查詢中提取“奧斯汀相關(guān)實體,然后再嘗試進?API調(diào)?。但是,如果??說“我想要去蘇黎世訂?張?機票”?沒有提供出發(fā)城市怎么辦?缺少必要數(shù)據(jù)會導(dǎo)致API調(diào)?失敗,需要實現(xiàn)更多代碼來捕獲這類邊緣和特殊情況。這種?法不具備可擴展性,很容易在超出實現(xiàn)的?定義代碼范更具韌性的?法是使?擴展。擴展通過以下?式彌合了代理和API之間的差距:擴展可以獨?制作,但應(yīng)作為代理配置的?部分提供。代理在運?時使?模擴展,如果有合適于解決??查詢的,這凸顯了擴展的?個關(guān)鍵優(yōu)勢,即內(nèi)就像軟件開發(fā)?員在解決??問題時決定使?哪些API端點?樣。如果??想要訂機票,開發(fā)決定哪個最適合??的查詢。如果想看到擴展的操作,可以嘗試在Gemini應(yīng)?程序上測試它ts擴展,然后問Gemini“顯?下周五示例擴展importvertexaiimportpprintPROJECT_ID="YOUR_PROJECT_ID"vertexai.init(project=PROJECT_ID,location=REGION)fromvertexai.preview.extensionsimportExtensionextension_code_interpreter=Extension.from_hub("code_interpreter")response=extension_code_interpreter.execute(operation_id="generate_and_execute",operation_params={"query":CODE_QUERY})pprint.pprint({response['generated_code']})```classTreeNode:self.val=valself.left=leftself.right=rig續(xù)下頁...定義反轉(zhuǎn)?叉樹函數(shù)(root):參數(shù):返回:如果沒有根節(jié)點:#交換左右?節(jié)點,遞歸調(diào)?root.leftinvert_binary_tree(root.right),invert_binary_tree(root.left)root.left=TreeNode(2)ot.left.right=TreeNode(3)root.right.lefinverted_root=invert_binary_tree(root)```總結(jié)?下,擴展提供了?種?式,使代理能夠以多種?式感知、交互他們還會定義何時調(diào)?function_a與function_b的邏輯,以及預(yù)期的輸?和輸出。在代理的世界?,函數(shù)的?作?式與軟件開發(fā)?員類似,但我們可以?發(fā)?員。模型可以采??組已知的函數(shù),并根據(jù)函數(shù)的規(guī)范決定何時使?請注意,在這?的主要區(qū)別是,F(xiàn)unction和agent都不直接與這為開發(fā)?員提供了對應(yīng)?程序中數(shù)據(jù)流的更精細控制。有許多原因會導(dǎo)?需要在應(yīng)?程序堆棧的另?層中進?API調(diào)?,?不是直接與代理架構(gòu)流進?交互(例如?安全性或?份驗證限制阻?代理直接調(diào)?API(例如API未暴露于互聯(lián)?上,或者代理基?時間或操作順序約束阻?代理實時進?API?需要對代理?法執(zhí)?的API響應(yīng)應(yīng)?額外的數(shù)據(jù)轉(zhuǎn)換邏輯。例如,考慮?個不提供篩選機制以限制返回結(jié)果數(shù)量的API端點。在客?端使?函數(shù)提供了開發(fā)?員額外的機會來進??開發(fā)?員希望在不部署額外基礎(chǔ)設(shè)施的情況下迭代代理開發(fā)(即函數(shù)調(diào)?可以像“存根”A使用案例模型可?于調(diào)?函數(shù)以處理復(fù)雜的客?端執(zhí)?流程,其中代理開發(fā)?員可能不理API執(zhí)?(就像擴展的情況?樣)。讓我們考慮以下?例,其中?個代理正在接受培訓(xùn)成為旅?科羅拉多州克雷斯特巴特,美國?加拿?卑詩省惠斯勒?瑞?采爾?特雖然上述輸出包含我們需要的數(shù)據(jù)(城市名稱但格式),function_call{名稱:"display_cities"參數(shù):{}}種特定情況下,我們將調(diào)??歌地點API,以獲取模型提供的城市并查找圖像,然后將它們作為圖9中?例的結(jié)果是模型被利?來“填補空?”,提供客?端UI調(diào)?Goog參數(shù)???端UI使?模型返回的函數(shù)提供的參數(shù)管理實際的API調(diào)?。這只是函數(shù)調(diào)?的?個?例,但還有許多其他情景需要考慮,例如:?您希望語?模型建議可在您的代碼中使?的函數(shù),但?不希望在代碼中包含憑據(jù)。由于函數(shù)?您正在運?可能需要超過?秒鐘的異步操作。這些場景很適合函數(shù)調(diào)?,因為這是?項異關(guān)于函數(shù)的?個關(guān)鍵要點是,它們旨在為開發(fā)?員提供這不相關(guān)于代理可能采取的未來操作。但是,基于應(yīng)?程序的架構(gòu),將外部API調(diào)?數(shù)據(jù)返回給代理以影響未來的推理、邏輯和?動選擇可能是有意義的。最終,由應(yīng)?要實現(xiàn)來?我們滑雪假期場景的上述輸出,讓我們擴展每個組件,使其與我們的Gemini?先,我們將定義我們的display_cities函數(shù)作為?個簡單的Python?法。defdisplay_cities(cities:list[str],preferences:Optional[str]=None)參數(shù):preferences(str):??的搜索偏好,如滑雪、海灘、餐館、燒烤等.cities(list[str]):推薦給??的城市列表.返回:list[str]:推薦給??的城市列表.接下來,我們將實例化我們的模型,構(gòu)建?具,然后將??的查詢和?具傳fromvertexai.generative_modelsimportGenerativeModel,Tool,FunctionDeclarationdisplay_cities_function=FunctionDeclaration.from_func(display_cities)tool=Tool(function_declarations=[display_cities_function])print(f"函數(shù)名稱:{res.candidates[0].content.parts[0].function_}")print(f"函數(shù)參數(shù):{res.candidates[0].content.parts[0].function_call.args}")>函數(shù)名稱:display_cities>函數(shù)參數(shù):{'preferences':'滑雪','cities':['Aspen','Vail',總之,函數(shù)提供了?個直觀的框架,賦予應(yīng)?程序開發(fā)?員對數(shù)據(jù),同時有效地利?代理/模型進?重要輸??成。開發(fā)?員可以有選擇性地選擇是否通過返回外數(shù)據(jù)存儲想象?個語?模型就像是?座龐?的圖書館,包含著其訓(xùn)練數(shù)據(jù)。但與持續(xù)同,這個模型保持靜態(tài),僅保存最初訓(xùn)練時的知識。這帶來了?個挑戰(zhàn),因斷演進。數(shù)據(jù)存儲解決了這個限制,提供對更加動態(tài)和最新信息的訪問,并考慮?個常?情景,開發(fā)?員可能需要向模型提供少量額外數(shù)據(jù),也許以電?表格或PDF的數(shù)據(jù)存儲允許開發(fā)?員以其原始格式向代理提供附加數(shù)據(jù),消除了耗時的練或微調(diào)的需要。數(shù)據(jù)存儲將傳?的?檔轉(zhuǎn)換為代理可以使?的?組?在?成式AI代理的背景下,數(shù)據(jù)存儲通常被實現(xiàn)為開發(fā)?員希望代理在運?時訪問的?量數(shù)據(jù)庫。雖然我們在這?不會深?介紹?量數(shù)據(jù)庫,但需要理解的關(guān)鍵點是式存儲數(shù)據(jù),這是?種數(shù)據(jù)的?維向量或數(shù)學(xué)表?。近來語?模型與數(shù)?諸如PDF、Word?檔、CSV、電?表格等格式的結(jié)構(gòu)化數(shù)據(jù)?諸如HTML、PDF、TXT等格式的?結(jié)構(gòu)化數(shù)據(jù)最終結(jié)果是?個應(yīng)?程序,允許代理通過向量搜索將??的查詢與已內(nèi)容,并將其提供給編排層和模型以進?進?步處理。下?步操作可能工具概述總之,擴展、函數(shù)和數(shù)據(jù)存儲組成了?種不同類型的?具,供代?開發(fā)?員希望代理控制與API端點的交互?在利?本機預(yù)構(gòu)建擴展?多跳規(guī)劃和API調(diào)?安全或?份驗證限制阻?代理直接調(diào)?API?時序約束或操作順序約PI調(diào)?(即批量操作,??復(fù)核等)問增強?成(RAG):?來?預(yù)索引域名和UR?結(jié)構(gòu)化數(shù)據(jù),如PDF、Word?檔、CSV、電?表格等?HTML、PDF、TXT等格有效使?模型的關(guān)鍵在于其在?成輸出時選擇正確?具的能?,特時。雖然?般培訓(xùn)有助于模型培養(yǎng)這種技能,但真實場景通常需要將這看作是基本烹飪技能和掌握特定烹飪技藝之間的區(qū)別。兩者都?上下?學(xué)習(xí):這種?法在推斷時為通?模型提供提?、?具和少量?例,使其能夠‘即興學(xué)習(xí)’如何以及何時使?這些?具來完成特定任務(wù)。ReAct?基于檢索的上下?學(xué)習(xí):這種技術(shù)通過從外部內(nèi)存中檢索最相關(guān)的信息、?具和相關(guān)?例動態(tài)填充模型提?。?個例?是VertexAI擴展中的‘?例存儲’或之前提到的基于RA?基于微調(diào)的學(xué)習(xí):這種?法涉及在推斷之前使?更?的特定?例數(shù)據(jù)集對模型進?訓(xùn)練。這有?想象?位廚師收到了?個具體的?譜(提?)、?些關(guān)鍵的?材(相關(guān)?具)和?些?例菜肴(少量樣本?例)從客?那??;谶@些有限的信息和廚師對烹?現(xiàn)在讓我們想象?下我們的廚師在?個備有豐富?材的廚房?(外部數(shù)據(jù)存儲??裝滿各種?材和?譜書(?例和?具)。廚師現(xiàn)在能夠動態(tài)地從?材庫中選擇?材和與客?的?譜和偏好相匹配。這使廚師能夠利?現(xiàn)有知識和新知識創(chuàng)造出更具?最后,讓我們想象我們把廚師送回學(xué)校學(xué)習(xí)?種新的烹飪或?套烹飪(在特定?例的更?數(shù)據(jù)集上進?預(yù)訓(xùn)練)。這使得廚師能夠更深?地理解未來看不?的客??這些?法各有獨特的優(yōu)勢和劣勢,涉及速度、成本和延遲等??。然?,?個代理框架中,我們可以利?各種優(yōu)勢同時減少其為了提供?個真實的代理?例,我們將使?LangChain和LangGraph庫快速構(gòu)建原型。這些流?的開源庫允許??通過“鏈式”連接?系列邏輯、推理和?具調(diào)?我們將使?SerpAPI(?于?歌搜索)和GooglePlacesAPI這些?具。在執(zhí)?Snipp。fromlanggraph.prebuiltimportcreate_react_agentfromlangchain_core.toolsimporttoolfromlangchain_community.utilitiesimportSerpAPIWrapperfromlangchain_community.toolsimportGooglePlacesToolos.environ["SERPAPI_API_KEY"]="XXXXX"os.environ["GPLACES_API_KEY"]="XXXXX"defsearch(query:str)search=SerpAPIWrapper()returnsearch.run(query)defplaces(query:str):places=GooglePlacesToaces.run(query)places]forsinagent.stream(input,stream_mode="values"):ifisinstance(message,tuple):打?。ㄏⅲ﹠else:消息.pretty_print()代碼段8?;贚angChain和LangGraph的智能體與?具{...結(jié)果:"NCAADivisionIFootball,Georgia,?期..."}參數(shù):查詢:喬治亞?學(xué)???體育場名稱:地點{...桑福德體育場地址:100Sanford...}喬治亞?學(xué)???體育場的地址是100SanfordDr,Athens盡管這是?個相當簡單的代理?例,但它展?了模型、編排和?具的?界?、評估框架和持續(xù)改進機制。Google的Vertex之前提到的所有基本元素簡化了這個過程。開發(fā)?員可以使??然語?界統(tǒng)?為。此外,該平臺配備了?套開發(fā)?具,允許進?測試、評估、衡量提?所開發(fā)代理的總體質(zhì)量。這使開發(fā)?員能夠集中精?構(gòu)建和完善他們AI平臺,其中使?了諸如VertexAgentBuilder、VertexExtensions、VertexFunctionCalling和VertexExampleStore等各種功能。這個架構(gòu)包括許多?于?產(chǎn)就緒應(yīng)?程序所必需的各
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 理賠業(yè)務(wù)風(fēng)險培訓(xùn)效果評估效率風(fēng)險基礎(chǔ)知識點歸納
- 農(nóng)業(yè)科技創(chuàng)新驅(qū)動鄉(xiāng)村振興的實現(xiàn)路徑
- 推動人工智能健康有序發(fā)展的面臨的問題、機遇與挑戰(zhàn)
- 老舊廠區(qū)改造項目經(jīng)濟效益和社會效益
- 2025辦公室租賃合同4
- 老舊供水管網(wǎng)更新改造工程項目技術(shù)方案
- 小暑節(jié)氣解析
- 中戲??急硌菰囶}及答案
- 中醫(yī)高級考試試題及答案
- 仰望游玩測試題及答案
- 風(fēng)幕機安裝施工方案
- 《學(xué)科建設(shè)》課件
- 寧德時代推出“寧家服務(wù)”
- LNG供應(yīng)鏈優(yōu)化方案
- 一次函數(shù)應(yīng)用說課比賽課件
- 期末測試卷(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)滬教版
- 電子煙質(zhì)量管理手冊
- 影響力從語言開始學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 設(shè)備外協(xié)制作合同模板
- 走進創(chuàng)業(yè)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 中海新房購房合同模板
評論
0/150
提交評論