ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Chroma】安装和运行 Chroma 向量数据库

【Chroma】安装和运行 Chroma 向量数据库

安装和运行 Chroma 向量数据库

  • 一、Windows 平台安装和运行 Chroma
    • 1. 安装
    • 2. 运行
    • 3. 测试
  • 二、Linux 平台安装和运行 Chroma
    • 1. 安装
    • 2. 运行
    • 3. 测试
  • 三、LuckReport 项目推荐
    • 1、项目简介
    • 2、在线体验
  • 四、学习交流

最近在做 Agent 相关的项目,免不了要跟向量数据库打交道。Chroma 是本地调试常用的一类向量数据库,本文将按照 Windows 、 Linux 两个平台分别讲解如何安装、运行 Chroma 向量数据库

环境说明:Windows 部分基于 Python 3.x + pip,Linux 部分基于 Docker


一、Windows 平台安装和运行 Chroma

1. 安装

安装 Chroma 之前,先搭建好 Python 项目和虚拟环境

第一步:创建项目目录和虚拟环境

以我的为例,项目路径是D:\TestCode\python\chroma-db

# 进入项目目录cd D:\TestCode\python\chroma-db# 用 conda 创建虚拟环境(如果你用的 Anaconda)conda create-n chroma-db python=3.10# 激活虚拟环境conda activate chroma-db

如果你不用 conda,用 Python 自带的 venv 也行:

# 进入项目目录cd D:\TestCode\python\chroma-db# 创建虚拟环境python-m venv chroma-db-env# 激活chroma-db-env\Scripts\activate

虚拟环境激活之后,命令行前面会多一个(chroma-db)(chroma-db-env)的前缀,说明你已经在虚拟环境里了。

第二步:装 chromadb 包

python-m pip install chromadb-i https://pypi.tuna.tsinghua.edu.cn/simple--trusted-host pypi.tuna.tsinghua.edu.cn

这里用了清华的镜像源,国内下载速度能快不少。如果你网络没问题,直接pip install chromadb也可以

2. 运行

装好之后有两种方式启动 Chroma 服务。

方式一:Python 代码启动

在项目根目录D:\TestCode\python\chroma-db下创建main.py

importchromadbfromchromadb.serverimportServerfromchromadb.configimportSettings settings=Settings(persist_directory="./chroma_data",anonymized_telemetry=False)server=Server(settings)server.run(host="0.0.0.0",port=8000)

项目运行后会在D:\TestCode\python\chroma-db\chroma_data目录下生成数据文件,包括 SQLite 数据库和向量索引文件。

启动程序

# 进入项目目录cd D:\TestCode\python\chroma-db# 运行python main.py

方式二:命令行直接启动

chroma run--host 0.0.0.0--port 8000--path./chroma_data

参数说明:

  • --host 0.0.0.0监听所有网卡,方便其他机器访问
  • --port 8000端口号
  • --path ./chroma_data数据存储目录,不指定的话默认在当前目录下

3. 测试

服务跑起来后,用 HTTP 接口验证服务是否正常

curl http://localhost:8000/api/v1/heartbeat

返回类似{"nanosecond heartbeat":1234567890}这样一串 JSON,就说明服务正常跑着了。

再测一下 API 文档页面能不能打开:浏览器访问 http://127.0.0.1:8000/docs ,能看到 Swagger UI 界面就一切 OK


二、Linux 平台安装和运行 Chroma

1. 安装

Linux 上推荐用 Docker 来安装 Chroma 服务

拉取 Chroma 镜像

dockerpull chromadb/chroma:1.5.3

如果拉不动,配个国内镜像源或者走代理。

2. 运行

启动容器

dockerrun-d\--namechromadb\--restart=unless-stopped\-p8000:8000\-v/home/soft/chroma/data:/data\-eIS_PERSISTENT=TRUE\-eALLOW_RESET=false\-eANONYMIZED_TELEMETRY=FALSE\chromadb/chroma:1.5.3

参数说明

参数干啥的
--name chromadb容器起个名,方便后续管理
--restart=unless-stopped机器重启后容器自动跟着起来
-p 8000:8000把容器 8000 端口映射到宿主机
-v /home/soft/chroma/data:/data数据持久化,容器删了数据还在
-e ALLOW_RESET=false禁止通过 API 重置数据库,生产环境建议关掉
-e ANONYMIZED_TELEMETRY=FALSE关掉匿名遥测,不上报使用数据

如果需要指定版本,改镜像标签就行,比如chromadb/chroma:0.4.24

3. 测试

测试一:心跳检测

curlhttp://localhost:8000/api/v1/heartbeat

返回类似{"nanosecond heartbeat":...}就说明服务在跑。

测试二:API 接口验证

# 列出所有 collectioncurlhttp://localhost:8000/api/v1/collections# 查看版本curlhttp://localhost:8000/api/v1/version

能正常返回 JSON 数据就说明一切 OK。Chroma 连接后客户端会自动创建所需的 Collection,不像 pgvector 那样还需要手动建表建索引,确实省事不少。


三、LuckReport 项目推荐

导航:LuckReport专栏

1、项目简介

Luck-Report 是一款基于开源项目 UReport2 重构的 Java 高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。相较于 UReport2,Luck-Report 在技术架构上进行了全新升级,后端基于 SpringBoot 框架开发、前端采用 Vue 框架构建,技术选型贴合当下主流项目开发标准,可精准适配各类实际开发需求。

Luck-Report 提供了全新的基于网页的报表设计器,可以在 Chrome、Firefox、Edge 等各种主流浏览器运行(IE 浏览器除外)。使用 Luck-Report,打开浏览器即可完成各种复杂报表的设计制作。

Luck-Report 基于 Apache-2.0 开源协议开源

2、在线体验

  • 体验地址:https://www.quzhe.top/luck-report/report/designer
  • 源码地址:https://gitee.com/LuckyPools/luck-report
  • 文档地址:https://www.quzhe.top/luck-report-blog/report

四、学习交流

链接: Java-AI学习交流
一个人的精力是有限的,没有那么多的时间去探索新的事物,加入一个交流群就相当于增加了一个接触新事物、新想法、新机会的渠道,这就是交流群存在的意义,期待你的加入!

返回列表