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

python做网站还是数据库有实力的网站排名优化软件

python做网站还是数据库,有实力的网站排名优化软件,上海自适应网站建设,php网站开发推荐书籍milvus 版本2.4之后支持多向量搜索,但是我使用的是v2.3.1也是支持多向量搜索的。 两种类型的搜索 单向量搜索,collection中只有一个向量字段,使用search()方法。 多向量搜索,collection中有两个和多个向量字段,使用…

milvus 版本2.4之后支持多向量搜索,但是我使用的是v2.3.1也是支持多向量搜索的。

两种类型的搜索

单向量搜索,collection中只有一个向量字段,使用search()方法。

多向量搜索,collection中有两个和多个向量字段,使用hybrid_search()方法。执行多个近似最近邻ANN搜索请求,合并结果,重新排序,返回最相关的匹配项。

单向量搜索

 

import randomfrom pymilvus import (connections,Collection
)dim = 128if __name__ == '__main__':connections.connect(alias="default", host="192.168.171.130", port='19530', user='', password='')collection_name = 'first_milvus'coll = Collection(collection_name)search_param = {'metric_type': 'COSINE','params': {'ef': 40}  # 注意:ef的值要大于等于limit的值}search_data = [random.random() for _ in range(dim)]result = coll.search(data=[search_data],anns_field="embeddings",param=search_param,limit=5, # 对应attu中TopK5output_fields=['pk', 'embeddings'])print(result)

注意:metric_type如果为L2, 最佳匹配的score是0。如果为COSINE,最佳匹配的score是0.9999999403953552,也就说值越大越匹配。

多向量搜索

import randomfrom pymilvus import (connections,Collection
)dim = 128if __name__ == '__main__':connections.connect(alias="default", host="192.168.171.130", port='19530', user='', password='')collection_name = 'first_milvus'coll = Collection(collection_name)search_param = {'metric_type': 'COSINE','params': {'ef': 40}  # 注意:ef的值要大于等于limit的值}# 多向量查询search_data = [[random.random() for _ in range(dim)], [random.random() for _ in range(dim)]]result = coll.search(data=search_data,anns_field="embeddings",param=search_param,limit=5,  # 对应attu中TopK5output_fields=['pk'])print(result)

返回的是一个也是一个数组,为每个查询向量返回一个单独的结果集。

分区搜索

创建一个collection,它的默认分区是_default

新建建其他分区 blue, red

向分区插入数据

代码实现

import uuidimport numpy as np
from pymilvus import (connections,FieldSchema,CollectionSchema,DataType,Collection
)colletion_name = "xkj_milvus"
host = "192.168.171.130"
port = 19530
username = ""
password = ""
num_entities, dim = 3000, 3def generate_uuid(number_of_uuids):uuids = [str(uuid.uuid4()) for _ in range(number_of_uuids)]return uuids
# 建立连接
connections.connect("default", host=host, port=port, user=username, password=password)
# 定义字段
field = [FieldSchema(name="pk", dtype=DataType.INT64, is_primary=True, auto_id=False),FieldSchema(name="random", dtype=DataType.DOUBLE),FieldSchema(name="comment", dtype=DataType.VARCHAR, max_length=200),FieldSchema(name="embeddings", dtype=DataType.FLOAT_VECTOR, dim=dim)
]
# 创建schema
schema = CollectionSchema(field, "xkj_milvus is the best demo")
# 创建collection
coll = Collection(colletion_name, schema, consistency_level="Bounded", shards_num=1)
# 创建分区blue,red
coll.create_partition(partition_name="blue")
coll.create_partition(partition_name="red")# 插入数据
# seed=19530 设置了随机数生成器的种子,确保每次运行代码时生成的随机数序列是相同的(可重复性)。
rng = np.random.default_rng(seed=19530)
entities = [# 生成一个从 0 到 num_entities - 1 的整数列表[i for i in range(num_entities)],# 随机数生成器 rng 生成 num_entities 个随机浮点数,范围在 [0, 1) 之间# tolist() 将 NumPy 数组转换为 Python 列表# 如果 num_entities = 3,可能生成 [0.123, 0.456, 0.789]rng.random(num_entities).tolist(),# 生成一个包含 num_entities 个 UUID 字符串的列表, 列表可能用于为每个实体分配一个全局唯一的标识符generate_uuid(num_entities),# 使用随机数生成器 rng 生成一个形状为 (num_entities, dim) 的二维 NumPy 数组# num_entities表示二维数组中有几个数组,dim表示第二层数组里面有几个元素rng.random((num_entities, dim)),
]coll.insert(data=entities, partition_name="blue")entities0 = [# 生成一个从 0 到 num_entities - 1 的整数列表[i+3000 for i in range(num_entities)],# 随机数生成器 rng 生成 num_entities 个随机浮点数,范围在 [0, 1) 之间# tolist() 将 NumPy 数组转换为 Python 列表# 如果 num_entities = 3,可能生成 [0.123, 0.456, 0.789]rng.random(num_entities).tolist(),# 生成一个包含 num_entities 个 UUID 字符串的列表, 列表可能用于为每个实体分配一个全局唯一的标识符generate_uuid(num_entities),# 使用随机数生成器 rng 生成一个形状为 (num_entities, dim) 的二维 NumPy 数组# num_entities表示二维数组中有几个数组,dim表示第二层数组里面有几个元素rng.random((num_entities, dim)),
]
coll.insert(data=entities, partition_name="red")
# 刷新
coll.flush()# 创建索引
index_params = {"index_type": "HNSW","metric_type": "L2","params": {"M": 16,"efConstruction": 40}
}
coll.create_index(field_name="embeddings",index_params=index_params,index_name="idx_em"
)
# 加载到内存
coll.load()
print("done")

指定分区进行搜索

import randomfrom pymilvus import (connections,Collection
)dim = 128if __name__ == '__main__':connections.connect(alias="default", host="192.168.171.130", port='19530', user='', password='')collection_name = 'xkj_milvus'coll = Collection(collection_name)search_param = {'metric_type': 'L2','params': {'ef': 40}  # 注意:ef的值要大于等于limit的值}search_data = [[0.20963513851165771, 0.3974665701389313, 0.12019053101539612]]result = coll.search(data=search_data,anns_field="embeddings",param=search_param,limit=5,  # 对应attu中TopK5output_fields=['pk'],partition_names=["blue"]# expr='',# consistency_level="Eventually")print(result)
http://www.dtcms.com/wzjs/330052.html

相关文章:

  • 夺目视频制作网站移动网站优化排名
  • 郑州建站排名个人网页制作成品欣赏
  • 网站建设合同合同期限关键词是怎么排名的
  • 富阳做网站公司长沙seo优化
  • 科技有限公司 网站制作关键词优化推广公司哪家好
  • 哪里教做网站的优化网站建设seo
  • nginx wordpress样式丢失宁波seo网站推广
  • 一个公司名可以备案多少个网站优化课程
  • 简述网站开发的基本流程二级域名网址查询
  • 品牌网站开发公司满足seo需求的网站
  • 织梦可以做商城网站吗在线seo超级外链工具
  • wordpress 壁纸云郑州seo优化培训
  • 池州专业网站建设怎么样网络推广网站公司
  • suxing wordpress台州专业关键词优化
  • 福州网站建设软件seo查询外链
  • 怎么做网站?抖音搜索seo软件
  • 创新创业教育课程网站建设方案长沙网站优化培训
  • 免费高清logo在线观看北京seo优化分析
  • 做品牌设计公司北仑seo排名优化技术
  • 吴桥做网站价格谷歌在线浏览器入口
  • 怎样做企业宣传推广seo接单平台有哪些
  • 中国建设银行网站打不开网站建设方案优化
  • 移动端网站模板怎么做百度如何免费推广
  • 大型网站建设公司排名百度官方官网
  • 山东济宁做网站的公司市场营销案例100例
  • 计生网站生育文明建设怎么做网站宣传
  • 建设银行u盾用网站打不开百度推广公司怎么代理到的
  • 做网站的一个专题alexa全球网站排名分析
  • 福州市住房和城乡建设网站让顾客进店的100条方法
  • 网站活泼目前最好的引流推广方法