本文档提供了一个多智能体系统的高级架构,该系统将分散的多模态数据整合到可搜索的知识图谱中。该系统支持用户上传数据,然后使用知识图谱来识别潜在问题或系统性风险。借助该架构,智能体可以浏览复杂的数据网络并保持长期个性化。它可确保分布式资源与搜索要求持续匹配。
GraphRAG 是一种基于图的检索增强生成 (RAG) 方法。 RAG 通过使用向量搜索检索到的上下文相关数据来增强提示,从而帮助 AI 生成的回答建立依据。GraphRAG 将向量搜索与知识图谱查询相结合,以检索能够更好地反映来自不同来源的数据之间互连性的上下文数据。 使用 GraphRAG 增强的提示可以生成更详细、更相关的 AI 回答。
本文档的目标受众群体包括在云端构建和管理 AI 基础架构和应用的架构师、开发者和管理员。本文档假定您对 AI 智能体和模型有基本的了解。本文档未提供有关设计和编写 AI 智能体的具体指导。
本文档的部署部分提供了一个代码示例 ,演示了如何定义 Spanner Graph 架构并关联 多模态实体以进行智能体检索。
架构
下图简要展示了支持多模态 GraphRAG 资源编排的多智能体 AI 系统的架构:
上图中的架构包含两个工作流:数据注入和搜索。
- 数据注入 工作流将分散的多模态记录整合到统一的知识图谱中。此工作流使用顺序多智能体模式将原始数据上传到 Cloud Storage,使用 Gemini 提取复杂关系,并更新 Spanner Graph 知识图谱,以确保数据可供检索。
- 借助搜索 工作流,您可以通过 GraphRAG 流程检索洞见和基于依据的回答。此工作流使用 Gemini 和专用子智能体来浏览知识图谱,并根据之前的会话数据整合调查结果。
以下标签页提供了展示数据注入和搜索工作流的架构:
数据注入工作流
下图展示了数据注入工作流的详细架构。
上图显示了以下数据流:
- 用户与 Web 应用互动以上传新数据。例如, 财务分析师可能会上传收益 PDF、股东大会录音或市场表现图表。
- Web 应用将请求转发给根智能体。根智能体 是一个协调器 智能体,用于接收请求并部署在Cloud Run 服务上。
- 根智能体从记忆库 检索持久性会话数据,以根据用户在过去 会话中的偏好设置个性化搜索结果。
- 根智能体使用 Gemini Enterprise Agent Platform 上的 Gemini 来 解读请求,并将任务委托给多媒体智能体以 执行数据注入流水线。
- 多媒体智能体启动 顺序模式,并将原始输入转发给上传智能体。
- 上传智能体执行以下任务:
- 将原始文件存储在 Cloud Storage 存储桶 并检测媒体类型。
- 将执行的操作的中间摘要转发给 提取智能体。
- 提取智能体执行以下任务:
- 从存储桶提取数据 URI,并使用 Gemini 解析数据和识别结构化 实体。例如,财务数据的实体可以包括 公司子公司、财政季度和收入情绪。
- 将结构化实体和执行的操作的中间摘要 转发给图智能体。
- 图智能体执行以下任务:
- 接收结构化实体并将数据上传到知识 图谱。Spanner Graph 会创建或链接表示发行方、利益相关者和市场 工具的节点。
- 将执行的操作的中间摘要转发给 摘要智能体。
- 摘要智能体生成一个回答,其中包含 注入结果的文本摘要以及所有子智能体执行的操作。摘要智能体会将回答发送给多媒体智能体。
- 多媒体智能体会将摘要回答转发回根 智能体。
- 根智能体会触发 回调函数,以将会话数据保存到 Gemini Enterprise Agent Platform 会话 。根智能体会从会话中提取自定义 记忆主题,以保存有关关键关注 领域的信息。例如,财务分析师可能会创建一个记忆主题来跟踪 监管标志或行业趋势。
- 根智能体会将摘要回答转发给 Web 应用。
- Web 应用会将回答转发回用户。
搜索工作流
下图展示了搜索工作流的详细架构。
上图显示了以下数据流:
- 用户向 Web 应用发起搜索请求。例如,投资组合经理提交请求,以检测在 24 小时内涉及三个以上实体且总交易量超过 100 万美元的任何循环交易模式。
- Web 应用将请求转发给根智能体。根智能体 是一个 协调器智能体,用于接收请求并部署在Cloud Run 服务上。
- 根智能体从记忆库 检索持久性会话数据,以根据投资组合经理的历史 偏好设置和患者背景信息个性化搜索结果。
- 根智能体使用 Agent Platform 上的 Gemini 来
确定最佳搜索策略:
- 关键字搜索:使用 SQL
LIKE子句来匹配 确切的类别或位置。 - 语义 RAG 搜索:使用 嵌入模型和 余弦 距离来查找语义相似的数据条目。
- 混合搜索:执行关键字搜索和语义 RAG 搜索 并使用倒数 排序融合 (RRF)合并结果,以确保高相关性和覆盖率。
- 关键字搜索:使用 SQL
- 根智能体对存储在 Spanner Graph 中的知识 图谱执行适当的搜索策略。
- 知识图谱将搜索结果转发给根智能体。
- 根智能体执行以下任务,以更新智能体 AI 系统
来响应应用:
- 触发 回调函数,以将会话数据保存到 Gemini Enterprise Agent Platform 会话上的 Agent Runtime。
- 从会话中提取自定义 记忆 主题。例如,财务分析师可能会创建一个记忆主题来跟踪监管标志或新兴行业趋势。
- 将摘要回答转发给 Web 应用。
- Web 应用会将回答转发回用户。
使用的产品
此参考架构使用以下 Google Cloud 产品和功能:
- Cloud Run:一个无服务器计算平台,可让您直接在 Google 可伸缩的基础设施之上运行 容器。
- Gemini:Google 开发的多模态 AI 模型系列。
- Gemini Enterprise Agent Platform:一个综合性平台,可让您构建、扩缩、治理和优化企业级 AI 智能体。
- Cloud Storage:适用于各种数据类型的费用低廉且不受限制的对象存储区。数据可从 内部和外部访问 Google Cloud,并且 跨位置进行复制以实现冗余。
- Spanner Graph:一个图数据库,提供 Spanner 的可伸缩性、可用性和 一致性功能。
- Gemini Enterprise Agent Platform 会话:一种持久性存储服务,用于保存和 检索用户与智能体之间的互动历史记录。
- 记忆库:一种持久性存储服务,可根据用户与智能体的对话生成、优化、 管理和检索长期记忆。
如需了解有关为智能体 AI 系统选择替代组件(包括框架、智能体运行时、工具、记忆和设计模式)的信息, 请参阅 选择智能体 AI 架构组件。
使用场景
该架构专为整合和分析分散的多模态数据以优化资源分配和信息检索的使用场景而设计。通过维护独立的子智能体,该系统支持模块化更新,并确保分布式资源与搜索要求持续匹配。将 Spanner Graph 集成作为知识图谱,使智能体 AI 系统能够对复杂的互连数据进行建模。这种集成有助于实现丰富的上下文理解和复杂的查询功能,而使用关系型数据库或 NoSQL 数据库可能难以实现或效率低下。
对于以下使用场景,图数据库非常适合表示从多模态数据派生的任意和不断发展的连接。否则,这些连接将需要在关系型数据库中进行复杂且严格的架构管理。
以下是本文档中描述的架构的使用场景示例:
- 企业人力资源人才流动:通过 语义扩展识别符合条件的内部候选人,从而改进大规模 招聘搜索的关键字搜索。该架构从多模态投资组合和视频简介中提取技术技能和软技能评估,以构建全面的人才图谱。Spanner 知识图谱跟踪员工、能力和项目历史记录之间的关系。跟踪结果根据概念深度识别专家,并标记人员不足的项目。
- 社交媒体内容分析:通过 在社交媒体平台上执行高级内容发现和网络分析 ,识别特定记忆或趋势。该系统会处理视频、语音备忘录和视频博客等上传内容,然后提取实体、主题、情绪和提及内容。Spanner 知识图谱跟踪用户、其连接(好友和关注者)、帖子、点赞、评论、共享主题和趋势之间的关系。
设计考虑事项
以下部分提供了有关设计 AI 智能体和为生产环境实现此架构的一般建议。
AI 智能体设计
如需提高智能体的费用和性能,请考虑以下建议:
- 智能体系统设计:将复杂的工作流分解为多个 具有明确职责的专用智能体,而不是使用单一的整体 智能体。这种关注点分离简化了提示工程,最大限度地减少了指令漂移,并实现了精细的模型伸缩。该架构将大量明确定义的任务路由到较小、更快的模型,同时为高容量模型保留复杂的推理。
- 根智能体路由:如需最大限度地减少延迟并避免不必要的子智能体 调用,请在智能体指令中明确定义路由逻辑。确保每个工具的用途、输入参数和预期输出都记录在字符串字面量中,以帮助模型选择正确的工具。
- 工具设计:将工具划分为多个专注的方法,而不是 使用单一的整体方法。这种方法可确保代码库的一致性,减少逻辑分支,并启用特定的优化路径,例如在调用直接搜索方法时跳过查询分析。
- 智能体上下文:如需防止下游智能体在顺序流水线中针对 上游数据重复查询,请通过 智能体状态传递足够的上下文。为共享状态使用明确定义的 JSON 结构,以便每个智能体都能可靠地解析数据。
- 会话状态存储:使用会话状态存储即时对话 记录,并使用记忆库存储跨会话提取的事实。在会话开始时注入记忆上下文,以便智能体无需重新处理冗长的对话记录即可引用偏好设置。
- 记忆质量:如果用户的偏好设置或角色随时间变化,允许用户 清除或更新过时的记忆 。
- 数据库内 AI 模型:如需减少延迟,请使用 Spanner
ML.PREDICT函数在 SQL 查询中内联调用模型。监控 Agent Platform 配额使用情况,因为混合搜索工作负载可能会为每个查询触发多个模型调用。
生产环境设计
如需为生产环境实现此架构,请考虑以下建议:
- 实现精细的访问权限控制:使用 精细的访问权限控制在表级和列级授予访问权限。限制 Cloud Storage 存储桶政策,以便只有 Cloud Run 服务帐号具有访问权限。
- 清理推理和回答:使用 Model Armor检查 和清理推理请求和模型回答。这种清理可以缓解用户上传的多模态内容带来的提示注入风险。它还有助于防止在智能体输出中意外泄露个人身份信息 (PII) 或敏感数据。
- 实现智能体重试逻辑:如需处理配额限制等暂时性错误, 请为对 Agent Platform 端点和 Spanner 的调用实现具有指数退避算法的重试逻辑。
- 设置文件限制:如需避免因大文件而导致 API 超时,请设置明确的 上传大小限制,并在提取数据实体之前将大型视频分成多个 块。如需了解详情,请参阅自定义视频处理。
- 费用分析和管理:如需分析和管理 Agent Platform 费用,我们建议您为每秒查询次数 (QPS) 和每秒令牌数 (TPS) 创建基准指标。然后在部署后监控这些指标。您在费用管理过程中创建的基准可以帮助您确定容量规划。例如,基准 可以帮助您确定何时 预配吞吐量 可能需要。
- 自动执行存储生命周期:如需降低存储费用,请使用 对象生命周期管理在定义的保留期后将文件移动到 Nearline 或 Coldline 存储类别。
- 使用结构化日志记录:使用结构化元数据记录所有智能体工具调用和流水线 结果。 借助结构化日志,您可以在 Cloud Monitoring中查询日志和信息中心。
- 实现跟踪:如需诊断延迟热点,请使用 Cloud Trace捕获智能体运行程序和工具执行过程中的端到端请求跟踪记录。
- 评估智能体质量:使用 Gen AI Evaluation Service 定期评估智能体输出 质量,以验证工具选择轨迹和回答 质量。
- 资源分配:根据性能要求,配置 要分配给 Cloud Run 服务的内存限制和 CPU 限制。
如需详细了解构建和部署多智能体 AI 系统的设计因素、最佳实践和建议 ,请参阅 中的多智能体 AI 系统 Google Cloud。
部署
如需部署此架构的示例实现,请尝试 Way Back Home Level 2 Codelab。
后续步骤
- 了解如何在 Cloud Run 上托管 AI 智能体。
- 了解如何使用 Agent Platform 和 Spanner Graph 为生成式 AI 构建 GraphRAG 基础架构。
- 了解设计 Spanner Graph 架构的最佳实践。
- 了解如何获取多模态嵌入。
- 了解如何在构建多智能体 AI 系统 Google Cloud。
- 探索学习资源,以使用 Gemini Enterprise Agent Ready (GEAR)构建和部署企业级智能体。
- 如需简要了解中特定于 AI 和机器学习工作负载的架构原则和建议,请参阅 Well-Architected Framework 中的 AI 和机器学习视角 。 Google Cloud
- 如需查看更多参考架构、图表和最佳实践,请浏览 Cloud 架构中心。
贡献者
作者:
- Annie Wang | 软件工程师
- Samantha He | 技术文档工程师
其他贡献者:
- Christina Lin | 开发者关系工程师经理
- Kumar Dhanagopal | 跨产品解决方案开发者
- Olivier Bourgeois | 开发者关系工程师