【Chroma】安装和运行 Chroma 向量数据库
安装和运行 Chroma 向量数据库一、Windows 平台安装和运行 Chroma1. 安装2. 运行3. 测试二、Linux 平台安装和运行 Chroma1. 安装2. 运行3. 测试三、LuckReport 项目推荐1、项目简介2、在线体验四、学习交流最近在做 Agent 相关的项目免不了要跟向量数据库打交道。Chroma 是本地调试常用的一类向量数据库本文将按照 Windows 、 Linux 两个平台分别讲解如何安装、运行 Chroma 向量数据库环境说明Windows 部分基于 Python 3.x pipLinux 部分基于 Docker一、Windows 平台安装和运行 Chroma1. 安装安装 Chroma 之前先搭建好 Python 项目和虚拟环境第一步创建项目目录和虚拟环境以我的为例项目路径是D:\TestCode\python\chroma-db# 进入项目目录cd D:\TestCode\python\chroma-db# 用 conda 创建虚拟环境如果你用的 Anacondaconda create-n chroma-db python3.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.pyimportchromadbfromchromadb.serverimportServerfromchromadb.configimportSettings settingsSettings(persist_directory./chroma_data,anonymized_telemetryFalse)serverServer(settings)server.run(host0.0.0.0,port8000)项目运行后会在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 平台安装和运行 Chroma1. 安装Linux 上推荐用 Docker 来安装 Chroma 服务拉取 Chroma 镜像dockerpull chromadb/chroma:1.5.3如果拉不动配个国内镜像源或者走代理。2. 运行启动容器dockerrun-d\--namechromadb\--restartunless-stopped\-p8000:8000\-v/home/soft/chroma/data:/data\-eIS_PERSISTENTTRUE\-eALLOW_RESETfalse\-eANONYMIZED_TELEMETRYFALSE\chromadb/chroma:1.5.3参数说明参数干啥的--name chromadb容器起个名方便后续管理--restartunless-stopped机器重启后容器自动跟着起来-p 8000:8000把容器 8000 端口映射到宿主机-v /home/soft/chroma/data:/data数据持久化容器删了数据还在-e ALLOW_RESETfalse禁止通过 API 重置数据库生产环境建议关掉-e ANONYMIZED_TELEMETRYFALSE关掉匿名遥测不上报使用数据如果需要指定版本改镜像标签就行比如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 高性能报表引擎通过迭代单元格可以实现任意复杂的中国式报表。相较于 UReport2Luck-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学习交流一个人的精力是有限的没有那么多的时间去探索新的事物加入一个交流群就相当于增加了一个接触新事物、新想法、新机会的渠道这就是交流群存在的意义期待你的加入