ChromaDB 快速开始
ChromaDB 是一个开源的向量数据库(Vector Database),旨在让 AI 应用的 Embedding 管理变得异常简单。它非常适合中小型项目、本地原型开发以及学术研究。
#1. 核心特点
- 极其简单:只需几行代码即可运行。
- 全内置:默认包含本地存储和 Embedding 模型(无需外接 OpenAI)。
- 可扩展:支持从内存运行到分布式生产环境。
#2. 安装
bashpip install chromadb
#3. 基础使用流程
pythonimport 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)
#4. 存储模式
| 模式 | 初始化代码 | 适用场景 |
|---|---|---|
| 内存模式 (Ephemeral) | chromadb.Client() | 单元测试、临时脚本 |
| 持久化模式 (Persistent) | chromadb.PersistentClient(path="./db") | 本地应用、小型生产环境 |
| 服务器模式 (Client/Server) | chromadb.HttpClient(host='localhost', port=8000) | 分布式应用、生产集群 |
#5. Docker 启动 (服务器模式)
如果你希望在生产环境运行 Chroma:
bashdocker pull chromadb/chroma docker run -p 8000:8000 chromadb/chroma
下一步:学习如何管理你的数据仓库——Collections 集合管理。