SuperAPI AI 工具集

langchain-enterprise-rbac

智能体与模型

查看项目

更新于 10-15 23:27

技能介绍

用途:解决 LangChain 1.0 链与 LangGraph 1.0 智能体在生产中的多租户隔离与基于角色的访问控制问题,核心是修复“导入期绑定检索器”导致的跨租户泄漏(痛点 P33)。

主要能力:一、按请求构建检索器,从 RunnableConfig.configurable["tenant_id"] 读取租户,禁止模块级单例,缺失租户时抛 PermissionError 而非默认回退。二、向量库隔离选型:Pinecone 用 namespace=tenant_id;PGVector 用行级安全(RLS)配合 SET LOCAL app.tenant_id;Chroma 按租户建 collection;FAISS 仅适合单租户评估。三、按请求构建智能体,仅传入当前角色允许的工具,禁止工具不传给 create_agent,模型无法调用;可另加参数黑名单限制危险参数。四、按 tenant_id 作用域限流与预算,多进程需用 Redis 后端。五、结构化审计日志,成功与失败路径均输出,必填 user_id、tenant_id、chain_name、outcome、latency_ms、trace_id。六、双租户 pytest 回归测试,断言检索结果 ID 不重叠。

使用方式:需 Python 3.10+,langchain-core 与 langgraph 1.0.x,至少一种向量库后端(pinecone-client、langchain-postgres、chromadb 或 faiss-cpu),结构化日志输出,以及每个请求携带租户授权声明(如 JWT tid)。按步骤将检索器工厂移入调用内、选定隔离原语、按角色构建智能体、按租户限流、用 try/finally 输出审计日志、在 CI 运行双租户测试。

适用场景:B2B SaaS 多租户 RAG 与智能体应用,需满足 SOC2 等合规审计。

限制:认证边界不在本技能范围内;FAISS 不适合多租户生产;InMemoryRateLimiter 仅进程内有效;审计日志不得记录原始提示内容以防 PII 泄漏。具体价格与平台支持暂未提供。