ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

LlamaIndex AgentMesh 集成实战:为 RAG 与 Agent 工作流注入 Ed25519 密码学身份与信任门控

LlamaIndex AgentMesh 集成实战:为 RAG 与 Agent 工作流注入 Ed25519 密码学身份与信任门控 LlamaIndex AgentMesh 集成实战为 RAG 与 Agent 工作流注入 Ed25519 密码学身份与信任门控【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit导读本文围绕 Agent Governance Toolkit 仓库中 llamaindex-agentmesh 集成 展开讲解如何将 AgentMesh 的信任层trust layer接入 LlamaIndex为 Agent 提供密码学身份、信任验证与访问控制。读完本文你将掌握TrustedAgentWorker、TrustGatedQueryEngine、TrustHandshake、DataAccessPolicy等组件的完整用法与底层实现原理能够直接为现有 LlamaIndex 应用加上无身份不查询、低信任不执行、越权不放行的治理能力。集成概览为什么 LlamaIndex 需要信任层LlamaIndex 擅长构建 RAG 流水线与 Agent 工作流但其默认模型是谁调用谁可信——任意客户端都可以直接调用查询引擎、驱动 Agent 执行工具。在多 Agent 协作、跨组织数据访问等真实场景中这带来了三个缺口无身份认证无法确认查询发起方是谁无信任门槛无法按信任分数或能力集限制执行无审计痕迹查询与任务执行不可追溯。llamaindex-agentmesh 集成正是为此设计提供三大能力对应源码中init.py 导出的全部公开 APITrustedAgentWorker带密码学身份与信任验证的 Agent workerTrustGatedQueryEngine基于信任的查询引擎访问控制Secure Data Access面向 RAG 管道的基于身份的治理层DataAccessPolicy。此外还提供TrustHandshake对等验证协议、TrustedAgentCardAgent 发现卡片、DelegationChain能力委托链等信任基础设施。安装与版本注意集成包位于 agent-governance-python/agentmesh-integrations/llamaindex-agentmesh官方推荐安装方式pip install llama-index-agent-agentmesh版本与迁移提示以仓库当前状态为准该目录的 pyproject.toml 显示当前包llamaindex_agentmesh版本为 5.0.0且已被标记为 Deprecateddeprecated stub实际安装目标是统一发行版pip install agent-governance-toolkit-integrations[llamaindex]5.0.0,6.0同时该包直接钉住llama-index-core0.12,0.13。原因在 pyproject.toml 注释中有明确说明TrustedAgentWorker从llama_index.core.agent导入AgentRunner而上游在 llama-index-core 0.13 中移除了该导出统一发行版 extra 只把 llama-index-core 限制在1.0若不加此 pinCI 会解析到 0.14 导致导入失败。因此使用本集成时请确保 llama-index-core 落在 0.12.x 区间详见仓库 package-consolidation 迁移说明。快速开始以下三段代码覆盖集成文档的完整 Quick Start均已对照源码验证可用。创建可信 AgentTrustedAgentWorkerfrom llama_index.agent.agentmesh import TrustedAgentWorker, VerificationIdentity # 生成密码学身份 identity VerificationIdentity.generate( agent_nameresearch-agent, capabilities[document_search, summarization], ) # 创建可信 agent worker worker TrustedAgentWorker.from_tools( tools[search_tool, summarize_tool], identityidentity, llmllm, ) # 创建带信任验证的 agent agent worker.as_agent()as_agent()最终返回 LlamaIndex 的AgentRunner见 worker.py因此它无缝兼容 LlamaIndex 既有的 Agent 调用方式。信任门控查询引擎TrustGatedQueryEnginefrom llama_index.agent.agentmesh import TrustGatedQueryEngine, TrustPolicy # 用信任策略包装查询引擎 trusted_engine TrustGatedQueryEngine( query_enginebase_engine, identityidentity, policyTrustPolicy( min_trust_score0.8, required_capabilities[document_access], audit_queriesTrue, ), ) # 查询需要验证身份 response trusted_engine.query( What are the quarterly results?, invoker_cardrequester_card, )注意README 中该示例只传了query_engine与policy而源码 query_engine.py 的构造函数实际要求identity: VerificationIdentity为必填参数用于内部构建TrustHandshake。实际使用时请一并传入本引擎所属的identity。多 Agent 信任交接TrustHandshakefrom llama_index.agent.agentmesh import TrustHandshake, TrustedAgentCard # 创建用于发现的 Agent 卡片 card TrustedAgentCard( nameresearch-agent, descriptionPerforms document research, capabilities[search, summarize], identityidentity, ) card.sign(identity) # 交接任务前验证对端 handshake TrustHandshake(my_identityidentity) result handshake.verify_peer(peer_card) if result.trusted: # 可以安全地委派任务 pass核心能力详解TrustedAgentWorker身份即执行前提worker.py 中TrustedAgentWorker实现 LlamaIndex 的BaseAgentWorker关键行为自带密码学身份构造时用VerificationIdentity作为本 Agent 身份自动签发 Agent 卡片构造时调用_create_agent_card()生成并签名TrustedAgentCardagent_card属性可随时导出用于发现执行前验证调用方run_step/arun_step中读取kwargs.get(invoker_card)若policy.require_verification为真且提供了invoker_card先verify_peer(invoker_card)验证失败且policy.block_unverified为真时直接抛出PermissionError拒绝任务同步/异步/流式全支持run_step、arun_step、stream_step、astream_step四个入口全部实现了信任验证逻辑。TrustGatedQueryEngine查询级访问控制query_engine.py 中TrustGatedQueryEngine继承 LlamaIndexBaseQueryEngine在_query/_aquery内部执行统一流程若policy.require_verification为真且未提供invoker_card当data_policy.require_identity为真时抛PermissionError默认要求身份提供了invoker_card则调用verify_invoker()走TrustHandshake.verify_peer()完整验证验证失败且block_unverified为真时拒绝查询并记录警告通过后委托底层query_engine.query()执行若audit_queries开启生成QueryAuditRecord写入审计日志。引擎还提供get_audit_log()、clear_audit_log()、get_audit_summary()三个审计接口get_audit_summary()会返回总查询数、已验证数、未验证数、验证率与总警告数。数据访问治理DataAccessPolicyfrom llama_index.agent.agentmesh import DataAccessPolicy policy DataAccessPolicy( allowed_collections[public, internal], denied_collections[confidential], require_auditTrue, max_results_per_query100, ) # 将策略应用到索引 trusted_index TrustedVectorStoreIndex( indexbase_index, policypolicy, )DataAccessPolicy在源码中是一个纯数据类dataclass字段含义如下字段默认值说明allowed_collectionsNone允许访问的集合白名单None表示不限制denied_collectionsNone禁止访问的集合黑名单require_auditFalse是否要求审计留痕max_results_per_query100单次查询最大结果数allowed_metadata_filtersNone允许使用的元数据过滤器白名单require_identityTrue是否强制要求查询方提供身份信任协议源码级解析Ed25519 身份与 DID安全模型采用 Ed25519 密码学依赖cryptography库对应 identity.pyIdentity Generation唯一 DIDVerificationIdentity.generate()用agent_name time_ns的 SHA-256 哈希前 32 字符生成did:verification:hash格式的 DID并现场生成 Ed25519 密钥对公私钥以 Base64 保存Request Signing请求签名sign()用私钥对任意字符串数据签名产出VerificationSignature含algorithmverification-Ed25519、公钥、签名、UTC 时间戳Response Verification响应验证verify_signature()校验签名与公钥是否匹配捕获InvalidSignature/ValueError后返回Falsepublic_identity()返回剥离私钥的公开身份副本用于对外分发而不泄露私钥。TrustHandshake对等验证的完整流程trust.py 中verify_peer()按序执行六步校验任何一步失败立即返回TrustVerificationResult(trustedFalse, ...)缓存命中检查若该 DID 在cache_ttl_seconds内已验证过直接返回缓存结果默认缓存 900 秒可用clear_cache()清空身份存在性peer_card.identity为空则拒绝No cryptographic identity providedDID 格式必须以did:verification:开头否则拒绝Invalid DID format卡片签名peer_card.verify_signature()失败则拒绝Card signature verification failed——签名内容是对 name、description、排序后的 capabilities、trust_score 与身份 DID/公钥的 JSON 序列化信任分数门槛peer_card.trust_score min_score则拒绝其中min_score可显式传入或取TrustPolicy.min_trust_score默认 0.7能力校验若传入required_capabilities缺失任何一项则拒绝并列出缺失集合。TrustPolicy 参数说明TrustPolicy是一个 dataclass控制整个信任验证行为字段默认值说明require_verificationTrue是否要求验证查询/任务发起方min_trust_score0.7最低信任分数阈值allowed_capabilitiesNone允许的能力白名单audit_queriesFalse是否记录查询审计日志block_unverifiedTrue未通过验证时是否直接拒绝fail-closedcache_ttl_seconds900对等验证结果的缓存有效期秒其中block_unverifiedTrue配合验证失败即抛PermissionError的行为体现了仓库一贯的 fail-closed 安全原则参见 ADR-0013策略评估错误时默认拒绝。DelegationChain能力委托链除 README 列出的类外集成还提供了DelegationChain在 trust.pyadd_delegation()允许根身份将若干能力委托给带身份的TrustedAgentCard支持expires_in_hours设置过期时间委托数据由委托方私钥签名verify()沿链逐条校验任一委托过期、缺失签名、签名验证失败或第 i 条委托的 delegator 不是第 i-1 条的 delegatee链断裂则整体验证失败。这为根 Agent 授予子 Agent 有限能力、子 Agent 再向下委托的多级协作场景提供了可验证的信任传递机制对应仓库 ADR 中委托时信任上限传播的设计思想ADR-0016。API 参考含源码补充README 的 API 表基于init.py 的公开导出此处补充实际字段与职责类说明关键成员源码补充VerificationIdentity密码学 Agent 身份Ed25519 密钥对 DIDgenerate()、sign()、verify_signature()、public_identity()、to_dict()/from_dict()VerificationSignature签名载体算法、公钥、签名、时间戳to_dict()/from_dict()可序列化传输TrustedAgentWorker带信任验证的 Agent workerfrom_tools()、as_agent()、verify_peer()、agent_cardTrustGatedQueryEngine带访问控制的查询引擎query()/aquery()均可传invoker_card、verify_invoker()、get_audit_log()、get_audit_summary()TrustHandshake对等验证协议verify_peer()、clear_cache()TrustedAgentCardAgent 发现卡片sign()、verify_signature()、to_dict()/from_dict()TrustPolicy信任验证策略6 个可配置字段见上文参数表TrustVerificationResult验证结果trusted、trust_score、reason、verified_capabilities、warningsDataAccessPolicyRAG 数据访问治理6 个可配置字段见上文参数表QueryAuditRecord单条查询审计记录query_id、invoker_did、trust_verified、trust_score、result_count、warningsDelegationChain能力委托链add_delegation()、verify()与 Agent Governance Toolkit 的关系该集成是 AgentMesh Integrations 家族的一员与 LangChain、LangGraph、OpenAI Agents、Dify 等平台插件并列共享同一套 Ed25519 身份与信任语义。集成目录说明其状态为 Merged Upstreamllama-index-agent-agentmesh当前仓库内实现作为迁移前的独立版本保留。如果希望在 Agent OS 内核层面获得更完整的治理能力策略执行、沙箱、审计可进一步阅读 agent-os 与 policy-engine 的框架适配器实现。许可证本集成遵循 MIT License详见 LICENSE。【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表