版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
代理人Google审稿人和贡献者EvanHuangEmilyXueOlcanSercinogluSebastianRiedelSatinderBavejaAntonioGulliAnantNawalgaria策展人和编辑安东尼奥·古利AnantNawalgaria格雷斯·莫⾥森技术作家乔伊·海梅克设计师迈克尔·兰宁介绍567·24·LangChain快速⼊⻔指南35在VertexAI代理程序中应⽤于⽣产环境3842充他们的先前知识,然后得出结论。就像⼈类⼀样,⽣成式⼈⼯智能模型可来访问实时信息或建议现实世界中的⾏动。例如,⼀个模型可以利⽤数据库定信息,⽐如客⼾的购买历史,以便为其⽣成定制的购物建议。或者,基于可以发起各种API调⽤,以向同事发送电⼦邮件回复或代表您完成财务交易。为了做到这⼀模型不仅需要访问⼀套外部⼯具,还需要有计划地执⾏任何任务的能⼒,这种推理、逻辑和对外部信息的访问相结合,与⽣成式⼈⼯智能模型相关联,头的⼯具采取⾏动来尝试实现⼀个⽬标。代理是⾃治的,可以独⽴于⼈当的⽬标或⽬标以供实现时。代理也可以积极主动地努⼒实现他们的⽬的明确指令集的情况下,代理也可以推理出下⼀步该做什么来实现其最代理的概念⾮常普遍⽽强⼤,但本⽩⽪书着重于⽣成式⼈⼯智能模型在为了理解代理的内部运作,让我们⾸先介绍驱动代理⾏为、动作和模型在代理范围内,模型指的是将被⽤作代理过程中央决策者的语⾔模型(LM)。代理使⽤的模型可以是⼀个或多个规模任意⼤⼩(⼩型/⼤型)的LM,能够遵循基于指令的如ReAct、Chain-of-Though程序的模型,并且最好是已经训练过与您计划在认知架构中使⽤的⼯具相关,通过为模型提供展⽰代理能⼒的⽰例,包括代理在各种情境中使⽤特定⼯具或推理步骤的实例,可以进⼀步完善模型以适应代理的任务。工具尽管基础模型在⽣成⽂本和图像⽅⾯令⼈印象深刻,但由于⽆法与外部限制。⼯具弥合了这⼀差距,赋予代理⼈与外部数据和服务交互的能⼒,本⾝之外更⼴泛的⾏动范围。⼯具可以采取各种形式,具有不同API⽅法(如GET,POST,PATCH和DELETE)相⼀致。例如,⼀个⼯具可以更新数据库中的客⼾信息或获取天⽓数据以影响代理向⽤⼾提供的旅⾏建议。有了⼯具,实世界的信息。这使它们能够⽀持更专业的系统,如检索增强⽣成(RAG),这显著扩展了代理的能⼒,超出了基础模型本⾝可以实现的范围。我们将在下⾯更详细地讨编排层编排层描述了⼀个循环过程,规定了代理如何接收信息,进⾏⼀些内部推理导其下⼀步⾏动或决策。⼀般情况下,这个循环将继续,直到代理达到其⽬编排层的复杂性可以根据代理和任务的不同⽽⼤不相同。有些循环可能只是规则,⽽其他循环可能包含链接逻辑、涉及其他机器学习算法或实现其他概代理vs.模型为了更清晰地理解代理与模型之间的区别,请考虑以下图表:管理的会话历史(即聊天历史),以允许基,ReAct等)来形成复杂提⽰,以引导模型进使⽤推理框架(如CoT、ReAct)或其他预构建的认知架构:代理程序的运作方式想象⼀个繁忙厨房⾥的厨师。他们的⽬标是为餐厅顾客制作美味佳肴在整个过程中,厨师根据需要进⾏调整,随着⻝材减少或接收到顾客反并利⽤先前的结果来确定下⼀步的⾏动计划。这种信息获取、规划、执就像厨师⼀样,代理可以使⽤认知架构通过迭代处理信息、做出明智决⼀步⾏动来实现⽬标。代理认知架构的核⼼在于使⽤不断发展的提⽰⼯程领域和相关框架来引导推理和规划,使代理能完成任务。提⽰⼯程框架和语⾔模型的任务规划领域的研究正在快速发⽅法。虽然不是穷尽列表,但以下是本出版物发表有时候会包括上下⽂⽰例。ReAct提⽰已被证明胜过多个最先进基准,并提⾼了LLMs的⼈类•Chain-of-Thought(CoT)是⼀种提⽰⼯程框架,通过中间步骤实现推理能⼒。CoT有各种⼦•Tree-of-thoughts(ToT)是⼀种提⽰⼯程框架,⾮常适合探索或战略前瞻任务。它概括了链式思维提⽰,并允许模型探索各种思维链,这些思维链可以作为语⾔例如,让我们考虑⼀个代理,它被编程使⽤ReAct框架为⽤⼾查询选择正确的操作和⼯b思考:模型对接下来该做什么的想法ii.例如,动作可以是[航班、搜索、编码、⽆]中的⼀个,其中前3个代表模型可以选择的已知⼯具,最后⼀个代表“不选择⼯具”3代表模型可以选择的已知⼯具,最后⼀个代表“不选择⼯具”f最终答案:模型向原始用户查询提供的最终答案如图2所⽰,模型、⼯具和代理配置共同提供了⼀个的查询。虽然模型可以根据其先前的知识猜测答案(幻觉),但它选择来搜索实时外部信息。这些额外的信息被提供给模型,使其能够基于真总的来说,代理响应的质量可以直接与模型在理性和⾏动⽅⾯处理,包括选择正确⼯具的能⼒以及⼯具的定义程度。就像⼤厨⽤新鲜⻝材精⼼烹饪菜肴并关注顾客反馈⼀样,代理依靠合理推理和可靠信息提供最佳结果。在接下来虽然语⾔模型擅⻓处理信息,但缺乏直接感知和影响现部系统或数据进⾏交互的情况下的有⽤性。这意味着,在某种意义上,语数据中学到的知识⽽已。但⽆论我们向模型提供多少数据,它们仍然缺乏能⼒。那么我们如何赋予我们的模型与外部系统实时、上下⽂感知的交互虽然它们有很多不同名称,但⼯具是连接我们基础模统和数据的连接使得我们的代理能够执⾏更多种类的任务,并且更以使代理调整智能家居设置,更新⽇历,从过为代理配备⼯具,我们释放了它们理解世界并对其采取⾏动的巨⼤潜⼒,扩展理解扩展的最简单⽅式是将其视为以标准化⽅式桥接API和代理leFlightsAPI获取航班信息,但您不确定如何让您的代理调⽤此API端点。⼀种⽅法是实现⾃定义代码,该代码将接收的⽤⼾查询,I调⽤。例如,在航班预订⽤例中,⽤⼾可能会说“我想要从奥斯汀到苏黎世订⼀张⻜机票。”在这种情况下,我们的⾃定义代码解决⽅案需要从⽤⼾查询中提取“奥斯汀相关实体,然后再尝试进⾏API调⽤。但是,如果⽤⼾说“我想要去苏黎世订⼀张⻜机票”⽽没有提供出发城市怎么办?缺少必要数据会导致API调⽤失败,需要实现更多代码来捕获这类边缘和特殊情况。这种⽅法不具备可扩展性,很容易在超出实现的⾃定义代码范更具韧性的⽅法是使⽤扩展。扩展通过以下⽅式弥合了代理和API之间的差距:扩展可以独⽴制作,但应作为代理配置的⼀部分提供。代理在运⾏时使⽤模扩展,如果有合适于解决⽤⼾查询的,这凸显了扩展的⼀个关键优势,即内就像软件开发⼈员在解决⽤⼾问题时决定使⽤哪些API端点⼀样。如果⽤⼾想要订机票,开发决定哪个最适合⽤⼾的查询。如果想看到扩展的操作,可以尝试在Gemini应⽤程序上测试它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续下页...定义反转⼆叉树函数(root):参数:返回:如果没有根节点:#交换左右⼦节点,递归调⽤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)```总结⼀下,扩展提供了⼀种⽅式,使代理能够以多种⽅式感知、交互他们还会定义何时调⽤function_a与function_b的逻辑,以及预期的输⼊和输出。在代理的世界⾥,函数的⼯作⽅式与软件开发⼈员类似,但我们可以⽤发⼈员。模型可以采⽤⼀组已知的函数,并根据函数的规范决定何时使⽤请注意,在这⾥的主要区别是,Function和agent都不直接与这为开发⼈员提供了对应⽤程序中数据流的更精细控制。有许多原因会导•需要在应⽤程序堆栈的另⼀层中进⾏API调⽤,⽽不是直接与代理架构流进⾏交互(例如•安全性或⾝份验证限制阻⽌代理直接调⽤API(例如API未暴露于互联⽹上,或者代理基•时间或操作顺序约束阻⽌代理实时进⾏API•需要对代理⽆法执⾏的API响应应⽤额外的数据转换逻辑。例如,考虑⼀个不提供筛选机制以限制返回结果数量的API端点。在客⼾端使⽤函数提供了开发⼈员额外的机会来进⾏•开发⼈员希望在不部署额外基础设施的情况下迭代代理开发(即函数调⽤可以像“存根”A使用案例模型可⽤于调⽤函数以处理复杂的客⼾端执⾏流程,其中代理开发⼈员可能不理API执⾏(就像扩展的情况⼀样)。让我们考虑以下⽰例,其中⼀个代理正在接受培训成为旅•科罗拉多州克雷斯特巴特,美国•加拿⼤卑诗省惠斯勒•瑞⼠采尔⻢特虽然上述输出包含我们需要的数据(城市名称但格式),function_call{名称:"display_cities"参数:{}}种特定情况下,我们将调⽤⾕歌地点API,以获取模型提供的城市并查找图像,然后将它们作为图9中⽰例的结果是模型被利⽤来“填补空⽩”,提供客⼾端UI调⽤Goog参数。客⼾端UI使⽤模型返回的函数提供的参数管理实际的API调⽤。这只是函数调⽤的⼀个⽤例,但还有许多其他情景需要考虑,例如:•您希望语⾔模型建议可在您的代码中使⽤的函数,但⼜不希望在代码中包含凭据。由于函数•您正在运⾏可能需要超过⼏秒钟的异步操作。这些场景很适合函数调⽤,因为这是⼀项异关于函数的⼀个关键要点是,它们旨在为开发⼈员提供这不相关于代理可能采取的未来操作。但是,基于应⽤程序的架构,将外部API调⽤数据返回给代理以影响未来的推理、逻辑和⾏动选择可能是有意义的。最终,由应⽤要实现来⾃我们滑雪假期场景的上述输出,让我们扩展每个组件,使其与我们的Gemini⾸先,我们将定义我们的display_cities函数作为⼀个简单的Python⽅法。defdisplay_cities(cities:list[str],preferences:Optional[str]=None)参数:preferences(str):⽤⼾的搜索偏好,如滑雪、海滩、餐馆、烧烤等.cities(list[str]):推荐给⽤⼾的城市列表.返回:list[str]:推荐给⽤⼾的城市列表.接下来,我们将实例化我们的模型,构建⼯具,然后将⽤⼾的查询和⼯具传fromvertexai.generative_modelsimportGenerativeModel,Tool,FunctionDeclarationdisplay_cities_function=FunctionDeclaration.from_func(display_cities)tool=Tool(function_declarations=[display_cities_function])print(f"函数名称:{res.candidates[0].content.parts[0].function_}")print(f"函数参数:{res.candidates[0].content.parts[0].function_call.args}")>函数名称:display_cities>函数参数:{'preferences':'滑雪','cities':['Aspen','Vail',总之,函数提供了⼀个直观的框架,赋予应⽤程序开发⼈员对数据,同时有效地利⽤代理/模型进⾏重要输⼊⽣成。开发⼈员可以有选择性地选择是否通过返回外数据存储想象⼀个语⾔模型就像是⼀座庞⼤的图书馆,包含着其训练数据。但与持续同,这个模型保持静态,仅保存最初训练时的知识。这带来了⼀个挑战,因断演进。数据存储解决了这个限制,提供对更加动态和最新信息的访问,并考虑⼀个常⻅情景,开发⼈员可能需要向模型提供少量额外数据,也许以电⼦表格或PDF的数据存储允许开发⼈员以其原始格式向代理提供附加数据,消除了耗时的练或微调的需要。数据存储将传⼊的⽂档转换为代理可以使⽤的⼀组⽮在⽣成式AI代理的背景下,数据存储通常被实现为开发⼈员希望代理在运⾏时访问的⽮量数据库。虽然我们在这⾥不会深⼊介绍⽮量数据库,但需要理解的关键点是式存储数据,这是⼀种数据的⾼维向量或数学表⽰。近来语⾔模型与数•诸如PDF、Word⽂档、CSV、电⼦表格等格式的结构化数据•诸如HTML、PDF、TXT等格式的⾮结构化数据最终结果是⼀个应⽤程序,允许代理通过向量搜索将⽤⼾的查询与已内容,并将其提供给编排层和模型以进⾏进⼀步处理。下⼀步操作可能工具概述总之,扩展、函数和数据存储组成了⼏种不同类型的⼯具,供代•开发⼈员希望代理控制与API端点的交互•在利⽤本机预构建扩展•多跳规划和API调•安全或⾝份验证限制阻⽌代理直接调⽤API•时序约束或操作顺序约PI调⽤(即批量操作,⼈⼯复核等)问增强⽣成(RAG):•来⾃预索引域名和UR•结构化数据,如PDF、Word⽂档、CSV、电⼦表格等•HTML、PDF、TXT等格有效使⽤模型的关键在于其在⽣成输出时选择正确⼯具的能⼒,特时。虽然⼀般培训有助于模型培养这种技能,但真实场景通常需要将这看作是基本烹饪技能和掌握特定烹饪技艺之间的区别。两者都•上下⽂学习:这种⽅法在推断时为通⽤模型提供提⽰、⼯具和少量⽰例,使其能够‘即兴学习’如何以及何时使⽤这些⼯具来完成特定任务。ReAct•基于检索的上下⽂学习:这种技术通过从外部内存中检索最相关的信息、⼯具和相关⽰例动态填充模型提⽰。⼀个例⼦是VertexAI扩展中的‘⽰例存储’或之前提到的基于RA•基于微调的学习:这种⽅法涉及在推断之前使⽤更⼤的特定⽰例数据集对模型进⾏训练。这有•想象⼀位厨师收到了⼀个具体的⻝谱(提⽰)、⼀些关键的⻝材(相关⼯具)和⼀些⽰例菜肴(少量样本⽰例)从客⼾那⾥。基于这些有限的信息和厨师对烹•现在让我们想象⼀下我们的厨师在⼀个备有丰富⻝材的厨房⾥(外部数据存储⾥⾯装满各种⻝材和⻝谱书(⽰例和⼯具)。厨师现在能够动态地从⻝材库中选择⻝材和与客⼾的⻝谱和偏好相匹配。这使厨师能够利⽤现有知识和新知识创造出更具•最后,让我们想象我们把厨师送回学校学习⼀种新的烹饪或⼀套烹饪(在特定⽰例的更⼤数据集上进⾏预训练)。这使得厨师能够更深⼊地理解未来看不⻅的客⼾⻝这些⽅法各有独特的优势和劣势,涉及速度、成本和延迟等⽅⾯。然⽽,⼀个代理框架中,我们可以利⽤各种优势同时减少其为了提供⼀个真实的代理⽰例,我们将使⽤LangChain和LangGraph库快速构建原型。这些流⾏的开源库允许⽤⼾通过“链式”连接⼀系列逻辑、推理和⼯具调⽤我们将使⽤SerpAPI(⽤于⾕歌搜索)和GooglePlacesAPI这些⼯具。在执⾏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。基于LangChain和LangGraph的智能体与⼯具{...结果:"NCAADivisionIFootball,Georgia,⽇期..."}参数:查询:乔治亚⼤学⽃⽜⽝体育场名称:地点{...桑福德体育场地址:100Sanford...}乔治亚⼤学⽃⽜⽝体育场的地址是100SanfordDr,Athens尽管这是⼀个相当简单的代理⽰例,但它展⽰了模型、编排和⼯具的⼾界⾯、评估框架和持续改进机制。Google的Vertex之前提到的所有基本元素简化了这个过程。开发⼈员可以使⽤⾃然语⾔界统⾏为。此外,该平台配备了⼀套开发⼯具,允许进⾏测试、评估、衡量提⾼所开发代理的总体质量。这使开发⼈员能够集中精⼒构建和完善他们AI平台,其中使⽤了诸如VertexAgentBuilder、VertexExtensions、VertexFunctionCalling和VertexExampleStore等各种功能。这个架构包括许多⽤于⽣产就绪应⽤程序所必需的各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度兼职教师学术讲座与研讨会组织合同3篇
- 2025年外墙装饰设计与施工一体化工程合同3篇
- 2025年度智能环保彩钢房安装与运营服务合同3篇
- 2024版药品货物运输服务合同范本
- 二零二五年度房地产开发场地地质勘查与施工监理合同3篇
- 2025年度房屋抵押经营性借款合同细则3篇
- 二零二五年度安全设施安装与维护责任合同2篇
- 二零二五年度农村合作社农业废弃物资源化利用合同
- 2025年度网约车平台搭车安全免责服务协议3篇
- 二零二五年度商业步行街摊位转租管理合同3篇
- 评判创业计划书
- 银行信访工作培训课件
- 北京市西城区2023-2024学年部编版七年级上学期期末历史试卷
- T-CPIA 0054-2023 光伏发电系统用柔性铝合金电缆
- 广东省博物馆
- 徐州市2023-2024学年九年级上学期期末道德与法治试卷(含答案解析)
- 农业信息化实现农业现代化的数字化转型
- 《义务教育道德与法治课程标准(2022年版)》
- 20以内退位减法口算练习题100题30套(共3000题)
- 调味品年终总结汇报
- 无人机遥感技术与应用
评论
0/150
提交评论