logo

ChromaDB 快速开始

这页的目标不是把 ChromaDB 所有能力讲完,而是先让你把第一条检索链路跑起来。只要能做到“写入两段文本,再查回一段相关内容”,就已经够进入下一步了。

1. 核心特点

  • 极其简单:只需几行代码即可运行。
  • 全内置:默认包含本地存储和 Embedding 模型(无需外接 OpenAI)。
  • 可扩展:支持从内存运行到分布式生产环境。

2. 安装

pip install chromadb

3. 基础使用流程

import chromadb

# 1. 初始化客户端 (数据持久化在本地 ./my_db 目录)
client = chromadb.PersistentClient(path="./my_db")

# 2. 创建一个集合 (Collection) - 类似于 SQL 的 Table
collection = client.get_or_create_collection(name="my_documents")

# 3. 添加数据 (Chroma 会自动帮你生成向量)
collection.add(
    documents=["这是关于苹果的介绍", "这是关于微软的介绍"],
    metadatas=[{"source": "wiki"}, {"source": "wiki"}],
    ids=["id1", "id2"]
)

# 4. 进行查询 (语义搜索)
results = collection.query(
    query_texts=["什么是 Windows?"],
    n_results=1
)

print(results)

新手阅读提示

  • 先跑通上面这段最小代码,再考虑 Docker 或分布式部署
  • 先用 documents + metadatas 管理知识,再引入自定义 embedding
  • 先做 20 个真实问题回测,再谈“精度优化”

很多人刚装好就想接 OpenAI embedding、接 LangChain、接服务端模式。其实没必要。先确认本地最小链路能跑,再加外部依赖,后面排错会省很多时间。

4. 存储模式

模式初始化代码适用场景
内存模式 (Ephemeral)chromadb.Client()单元测试、临时脚本
持久化模式 (Persistent)chromadb.PersistentClient(path="./db")本地应用、小型生产环境
服务器模式 (Client/Server)chromadb.HttpClient(host='localhost', port=8000)分布式应用、生产集群

5. Docker 启动 (服务器模式)

如果你希望在生产环境运行 Chroma:

docker pull chromadb/chroma
docker run -p 8000:8000 chromadb/chroma

一句轻松提醒:
向量库像仓库管理,不是“货越多越好”,而是“分类清楚、查找快、别拿错”。

如果你这一步已经能稳定查到结果,下一页就该去看集合设计,而不是继续往 quickstart 里堆功能。


下一步:学习如何管理你的数据仓库——Collections 集合管理

ChromaDB 向量数据库指南
AI Engineer

ChromaDB 向量数据库指南

ChromaDB 是一个开源的向量数据库,易于使用,适合快速原型开发和中小规模应用。

ChromaDB 向量数据库指南快速开始

ChromaDB 快速开始

这页的目标不是把 ChromaDB 所有能力讲完,而是先让你把第一条检索链路跑起来。只要能做到“写入两段文本,再查回一段相关内容”,就已经够进入下一步了。

#1. 核心特点

  • 极其简单:只需几行代码即可运行。
  • 全内置:默认包含本地存储和 Embedding 模型(无需外接 OpenAI)。
  • 可扩展:支持从内存运行到分布式生产环境。

#2. 安装

bash
pip install chromadb

#3. 基础使用流程

python
import chromadb # 1. 初始化客户端 (数据持久化在本地 ./my_db 目录) client = chromadb.PersistentClient(path="./my_db") # 2. 创建一个集合 (Collection) - 类似于 SQL 的 Table collection = client.get_or_create_collection(name="my_documents") # 3. 添加数据 (Chroma 会自动帮你生成向量) collection.add( documents=["这是关于苹果的介绍", "这是关于微软的介绍"], metadatas=[{"source": "wiki"}, {"source": "wiki"}], ids=["id1", "id2"] ) # 4. 进行查询 (语义搜索) results = collection.query( query_texts=["什么是 Windows?"], n_results=1 ) print(results)

#新手阅读提示

  • 先跑通上面这段最小代码,再考虑 Docker 或分布式部署
  • 先用 documents + metadatas 管理知识,再引入自定义 embedding
  • 先做 20 个真实问题回测,再谈“精度优化”

很多人刚装好就想接 OpenAI embedding、接 LangChain、接服务端模式。其实没必要。先确认本地最小链路能跑,再加外部依赖,后面排错会省很多时间。

#4. 存储模式

模式初始化代码适用场景
内存模式 (Ephemeral)chromadb.Client()单元测试、临时脚本
持久化模式 (Persistent)chromadb.PersistentClient(path="./db")本地应用、小型生产环境
服务器模式 (Client/Server)chromadb.HttpClient(host='localhost', port=8000)分布式应用、生产集群

#5. Docker 启动 (服务器模式)

如果你希望在生产环境运行 Chroma:

bash
docker pull chromadb/chroma docker run -p 8000:8000 chromadb/chroma

一句轻松提醒:
向量库像仓库管理,不是“货越多越好”,而是“分类清楚、查找快、别拿错”。

如果你这一步已经能稳定查到结果,下一页就该去看集合设计,而不是继续往 quickstart 里堆功能。


下一步:学习如何管理你的数据仓库——Collections 集合管理

System Design

系统设计必备:核心概念 + 经典案例

快速掌握取舍与设计套路,备战系统设计面试。

进入 System Design →

相关路线图