Milvus 核心设计 (4) ---- metric及index原理详解与示例(2)

目录

背景

Binary Embedding

定义与特点

常见算法

应用场景

距离丈量的方式

Jaccard

Hamming

代码实现

Index

BIN_FLAT

BIN_IVF_FLAT

Sparse embeddings

定义

应用场景

优点

实现方式

距离丈量方式

IP

Index

SPARSE_INVERTED_INDEX

应用场景

优势

SPARSE_WAND

工作原理

性能特点

应用场景

小结


背景

接着上面的Milvus metric 及index 继续写下剩余的两种方式。这样对于 vector db 的metric 及index 你将全面理解并学会使用。因为当你看完 Chroma 源码,再看Milvus 时,某些时候总会产生共鸣,虽然两个都是很优秀的开源vector db,来自不同的设计团队,但是你总能感受到来自底层 design 的共鸣。比如对于 HNSW 算法,设置M,efConstruction,ef 都是不变的旋律。或许高手忘掉所有招式,只重其意,不看其形,那就能自创门派了。

Binary Embedding

顾名思义,就是二进制嵌入,说直白点就是只有 0 与 1 的编码。这里不是指计算机底层硬件表示,无论如何目前都是0 与 1 的存储,是指上层应用转换为了一组0 与 1 的 向量存储。

简单来说,二进制嵌入是嵌入技术中的一种,它主要将高维数据转换为低维的二进制向量表示。这种表示方法具有存储效率高、计算速度快等优点,因此在许多领域,如信息检索、推荐系统、图像识别等中得到了广泛应用。以下是对Binary embeddings的详细解释:

你可能感兴趣的:(RAG,Milvus,Chroma,源码及实践,milvus,python,机器学习,vector,db,人工智能)