分类分类
大小:6.0 MB 更新:2024/06/07
类别:其他软件系统:WinAll
Milvus是一个绿色安全、免费开源的矢量数据库,支持针对TB级向量的增删改操作和近实时查询,可让用户对数据库内的所有数据进行搜索和浏览编辑,该软件拥有类似于智能的向量搜索引擎,可让用户对相似性数据进行搜索,可让用户更快更便捷的获取非结构化数据;Milvus部署灵活、稳定可靠,且具备操作便捷以及高速查询等特性,在全球范围内已被数百家组织和机构所使用,该软件支持标量数据过滤,可让用户更快速精准地获取指定数据,非常简单实用,有需要的用户可以自行下载。
异构计算
优化了基于 GPU 搜索向量和建立索引的性能。
可以在单台通用服务器上完成对 TB 级数据的毫秒级搜索。
动态数据管理。
支持主流索引库、距离计算方式和监控工具
集成了 Faiss、NMSLIB、Annoy 等向量索引库。
支持基于量化的索引、基于图的索引和基于树的索引。
相似度计算方式包括欧氏距离 (L2)、内积 (IP)、汉明距离、杰卡德距离等。
Prometheus 作为监控和性能指标存储方案,Grafana 作为可视化组件进行数据展示。
近实时搜索
插入 Milvus 的数据默认在 1 秒后即可被搜索到。
标量字段过滤
支持向量和标量数据。
可以对标量数据进行过滤,增强搜索的灵活性。
全面的相似度指标
Milvus 支持各种常用的相似度计算指标,包括欧氏距离、内积、汉明距离和杰卡德距离等。您可以根据应用需求来选择最有效的向量相似度计算方式。
业界领先的性能
Milvus 基于高度优化的 Approximate Nearest Neighbor Search (ANNS) 索引库构建,包括 faiss、 annoy、和 hnswlib 等。您可以针对不同使用场景选择不同的索引类型。
动态数据管理
您可以随时对数据进行插入、删除、搜索、更新等操作而无需受到静态数据带来的困扰。
近实时搜索
在插入或更新数据之后,您可以几乎立刻对插入或更新过的数据进行搜索。Milvus 负责保证搜索结果的准确率和数据一致性。
高成本效益
Milvus 充分利用现代处理器的并行计算能力,可以在单台通用服务器上完成对十亿级数据的毫秒级搜索。
支持多种数据类型和高级搜索
Milvus 的数据记录中的字段支持多种数据类型。您还可以对一个或多个字段使用高级搜索,例如过滤、排序和聚合。
高扩展性和可靠性
您可以在分布式环境中部署 Milvus。如果要对集群扩容或者增加可靠性,您只需增加节点。
云原生
您可以轻松在公有云、私有云、或混合云上运行 Milvus。
简单易用
Milvus 提供了易用的 Python、Java、Go 和 C++ SDK,另外还提供了 RESTful API。
确认Docker状态确认Docker守护程序在后台运行:
$ sudo docker info
Copy
如果看不到列出的服务器,请启动Docker守护程序。
在Linux上,Docker需要sudo特权。要在没有sudo特权的情况下运行Docker命令,请创建一个docker组并添加您的用户(有关详细信息,请参阅Linux的安装后步骤)。
拉Docker镜像拉出仅CPU的映像:
$ sudo docker pull milvusdb/milvus:1.1.0-cpu-d050721-5e559c
如果由于网络限制而无法使用主机在线获取Docker映像和配置文件,请从另一台可用主机在线获取它们,将它们另存为TAR文件,将其传递到本地计算机上,然后将TAR文件加载为Docker映像:
单击此处查看示例代码。
如果拉docker镜像的速度太慢或失败,请参阅操作常见问题解答以获取解决方案。
下载配置文件
如果无法通过wget命令下载配置文件,则可以在/ home / $ USER / milvus / conf下创建server_config.yaml文件,然后将内容从服务器配置复制到该文件。
启动Docker容器启动Docker容器并将映射到本地文件的路径映射到该容器:
docker run上面命令中使用的选项定义如下:
-d:在后台运行容器并打印容器ID。
--name:为容器分配一个名称。
-p:将容器的端口发布到主机。
-v:将目录安装到容器中。
确认Milvus的运行状态:
$ sudo docker ps
如果Milvus服务器无法正常启动,请检查错误日志:
$ sudo docker logs milvus_cpu_1.1.0成功启动Milvus服务器后,可以使用此示例程序创建表,插入10个向量,然后运行向量相似度搜索。确保已安装Python 3.6和兼容的pip。安装Milvus Python SDK。# Install Milvus Python SDK
$ pip3 install pymilvus==1.1.0
Copy要了解有关Milvus Python SDK的更多信息,请访问Milvus Python SDK自述文件。下载Python示例代码。# Download Python example
$ wget https://raw.githubusercontent.com/milvus-io/pymilvus/v1.1.0/examples/example.py
Copy如果您不能wget用来下载示例代码,则还可以创建example.py并复制示例代码。运行示例代码。# Run Milvus Python example
$ python3 example.py
Copy确认程序运行正常。Query result is correct.
Copy恭喜你!您已成功完成与Milvus的首次矢量相似度搜索。连接到服务器本文介绍如何从Python客户端连接到Milvus服务器。有关API的详细信息,请参见Python API文档。我们建议使用Milvus大小调整工具来估计数据所需的硬件资源。导入pymilvus:# Import pymilvus.
>>> from milvus import Milvus, IndexType, MetricType, Status
Copy使用以下任何一种方法连接到Milvus服务器:# Connect to the Milvus server.
>>> milvus = Milvus(host='localhost', port='19530')
Copy在上面的代码,host并且port都使用的默认值。您可以将它们更改为您的IP地址和端口。>>> milvus = Milvus(uri='tcp://localhost:19530')创建一个集合准备创建集合所需的参数:# Prepare collection parameters.
>>> param = {'collection_name':'test01', 'dimension':256, 'index_file_size':1024, 'metric_type':MetricType.L2}
Copy创建一个名为的集合test01,其大小为256,索引文件大小为1024 MB。它使用欧几里德距离(L2)作为距离测量方法。# Create a collection.
>>> milvus.create_collection(param)
Copy删除收藏集# Drop a collection.
>>> milvus.drop_collection(collection_name='test01')创建分区为了提高搜索效率,您可以按标签将集合划分为几个分区。实际上,每个分区都是一个集合。# Create a partition.
>>> milvus.create_partition('test01', 'tag01')
Copy删除分区>>> milvus.drop_partition(collection_name='test01', partition_tag='tag01')将向量插入集合随机生成20个256维向量:>>> import random
# Generate 20 vectors of 256 dimensions.
>>> vectors = [[random.random() for _ in range(256)] for _ in range(20)]
Copy插入向量列表。如果您未指定矢量ID,则Milvus会自动将ID分配给矢量。# Insert vectors.
>>> milvus.insert(collection_name='test01', records=vectors)
Copy您还可以指定矢量ID:>>> vector_ids = [id for id in range(20)]
>>> milvus.insert(collection_name='test01', records=vectors, ids=vector_ids)
Copy将向量插入分区>>> milvus.insert('test01', vectors, partition_tag="tag01")
Copy通过ID删除载体假设您的集合包含以下向量ID:>>> ids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Copy您可以使用以下命令删除向量:>>> milvus.delete_entity_by_id(collection_name='test01', id_array=ids)
Copy调用之后delete,您可以flush再次调用以确保新插入的数据可见,并且删除的数据不再可恢复。创建一个索引当前,集合仅支持一种索引类型。当您更改集合的索引类型时,Milvus会自动删除旧的索引文件。在创建其他索引之前,集合使用FLAT作为默认索引类型。create_index()指定集合的索引类型,并为先前插入的数据同步创建索引。当随后插入的数据的大小达到时index_file_size,Milvus会在后台自动创建索引。对于流数据,建议在插入向量之前创建索引,以便系统可以自动为下一个数据建立索引。对于静态数据,建议先导入所有数据,然后创建索引。有关使用索引的详细信息,请参见“索引示例程序”。准备创建索引所需的参数(以IVF_FLAT为例)。索引参数存储在JSON字符串中,该字符串由Python SDK中的字典表示。# Prepare index param.
>>> ivf_param = {'nlist': 16384}
Copy不同的索引类型需要不同的索引参数。他们必须都有一个值。为集合创建索引:# Create an index.
>>> milvus.create_index('test01', IndexType.IVF_FLAT, ivf_param)
Copy删除索引删除索引后,集合将再次使用默认索引类型FLAT。>>> milvus.drop_index('test01')进行矢量搜索Milvus支持在集合或分区中搜索向量。在集合中搜索向量创建搜索参数。搜索参数存储在JSON字符串中,该字符串由Python SDK中的字典表示。>>> search_param = {'nprobe': 16}
Copy不同的索引类型需要不同的搜索参数。您必须为所有搜索参数分配值。有关更多信息,请参见向量索引。创建随机向量以query_records进行搜索:# Create 5 vectors of 256 dimensions.
>>> q_records = [[random.random() for _ in range(256)] for _ in range(5)]
>>> milvus.search(collection_name='test01', query_records=q_records, top_k=2, params=search_param)
Copytop_k表示搜索与目标向量最相似的k个向量。它是在搜索过程中定义的。的范围top_k是[1,16384]。在分区中搜索向量# Create 5 vectors of 256 dimensions.
>>> q_records = [[random.random() for _ in range(256)] for _ in range(5)]
>>> milvus.search(collection_name='test01', query_records=q_records, top_k=1, partition_tags=['tag01'], params=search_param)
Copy如果未指定partition_tags,Milvus将在整个集合中搜索相似的向量。
为什么Milvus重新启动后第一次搜索要花很长时间?
这是因为重新启动后,Milvus需要将磁盘中的数据加载到内存中以进行第一个矢量搜索。您可以preload_collection在server_config.yaml中进行设置,并在内存允许的情况下加载尽可能多的集合。Milvus每次重新启动时都会将集合加载到内存中。否则,您可以调用load_collection()将集合加载到内存中。
为什么搜索速度很慢?
检查的值cache.cache_size在server_config.yaml比集合的大小。
如何改善Milvus的表现?
确保值cache.cache_size在server_config.yaml比集合的大小。
确保所有段均已建立索引。
检查服务器上是否还有其他消耗CPU资源的进程。
调整的数值index_file_size和nlist。
如果搜索性能不稳定,则可以-e OMP_NUM_THREADS=NUM在启动Milvus时添加NUM,该数量是CPU内核数的2/3。
如何设置nlist和nprobe试管婴儿索引?
一般而言,的推荐值nlist是4 × sqrt(n),其中n是段中实体的总数。
确定nprobe是在搜索性能和准确性之间进行权衡的依据,它取决于您的数据集和方案。建议运行几轮测试以确定的值nprobe。
以下图表来自在sift50m数据集和IVF_SQ8索引上运行的测试。测试比较了搜索性能与不同之间的召回率nlist/nprobe对。
新的功能#4564支持在get_entity_by_id()方法调用中指定分区。
#4806支持在delete_entity_by_id()方法调用中指定分区。
#4905添加release_collection()方法,该方法从缓存中卸载特定的集合。
改进之处#4756提高get_entity_by_id()方法调用的性能。
#4856将hnswlib升级到v0.5.0。
#4958提高IVF指数训练的性能。
已解决的问题#4778无法访问Mishards中的向量索引。
#4797在合并具有不同topK参数的搜索请求后,系统返回错误结果。
#4838服务器没有立即对空集合上的索引建立请求做出响应。
#4858对于启用GPU的Milvus,系统在搜索请求数量较大topK(> 2048)时崩溃。
#4862只读节点在启动过程中会合并段。
#4894布隆过滤器的容量不等于其所属网段的行数。
#4908删除集合后,无法清理GPU缓存。
#4933系统花很长时间才能为一小段建立索引。
#4952无法将时区设置为“ UTC + 5:30”。
#5008在连续,并发删除,插入和搜索操作期间,系统随机崩溃。
#5010对于启用GPU的Milvus,如果nbits≠8 ,查询将无法在IVF_PQ上执行。
#5050 get_collection_stats()为仍在建立索引过程中的段返回错误的索引类型。
#5063清空空段时,系统崩溃。
#5078对于启用GPU的Milvus,在2048、4096或8192维的向量上创建IVF索引时,系统崩溃。
CIMCO Edit 其他软件276.25 MB7.5 简体中文版
详情CKplayer网页播放器 其他软件336 KB6.6 免费版
详情WordPress 其他软件6.7 MB4.1 英文版
详情Discuz论坛 其他软件4.05 MB官方版
详情Guns后台管理系统 其他软件12.5 MBv7.0.3 官方版
详情狂雨小说cms 其他软件7.8 MBv1.3.2 官方版
详情Slidev(开发幻灯片展示) 其他软件8.52 MBv0.10.2 官方版
详情魔众短链接系统 其他软件27.5 MBv2.0.0 官方版
详情易语言资源网源码下载工具 其他软件1.51 MBv1.0 免费版
详情W5 SOAR(自动化响应平台) 其他软件6.8 MBv0.4 官方版
详情魔众文档管理系统 其他软件28.8 MBv3.0.0 官方版
详情Milvus(矢量数据库) 其他软件6.0 MBv1.1.0 官方版
详情FlatBuffers(序列化库) 其他软件1.95 MBv2.0.0 官方版
详情Wendasns(问答社区系统) 其他软件7.8 MBv1.1.5 官方版
详情DM企业建站系统 其他软件14.0 MBv2021.5a 官方版
详情Ember.js(JavaScript框架) 其他软件1.66 MBv3.27.0 官方版
详情Exifr(EXIF读取库) 其他软件42.1 MBv7.0.0 官方版
详情RavenDB数据库 其他软件64.5 MBv5.1.7 官方版
详情iWebShop(开源商城系统) 其他软件11.5 MBv5.9.210101 官方版
详情OElove(婚恋交友系统) 其他软件28.7 MBv8.1 官方版
详情点击查看更多
ThinkSNS 其他软件20 MB4.6.1 免费版
详情CKplayer网页播放器 其他软件336 KB6.6 免费版
详情vqqq.com带20000数据库的笑话程序 其他软件300 KB2.0 官方版
详情EXE文件加口令源代码 其他软件799 KB3.0 官方版
详情PPTV网络电视系统 其他软件1.27 MB4.0.1.0 官方版
详情建站专家网站建设系统 其他软件20.02 MB1.0.4.1819 官方版
详情Turbo C 2.0库函数速查 其他软件71 KB1.0 官方版
详情中国联通SGIP1.2短消息网关客户端程序 其他软件54 KB1.37 官方版
详情伤感文学CMS文章发布系统 其他软件4.11 MB2.0 官方版
详情娱乐先锋论坛 其他软件1.31 MB5.3 官方版
详情笔试考试源代码 其他软件1.17 MB1.0.0 官方版
详情Deluge For Linux 其他软件2.79 MB1.0.0 官方版
详情幻影留言版(ASP多用户版) 其他软件567 KB5.30 官方版
详情GeniusBBS 其他软件475 KB1.1 官方版
详情上机考试源代码 其他软件1.01 MB1.0.0 官方版
详情vqqq.com在线网页编辑asp源码 其他软件22 KB1.0.0 官方版
详情CIMCO Edit 其他软件276.25 MB7.5 简体中文版
详情狐狗网页源代码显示器 其他软件434 KBBuild1214 官方版
详情农业企业网站模板中英繁企业网站管理系统源码 其他软件2.18 MB2010 官方版
详情vqqq.com多用户ip统计asp源码 其他软件134 KB1.0.0 官方版
详情点击查看更多
狂暴捕鱼官网有330.3版本官方 休闲益智61.5MBv7.2.0
详情ky棋牌苹果版本 休闲益智61.5MBv7.2.0
详情欢乐拼三张单机版2025 休闲益智61.5MBv7.2.0
详情森林舞会飞禽走兽 休闲益智0MBv1.0
详情老式水果机 休闲益智0MBv1.0
详情波克城市棋牌 休闲益智61.5MBv7.2.0
详情一木棋牌蓝色旧版老版本2017年 休闲益智61.5MBv7.2.0
详情老式水果机单机版 休闲益智0MBv1.0
详情牛牛下载金币版苹果 休闲益智61.5MBv7.2.0
详情老式水果机下载手机版 休闲益智0MBv1.0
详情老式水果机投币游戏机 休闲益智0MBv1.0
详情777水果机免费单机版 休闲益智0MBv1.0
详情角落棋牌官方网站 休闲益智61.5MBv7.2.0
详情老式水果机下载 休闲益智0MBv1.0
详情贪玩娱乐苹果官方下载 休闲益智0MBv7.2.0
详情炸金花下载官方下载 休闲益智61.5MBv7.2.0
详情ky棋牌网站大全98 休闲益智61.5MBv7.2.0
详情琼星海南麻将官方下载安装2024 休闲益智61.5MBv7.2.0
详情水果机游戏单机 休闲益智0MBv1.0
详情彩虹多多极速版 生活服务33.2MBv9.9.9
详情点击查看更多