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

网站建设项目收费标准一键制作单页网站

网站建设项目收费标准,一键制作单页网站,安徽省建设工程网站,项目管理中软件分类为一、前言 继上篇文章: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.hkea.cn/news/351857/

相关文章:

  • wordpress读者墙站长之家seo工具包
  • 网站建设哪家好灵活苏州久远网络北京搜索引擎关键词优化
  • 网站优化怎么做 有什么技巧东莞seo建站
  • 什么网站可以做游戏机疫情最新数据消息
  • 企业网站开发报价单巩义网络推广
  • 网站开发技术交流群免费域名申请网站
  • 手机网站一键分享怎么知道自己的域名
  • 做网站 做好把我踢开北京网站搭建哪家好
  • 网站如何做引流刷外链网站
  • wordpress 站点地址关注公众号一单一结兼职
  • 合肥网站建设第一品牌个人seo外包
  • 省心的免费建站服务热线四川seo关键词工具
  • 网站总是跳转dede58seo对网络推广的作用是
  • seo排名怎么提高seo排名优化软件有用
  • 江门论坛建站模板黑帽seo联系方式
  • 政府网站信息内容建设专项检查搜索引擎排名优化seo课后题
  • 个人做的好的淘宝客网站软文营销推广
  • 城乡建设委员会网站河北seo推广公司
  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话