当前位置: 首页 > news >正文

p2p网站制作郑州网站建设需要注意哪些

p2p网站制作郑州,网站建设需要注意哪些,个人开通微信小程序,运城网站建设一、前言 继上篇文章:AI科研助手开发总结:向量与数据权限的应用(一) 本章根据向量库内存储数据及权限,向量库统一维护和管理数据权限方案讨论。 二、方案分析-基于向量Fields 2.1 思路 结合橙语AI科研助手的业务场…

一、前言

继上篇文章:AI科研助手开发总结:向量与数据权限的应用(一)

本章根据'向量库内存储数据及权限,向量库统一维护和管理数据权限'方案讨论。

二、方案分析-基于向量Fields

2.1 思路

结合橙语AI科研助手的业务场景,提出基于向量Fields解决数据权限。

2.2 分析

根据向量数据库的特性和存储结构,存储时主要包括向量数据和属性,属性是KeyValue结构,可根据业务需求自定义设置。

在存储数据向量时,将权限抽象为标签,以标签形式设置到属性字段中,后续检索时,可根据权限属性进行过滤,达到数据权限效果。

2.3 设计

数据类型:公开数据、非公开数据(部分人可见、部分组可见、部分部门可见)

通过Fields属性,设置固定标签属性,以区别是否为公开数据;通过动态标签属性,区别数据对哪些人、部门或组可见。

  1)固定标签

  • 公开数据标签:isPublic,值为1.

  • 非公开数据标签:isPublic,值为0. (此时,需设置动态标签)

  2)动态标签

将可见标签作为动态属性,值设置为1。当向量数据的可见性发生变化时,更新动态属性。

  • 个人标签格式:AT-USERID-值 ,例如:AT-USERID-989121,值为1

  • 部门标签格式:AT-DEPID-值, 例如:AT-DEPID-908234,值为1

  • 组标签格式:AT-GROUPID-值, 例如:AT-GROUPID-432122,值为1

3)标签属性条件过滤

isPublic=1 or AT-GROUPID-9890=1 or AT-DEPID-9899=1

三、方案实现

3.1 基础数据类型

调研了阿里DashVector、百度VectorDB、Chroma,支持的基础数据类型:int、str、boolean。本文以DashVector为例。

3.2 公开数据检索

1. 业务数据

{ "id": 1, "query": "应届生实习", "title": "实习生招聘-应届生求职网", "fileId": "7146C7155D1DD6C76671BB4F7B871BFB", "isPublic": 1 }

       

2. 向量化数据

ret = collection.insert( [ ('1', generate_embeddings("实习生招聘-应届生求职网"),{'title':'实习生招聘-应届生求职网', 'fileId':'7146C7155D1DD6C76671BB4F7B871BFB','isPublic': 1}), ('2', generate_embeddings("快快乐乐出门咒-豆丁网"), {'title':'快快乐乐出门咒-豆丁网', 'fileId':'9BD1E4747D1A56E26BE4B356D6439454', 'isPublic': 0, 'allowTags': 'USERID-989121 USERID-989122 USERID-989123 GROUPID-9890 DEPID-9899 ','denyTags':'USERID-989141 USERID-989142 DEPID-9891 DEPID-9892 '}), ('3', generate_embeddings("起点中文网阅文集团旗下网站"), {'title':'起点中文网阅文集团旗下网站', 'fileId':'01E01C1F5947DE63C12DA8EF19E41DF4', 'isPublic': 0, 'allowTags': 'USERID-989121 USERID-989124 GROUPID-9890 ','denyTags':'USERID-989142 DEPID-9891 '}), ('4', generate_embeddings("中方回应布林肯言论"),{'title':'中方回应布林肯言论', 'fileId':'7146C7155D1DD6C76671BB4F7B871BFB','isPublic': 1}), ('5', generate_embeddings("布林肯在上海对所谓"), {'title':'布林肯在上海对所谓', 'fileId':'9BD1E4747D1A56E26BE4B356D6439454', 'isPublic': 0, 'AT-USERID-989121':1,'AT-USERID-989122':1,'AT-USERID-989123':1,'AT-GROUPID-9890':1,'AT-DEID-9899':1,'DT-USERID-989141':2,'DT-USERID-989142':2,'DT-DEPID-9891':2,'DT-DEPID-9892':2}), ('6', generate_embeddings("全面履行世贸组织规则"), {'title':'全面履行世贸组织规则', 'fileId':'01E01C1F5947DE63C12DA8EF19E41DF4', 'isPublic': 0, 'AT-USERID-989121':1,'AT-USERID-989124':1,'AT-GROUPID-9890':1,'DT-USERID-989142':2,'DT-DEPID-9891':2}) ]
)
 

3. 向量检索

ret = collection.query( vector=generate_embeddings(text), topk=10, filter='isPublic=1', # 条件过滤,查询公开数据 output_fields=['title', 'fileId'], include_vector=True 
)

3.3 非公开数据检索

1. 业务数据

{ "id": 2, "query": "布林肯", "title": "布林肯在上海对所谓", "fileId": "9BD1E4747D1A56E26BE4B356D6439454", "isPublic": 0, "AT-USERID-989121": 1, "AT-USERID-989122": 1, "AT-USERID-989123": 1, "AT-GROUPID-9890": 1, "AT-DEPID-9899": 1 }

