Milvus 基本概念

Milvus 使用 包含 java 和 python

知道特征向量是什么

向量又称为 embedding vector,是指由embedding技术从离散变量(如xxx等各种非结构化数据)转变而来的连续向量。在数学表示上,向量是一个由浮点数或者二值型数据组成的 n 维数组。通过现代的向量转化技术,比如各种人工智能(AI)或者机器学习(ML)模型,可以将非结构化数据抽象为 n 维特征向量空间的向量。这样就可以采用最近邻算法(ANN)计算非结构化数据之间的相似度。

Milvus 是向量数据库

主要用于存储、索引和管理通过深度神经网络和机器学习模型产生的海量向量数据。

Collection 等价 数据库的表

Collection 包含一组 entity。

Entity

实体包含一组 field

Field

field 与实际对象相对应。

Segment 段

Milvus 在数据插入时通过合并数据自动创建的数据文件。一个 collection 可以包含多个 segment。一个 segment 可以包含多个 entity。在搜索中,Milvus 会搜索每个 segment,并返回合并后的结果。

分片

将数据写入操作分散到不同节点上,使 Milvus 能充分利用集群的并行计算能力进行写入。默认情况下单个 collection 包含 2 个分片(shard)。目前 Milvus 采用基于主键哈希的分片方式,未来将支持随机分片、自定义分片等更加灵活的分片方式。

分区

把 collection 中的数据根据一定规则在物理存储上分成多个部分。这种对 collection 数据的划分就叫分区(partitioning)。每个 partition 可包含多个segment。

归一化

归一化指的是通过数学变换将向量的模长变为 1 的过程。如需使用点积计算向量相似度,则必须对向量作归一化处理。处理后点积与余弦相似度等价。

索引

索引基于原始数据构建,可以提高对 collection 数据搜索的速度。

向量

一种类型的 field,代表对象的特征。非结构化数据可以通过各种 AI 模型和 embedding 技术转化为向量。

Milvus是一个面向向量的存储引擎,主要用于存储、索引和管理通过深度神经网络和机器学习模型产生的海量向量数据。在Milvus中,数据被存储为向量,向量由embedding技术从离散变量(如图片、文本等)转变而来,是n维浮点数或者二值型数据组成的数组。Collection等价于数据库中的表,它包含了一组entity(实体),实体包含了一组field。Segment是在数据插入时通过合并数据自动创建的数据文件。一个Collection可以包含多个Segment,而一个Segment可以包含多个Entity。分片是将数据写入操作分散到不同节点上,使Milvus能够充分利用集群的并行计算能力进行写入。分区是根据一定规则将Collection中数据在物理存储上分成多个部分。归一化是将向量模长变为1的过程。索引是基于原始数据构建,可以提高数据搜索的速度。向量是一种类型的field,代表对象的特征,非结构化数据可以通过各种AI模型和embedding技术转化为向量。

相关推荐
万少2 小时前
小龙虾(openclaw),轻松玩转自动发帖
前端·人工智能·后端
飞哥数智坊4 小时前
openclaw 重大更新,真的懂我啊
人工智能
KaneLogger4 小时前
AI 时代编程范式迁移的思考
人工智能·程序员·代码规范
飞哥数智坊4 小时前
养虾记第2期:从“人工智障”到“赛博分身”,你的龙虾还缺这两个灵魂
人工智能
飞哥数智坊4 小时前
龙虾虽香,小心扎手!官方点名后,我们该怎么“养虾”?
人工智能
yiyu07165 小时前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·深度学习
字节架构前端6 小时前
Skill再回首—深度解读Anthropic官方最新Skill白皮书
人工智能·agent·ai编程
冬奇Lab7 小时前
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
人工智能·开源·源码阅读
冬奇Lab7 小时前
一天一个开源项目(第45篇):OpenAI Agents SDK Python - 轻量级多 Agent 工作流框架,支持 100+ LLM 与实时语音
人工智能·开源·openai