来源:互联网 更新时间:2026-07-11 14:09
访问控制并不是什么新鲜概念。对熟练的程序员而言,很容易想到RBAC、ABAC、PBAC等多种方案,结合具体场景做基于角色、属性、策略的各类访问控制。
其实,在LLM RAG应用的背后,通常会有一个存放各类原始企业知识文档的存储层。如果直接在知识库层面动手,权限控制的粒度可以一直做到文档级别。手段也很多:比如划分知识库、建立多级文件夹、打标签等。通过这些方式,可以强制限制RAG应用只在指定范围内进行检索。举个例子,阿里云百炼模型服务平台1.0版就采用了打标签的方式——把上传到知识库的文档通过标签归类聚合,然后限制RAG应用只能在那个范围里进行知识问答。
知识库里的文档经过分块、Embedding后,向量数据被存入用于提供检索功能的向量数据库。你可以立刻想到一个更灵活的思路:在检索向量数据库时做访问控制,根据当前用户的角色权限,只检索出他有权访问的向量数据交给LLM。有些向量数据库本身就已经支持基于身份的权限访问控制,比如Zilliz的RBAC实践。但更多时候,需要与应用结合得更紧密、更灵活,那就要在向量数据库的数据中增加元数据(metadata)。把数据密级、分类、单位部门、时间、地点等信息都放进metadata里,后续在检索时直接做查询过滤。
比方说,可以在向量数据库中增加如下的metadata信息:
```cs
collection.add(documents=["这是公司2023年上半年的公开财报。财报中针对..."],
metadatas =[{"auth_level": 1, "category": "公司财报", "department": "IR", "role":"all", "year": "2023"}],
ids="id1")
collection.add(documents=["2023年饮料事业部内部经营分析报告,针对事业部在2023年的经营策略..."],
metadatas =[{"auth_level": 2, "category": "经营分析报告", "department": "饮料事业部", "role":"bev|ir|IT|sec", "year": "2023"}],
ids="id2")
collection.add(documents=["机密:公司未来一年的重点投资方向和投资策略..."],
metadatas =[{"auth_level": 3, "category": "投资策略", "department": "投资部", "role":"hqhead|boardsmembers", "year": "2024"}],
ids="id3")
```
接下来,写一个检索函数,简单根据前端应用传入的授权级别做数据查询过滤:
```python
def vector_search_with_rbac(query_text, user_auth_level):
if not isinstance(user_auth_level, int) or user_auth_level < 0:
raise ValueError("Invalid user_auth_level. Must be a non-negative integer.")
try:
results = collection.query(query_texts=[query_text],n_results=10, where={"auth_level": user_auth_level})
return results
except Exception as e:
print(f"An error occurred: {e}")
return []
```
可以基于上面的思路进一步扩展,根据前端应用传入的时间地点、分类类别、单位部门、角色岗位等元数据信息,做各种数据查询过滤,确保当前用户只能得到他有权限知道的回答内容。
至于元数据的内容,既可以把第一环节知识库中配置好的权限转化过来存入,也可以直接根据前端应用中的权限配置信息转化后存入。
总的来说,对于企业级RAG应用来说,权限访问控制是绕不过去的一关。只有做好了这一步,才能让RAG应用更放心地投入生产使用。 俄罗斯最大yandex入口外贸日报直达链接
Bubbly无法连接服务器修复方法
盖乐世社区怎么删除帖子?盖乐世社区个人发布内容撤回步骤
美好的简约网名男生(精选100个)
新浪人工智能热点小时报丨2026年06月20日02时_今日实时人工智能热点速递
问题:CIA币好不?Cia Protocol币今日上线:价格预测、代币经济学和未来潜力
国际贵金属走低,现货黄金价格跌0.49%
欧易OKX官方网站直达入口 2026欧易官方App安卓版v7.1.0下载安装
倒数日怎么注册 倒数日账号注册教程
币安Binance官方中文网站 币安App最新版下载及新手注册指南
动漫《KiraKira 光之美少女 A La Mode》剧情介绍
币安Binance交易所官方入口 币安App下载安装与实名注册教程
Siren (SIREN)币价格预测 2026-2050:SIREN 股价会很快达到 1.5 美元吗?
高质量网名伤感男生英文(精选100个)
淘宝直播如何看回放在哪里看?怎么查看淘宝直播回放
《梦幻西游》特殊鬼怪怎么抓-隐藏变异鬼应对要点
以太坊(ETH)未来数周或持续呈现低迷态势,多重因素制约价格走势
漫威新剧《钢铁侠和他的超能朋友们》今日炸更11集,Thor和Loki惊喜客串
动漫《欢迎来到实力至上主义教室》剧情介绍
七麦数据官网网页地址 七麦数据官方入口在线首页
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc