使用细粒度授权保护你的 RAG 管道
TIP
原文:authzed.com/docs | English
概述
本教程演示如何使用 SpiceDB 保护 RAG(检索增强生成)管道中的敏感数据。本指南将教你使用授权对象 ID 对向量数据库查询进行前置过滤和后置过滤,以增强安全性和效率。
使用的技术: OpenAI、Pinecone、LangChain、Jupyter Notebook 和 SpiceDB
为什么这很重要
构建企业级 AI 系统在数据安全、准确性、可扩展性和集成方面面临重大挑战——尤其是在医疗保健和金融等受监管行业。组织正在围绕 RAG 实施护栏,以降低与 LLM 相关的风险,特别是敏感数据外泄和个人身份信息泄露方面。
主要的缓解策略是构建具有"高级细粒度授权能力(如返回已授权主体列表和可访问资源列表)"的权限系统。这确保了对已授权数据的及时访问,同时防止敏感信息外泄,并在大规模场景下提升 RAG 的效率和性能。
前提条件
- 可用的 SpiceDB 实例(安装说明)
- Pinecone 账户及 API 密钥
- OpenAI Platform 账户及 API 密钥
- 本地运行的 Jupyter Notebook
设置说明
运行 SpiceDB
使用以下命令启动本地 SpiceDB 实例:
bash
spicedb serve --grpc-preshared-key rag-rebac-walkthrough获取 Jupyter Notebook
- 从 GitHub 克隆 workshops 仓库
- 进入
secure-rag-pipelines目录 - 使用
jupyter 01-rag.ipynb或python3 -m notebook启动 notebook
实现指南
本教程包含一个逐步骤的 Jupyter Notebook,提供了为 RAG 管道添加细粒度授权的完整实现说明。
替代 LLM 选项
如需使用 DeepSeek 或其他 LLM 替代 OpenAI,请参阅 workshops 仓库的 DeepSeek 分支。该替代实现通过 OpenRouter 使用 DeepSeek LLM,同时保持相同的核心方法。