大家好,我是锋哥。最近连载更新《嵌入模型与Chroma向量数据库 AI大模型应用开发必备知识》技术专题。
本课程主要介绍和讲解嵌入模型与向量数据库简介,Qwen3嵌入模型使用,Chroma向量数据库使用,Chroma安装,Client-Server模式,集合添加,修改,删除,查询操作以及自定义Embedding Functions。。。 同时也配套视频教程 《1天学会 嵌入模型与Chroma向量数据库 AI大模型应用开发必备知识 视频教程》
Chroma 是一个开源的嵌入式向量数据库,专为 AI 应用设计,旨在帮助开发者高效存储、管理和查询非结构化数据的向量表示。它是目前构建检索增强生成(RAG) 系统最流行的工具之一。
📌 核心概念
| 概念 | 说明 |
|---|---|
| 向量 (Vector) | 由 AI 模型(如 Qwen3-VL-Embedding-2B)生成的浮点数数组,代表文本、图像等内容的语义。 |
| 集合 (Collection) | 类似传统数据库中的表,是存储文档、向量和元数据的容器。 |
| 文档 (Document) | 原始文本内容(可选存储)。 |
| 元数据 (Metadata) | 附加的结构化信息(如作者、时间、分类),用于过滤和筛选。 |
| 嵌入 (Embedding) | 将内容转为向量的过程(可在插入时由 Chroma 自动调用模型完成,也可自己生成)。 |
🏗️ 架构特点
- 底层存储:使用 ClickHouse(服务器模式)或 SQLite(持久化模式)
- 索引算法:基于 HNSW(分层可导航小世界)的近似最近邻搜索,高效且准确
- Embedding 集成:内置支持多种模型(如
all-MiniLM-L6-v2),也可传入自定义 embedding 函数 - 多语言 SDK:Python、JavaScript/TypeScript
💡 典型应用场景
- RAG 应用(最常用)
为 LLM 提供外部知识库,减少幻觉:
- 上传文档 → 生成向量 → 存入 Chroma
- 用户提问 → 转为向量 → Chroma 检索相关片段 → LLM 生成回答
- 语义搜索
- 客服知识库智能检索
- 论文、专利的语义检索系统
- 推荐系统
- 用户行为向量化 → 查找相似用户/物品
- 内容向量化 → 查找相似内容
- 多模态检索(结合 Qwen3-VL-Embedding-2B)
- 图像向量化 → 以图搜图
- 图文混合检索(如搜索描述特定场景的图片)
📊 与同类产品对比
| 特性 | Chroma | Pinecone | Milvus | Weaviate |
|---|---|---|---|---|
| 开源 | ✅ | ❌ | ✅ | ✅ |
| 本地运行 | ✅ | ❌ | ✅ | ✅ |
| 开发友好度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 云服务 | ✅ (Chroma Cloud) | ✅ | ✅ | ✅ |
| 嵌入集成 | ✅ | ✅ | ❌ | ✅ |
| 元数据过滤 | ✅ | ✅ | ✅ | ✅ |
| 部署复杂度 | 极低 | 低 | 高 | 中 |