0.4、向量、向量维度、向量比较、向量搜索和相关算法

向量与向量搜索技术解析

1、向量 = 多维数组

RAG 中一般提到的向量,就是由多个浮点数组成的多维数组。

通过一定的方法,文本可以转化为对应的多维数组。
不同的文本对应不同的多维数组。
通过一定的方法,不同多维数据可以比较相似度,一般会变为 -1到1 之间的一个值。

2、延伸思考:如何向量化,比较和搜索?

一段字符串如何拆为指定长度数组,还有数组的每一个位置的值如何确定?
数组之间如何比较?
以及最后表示为-1到1之间,涉及几个什么算法?
拆分和比较的算法分别是什么?
向量如何搜索?

3、详细解答

3.1、总体流程

原始文本
文本分块算法
向量化处理
N维向量数组
索引算法
向量搜索
相似度算法
相似度计算
排序结果

3.2、常用算法对比

文本分块算法

算法特点适用场景
RecursiveCharacterTextSplitter递归分割,保持语义通用文本
TokenTextSplitter按token分割精确控制
SemanticChunker语义感知分割高质量要求

向量化算法(Embedding Models)

算法/模型维度特点适用场景
text-embedding-3-small1536轻量级,速度快通用文本,成本敏感
text-embedding-3-large3072高精度,效果好高质量要求
text-embedding-ada-0021536经典模型,稳定生产环境
sentence-transformers384-768开源,可定制特定领域
Cohere Embed1024-4096多语言支持国际化应用
OpenAI Embedding1536商业级,稳定企业应用

相似度计算算法

算法公式特点值域
COSINE`A·B / (A×
L2距离√Σ(ai-bi)²欧几里得距离[0,∞)
点积A·B简单快速,无界(-∞,∞)
曼哈顿距离ai-bi`
Jaccard相似度`A∩B/

向量搜索算法

算法特点时间复杂度内存使用
HNSW分层图结构,近似搜索O(log n)中等
IVF倒排文件,聚类搜索O(k)
暴力搜索精确搜索,全量比较O(n)
LSH局部敏感哈希O(1)
PQ乘积量化,压缩存储O(log n)极低

3.3、向量化算法详细对比

OpenAI系列

# text-embedding-3-small 
- 维度: 1536
- 成本:($0.00002/1K tokens)
- 速度:- 精度: 中等
- 适用: 通用场景,成本敏感

# text-embedding-3-large  
- 维度: 3072
- 成本:($0.00013/1K tokens)
- 速度:- 精度:- 适用: 高质量要求场景

开源替代方案

# sentence-transformers
- 维度: 384-768
- 成本: 免费
- 速度: 中等
- 精度: 中等
- 适用: 自部署,定制需求

# Cohere Embed
- 维度: 1024-4096
- 成本: 中等
- 速度: 中等
- 精度:- 适用: 多语言,企业级

何时考虑其他模型

  • text-embedding-3-large:需要更高精度时
  • sentence-transformers:需要自部署或定制时
  • Cohere Embed:需要多语言支持时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值