chromadb向量数据库和向量化方案对比
背景和价值
开源向量数据库和发音 Chroma 和 Milvus 的英文发音:
- Chroma - 发音:/ˈkroʊmə/
- Milvus
- 发音:/ˈmɪlvəs/
业务模型
数据集(Collection)
ids: 文档的唯一ID
embeddings(可选): 如果不传该参数,将根据Collection设置的embedding_function进行计算。
metadatas(可选):要与嵌入关联的元数据。在查询时,您可以根据这些元数据进行过滤。
documents(可选):与该嵌入相关联的文档,甚至可以不放文档。
使用阿里等平台做embedding的流程
数据向量化处理
1 将数据传阿里云,向量化处理后返回。 2 存储到本地向量化数据库
查询数据
1 查询的字符串传阿里云embedding后返回 2 在本地向量数据库查询后返回
当然也可以选择本地开源的embedding 组件,比如HuggingFaceEmbeddings
性能基准测试(MTEB排行榜)
模型名称 | 综合得分 | 文本检索 | 聚类 | 分类 |
---|---|---|---|---|
text-embedding-ada-002 | 61.0 | 56.2 | 46.8 | 75.3 |
阿里云通义embedding | 59.8 | 55.1 | 45.2 | 74.1 |
sentence-transformers/all-mpnet-base-v2 | 57.3 | 53.6 | 43.9 | 70.8 |
核心差异对比表
维度 | 阿里云/OpenAI商业模型 | Sentence-Transformers开源模型 |
---|---|---|
模型规模 | 数十亿参数(完整版) | 数千万参数(精简版) |
训练数据量 | TB级全网数据 | GB级精选数据 |
上下文窗口 | 支持16K tokens | 通常≤512 tokens |
多语言能力 | 涵盖100+语言 | 需特定多语言模型 |
语义理解深度 | 能捕捉复杂语义关系 | 侧重表层语义匹配 |
向量维度 | 1536维(OpenAI标准) | 通常384-768维 |
硬件加速 | 云端专用GPU集群 | 依赖本地计算资源 |
长期维护 | 持续迭代更新 | 依赖社区更新 |
大参数模型的特殊优势
-
噪声鲁棒性:
- 能自动修正输入错误:
原始文本:"深度学系在计笁机视觉领或的应用" 修正理解:"深度学习在计算机视觉领域的应用"
- 能自动修正输入错误:
-
跨模态对齐:
- 建立文本与结构化数据的关联:
"2023年Q3营收增长25%" → 向量靠近 "财务报告"、"季度业绩"
- 建立文本与结构化数据的关联:
-
时序适应性:
- 更好捕捉新兴概念:
"大语言模型" → 自动关联 "LLM", "GPT", "Transformer"
- 更好捕捉新兴概念: