零基础入门:CentOS 9系统安装Chroma DB详细步骤

云信安装大师
90
AI 质量分
10 5 月, 2025
2 分钟阅读
0 阅读

零基础入门:CentOS 9系统安装Chroma DB详细步骤

引言

Chroma DB是一个开源的向量数据库,专门为AI应用设计,特别适合存储和检索嵌入向量。本文将详细介绍如何在CentOS 9系统上安装和配置Chroma DB,即使是完全没有经验的用户也能按照步骤顺利完成安装。

准备工作

在开始之前,请确保:

  1. 已安装CentOS 9操作系统(最小化安装即可)
  2. 拥有sudo权限的用户账户
  3. 稳定的网络连接
  4. 至少4GB内存(推荐8GB以上)

第一步:更新系统并安装基础依赖

首先更新系统并安装必要的开发工具:

代码片段
# 更新系统软件包
sudo dnf update -y

# 安装开发工具和基础依赖
sudo dnf groupinstall "Development Tools" -y
sudo dnf install python3 python3-devel python3-pip git openssl-devel bzip2-devel libffi-devel wget -y

原理说明
Development Tools组包含gcc、make等编译工具
– Python3是运行Chroma DB的必备环境
– openssl等库是Python某些模块的依赖

第二步:设置Python虚拟环境

为避免与其他Python项目冲突,我们创建一个专用虚拟环境:

代码片段
# 创建项目目录
mkdir ~/chroma_db && cd ~/chroma_db

# 创建虚拟环境
python3 -m venv chroma_env

# 激活虚拟环境
source chroma_env/bin/activate

# 升级pip到最新版本
pip install --upgrade pip

注意事项
– 每次使用Chroma DB前都需要激活虚拟环境(source chroma_env/bin/activate
– 退出虚拟环境使用命令deactivate

第三步:安装Chroma DB和相关依赖

在虚拟环境中执行以下命令:

代码片段
pip install chromadb sentence-transformers pysqlite3-binary

# Chroma DB需要一些自然语言处理模型支持
pip install 'chromadb[all]'

原理说明
chromadb是核心包
sentence-transformers提供默认的嵌入模型
pysqlite3-binary提供SQLite支持(Chroma默认使用SQLite作为存储后端)

第四步:验证安装并运行示例代码

创建一个简单的测试脚本验证安装是否成功:

代码片段
import chromadb

# 初始化客户端(使用持久化存储)
client = chromadb.PersistentClient(path="./chroma_data")

# 创建或获取集合(类似表)
collection = client.get_or_create_collection(name="test_collection")

# 添加一些文档和嵌入向量(这里使用自动生成的随机向量)
collection.add(
    documents=["这是第一个文档", "这是第二个文档"],
    metadatas=[{"source": "doc1"}, {"source": "doc2"}],
    ids=["id1", "id2"]
)

# 查询相似的文档
results = collection.query(
    query_texts=["查找第二个文档"],
    n_results=1
)

print("查询结果:", results)

将上述代码保存为test_chroma.py,然后运行:

代码片段
python test_chroma.py

如果看到类似下面的输出,说明安装成功:

代码片段
查询结果: {'ids': [['id2']], 'distances': [[0.0]], 'metadatas': [[{'source': 'doc2'}]], 'embeddings': None, 'documents': [['这是第二个文档']]}

第五步:配置为系统服务(可选)

如果需要长期运行Chroma DB服务,可以配置为systemd服务:

  1. 创建服务文件:
代码片段
sudo nano /etc/systemd/system/chromadb.service
  1. 添加以下内容(根据实际情况修改路径):
代码片段
[Unit]
Description=Chroma DB Service
After=network.target

[Service]
User=your_username   # 替换为你的用户名
Group=your_group     # 替换为你的组名(通常与用户名相同)
WorkingDirectory=/home/your_username/chroma_db   # Chroma项目目录路径
Environment="PATH=/home/your_username/chroma_db/chroma_env/bin"
ExecStart=/home/your_username/chroma_db/chroma_env/bin/python -m chromadb run --path /home/your_username/chroma_db/chroma_data --port 8000

Restart=always

[Install]
WantedBy=multi-user.target

3.启用并启动服务:

代码片段
sudo systemctl daemon-reload
sudo systemctl enable chromadb.service 
sudo systemctl start chromadb.service 

4.检查服务状态:

代码片段
sudo systemctl status chromadb.service 

FAQ及常见问题解决

Q1: pip安装时出现SSL错误怎么办?

A: CentOS可能需要额外配置SSL证书:

代码片段
sudo dnf install ca-certificates -y 
update-ca-trust force-enable 
update-ca-trust extract 

Q2: Chroma DB启动时报错”Could not connect to server”

A:
1.检查是否已有其他进程占用了8000端口:

代码片段
netstat -tulnp | grep :8000 

2.如果端口冲突,可以修改启动端口:

代码片段
client = chromadb.HttpClient(host="localhost", port=新的端口号) 

Q3: Python版本兼容性问题如何解决?

A: Chroma DB需要Python >=3.8。如果遇到版本问题:

代码片段
# CentOS默认可能安装了较旧版本,可以手动安装新版:
sudo dnf module reset python39 -y && sudo dnf module enable python39 -y && sudo dnf install python39 -y 

#然后重新创建虚拟环境 
python3.9 -m venv chroma_env 

总结

本文详细介绍了在CentOS9上从零开始安装ChromaDB的完整流程。关键步骤包括:
1.系统环境和依赖准备
2.Python虚拟环境配置
3.ChromaDB核心组件安装
4.基本功能验证测试
5.(可选)生产环境部署方案

通过这个向量数据库,你可以开始构建各种AI应用如语义搜索、推荐系统等。后续可以探索连接LLM模型、扩展存储后端等功能。

原创 高质量