{ "id": 3, "query": "世贸组织", "title": "全面履行世贸组织规则", "fileId": "01E01C1F5947DE63C12DA8EF19E41DF4", "isPublic": 0, "AT-USERID-989121": 1, "AT-USERID-989124": 1, "AT-GROUPID-9890": 1, "AT-USERID-989142": 1, "AT-DEPID-9891": 1 }

2. 向量化数据

ret = collection.insert( [ ('1', generate_embeddings("实习生招聘-应届生求职网"),{'title':'实习生招聘-应届生求职网', 'fileId':'7146C7155D1DD6C76671BB4F7B871BFB','isPublic': 1}), ('2', generate_embeddings("快快乐乐出门咒-豆丁网"), {'title':'快快乐乐出门咒-豆丁网', 'fileId':'9BD1E4747D1A56E26BE4B356D6439454', 'isPublic': 0, 'allowTags': 'USERID-989121 USERID-989122 USERID-989123 GROUPID-9890 DEPID-9899 ','denyTags':'USERID-989141 USERID-989142 DEPID-9891 DEPID-9892 '}), ('3', generate_embeddings("起点中文网阅文集团旗下网站"), {'title':'起点中文网阅文集团旗下网站', 'fileId':'01E01C1F5947DE63C12DA8EF19E41DF4', 'isPublic': 0, 'allowTags': 'USERID-989121 USERID-989124 GROUPID-9890 ','denyTags':'USERID-989142 DEPID-9891 '}), ('4', generate_embeddings("中方回应布林肯言论"),{'title':'中方回应布林肯言论', 'fileId':'7146C7155D1DD6C76671BB4F7B871BFB','isPublic': 1}), ('5', generate_embeddings("布林肯在上海对所谓"), {'title':'布林肯在上海对所谓', 'fileId':'9BD1E4747D1A56E26BE4B356D6439454', 'isPublic': 0, 'AT-USERID-989121':1,'AT-USERID-989122':1,'AT-USERID-989123':1,'AT-GROUPID-9890':1,'AT-DEID-9899':1,'DT-USERID-989141':2,'DT-USERID-989142':2,'DT-DEPID-9891':2,'DT-DEPID-9892':2}), ('6', generate_embeddings("全面履行世贸组织规则"), {'title':'全面履行世贸组织规则', 'fileId':'01E01C1F5947DE63C12DA8EF19E41DF4', 'isPublic': 0, 'AT-USERID-989121':1,'AT-USERID-989124':1,'AT-GROUPID-9890':1,'DT-USERID-989142':2,'DT-DEPID-9891':2}) ]
)

3. 向量检索

ret = collection.query( vector=generate_embeddings(text), topk=10, filter='isPublic=0 and (AT-GROUPID-9890=1 or AT-DEPID-9899=1) ', # 条件过滤,查询USERID    为989121或DEPID为9899可见的数据 output_fields=['title', 'fileId'], include_vector=True 
)

3.4 联合数据检索

基于2.2、2.3节的数据,联合检索

1. 向量检索

ret = collection.query( vector=generate_embeddings(text), topk=10, filter='isPublic=1 or AT-GROUPID-9890=1 or AT-DEPID-9899=1', # 条件过滤,公开数据或USERID为989121和DEPID为9899可见的数据 output_fields=['title', 'fileId'], include_vector=True 
)

四、总结

  采用动态Field,可解决数据可见性问题,总结如下:

  4.1 优点

  1. Field为KeyValue结构,设置和扩展灵活,可支持上百个。

  2. 通过Key过滤,效率较高,对业务无侵入

  3. 兼容性好

 4.2 缺点

  1. 可见标签为动态Field,相对于预定义的Field会占用较多内存和磁盘,检索速度也有所影响

  2. 目前不支持黑名单业务场景

http://www.yayakq.cn/news/446389/

相关文章:

  • 安徽住房和建设网站太原网站公司哪家好
  • 鹿泉城乡建设局网站wordpress访问量阅读量
  • 做网站有流量就有收入吗住房和城乡建设部网站 城市绿地分类
  • 做网站百度一下河南火焰山网站开发禹
  • 牛商网网站建设多少钱最专业企业营销型网站建设
  • 建设银行青海省分行门户网站wordpress后台仪表盘
  • 做网站生意买螃蟹网站站建设建技设术技术
  • 个人网站建设方案策划网展企业网站系统 免费
  • 创建网站得花多少钱做一个app需要多少成本
  • 单页网站怎么卖网站iis配置
  • 设计专业网站有哪些天津百度关键词排名
  • 金华网站建设luopan做满屏网站的尺寸
  • 游戏网站模板医院男性男科
  • 网站建设公司外包wordpress编辑器缓慢
  • 航班网站开发设计说明书建网站要多少钱呢
  • 小城镇建设网站参考文献快照关键词优化
  • 道滘东莞网站建设厦门营销网站制作
  • 衡阳网站推广品牌网站开发设计
  • 邯郸市有搞网站服服务的吗wordpress添加导航页面
  • 西安知名网站开发的公司做照片的网站
  • 蜘蛛云建网站怎样潍坊个人做网站
  • 金融平台网站开发如何网站做专题
  • 网站开发属于商标哪个类别上海谷歌seo公司
  • 网站点击量怎么看龙岗网站app建设
  • 广西南宁市住房和城乡建设局网站网站建设进度
  • 那些网站需要备案安卓aso优化
  • 网站域名过期还能用吗安徽网站优化多少钱
  • .net网站开发视频上海做网站搜索一下马来西亚的
  • 毕业设计题网站开发门户网站开发价格
  • 网站建设的审批部门是东莞建设工程交易网