当前位置: 首页 > news >正文

安装向量数据库chromadb

创建虚拟环境: python -m venv llama-env python 3.10 以上
激活: source llama-env/bin/activate
退出: deactivate

安装: chromadb
chromadb 默认依赖数据库是sqlite 需3.35以上

python -c "import sqlite3; print(sqlite3.sqlite_version)"
不是的话 先升级sqlite
pip install chromadb

demo验证: 参考: https://blog.csdn.net/ShuaiQIXiaoLuo/article/details/145134626 (可以看看)

import chromadb
chroma_client = chromadb.Client()collection = chroma_client.create_collection(name="my_collection")collection.add(documents=["This is a document about engineer", "This is a document about steak"],metadatas=[{"source": "doc1"}, {"source": "doc2"}],ids=["id1", "id2"]
)results = collection.query(query_texts=["Which food is the best?"],n_results=2
)
print(results)

在这里插入图片描述

启动 Chroma 服务(服务器模式)像数据库一样远程连接使用

# 自定义端口(默认 8000)
chroma run --path /data/chroma --port 8080
--path /data/chroma  数据存储在指定目录# 启用详细日志(调试用)
chroma run --path /data/chroma --verbose# 绑定到所有网络接口(允许外部设备访问,默认仅本地)
chroma run --path /data/chroma --host 0.0.0.0# 后台运行并将日志输出到文件
nohup chroma run --path /data/chroma --port 8000 > chroma.log 2>&1 &不输出日志
nohup chroma run --path /opt/llama/chromadb/  --port 8000 --host 0.0.0.0  > /dev/null 2>&1 &

使用浏览器访问http://ip地址:8000/api/v2/version 显示版本号 即启动成功

测试: 添加文档

import chromadbchroma_client = chromadb.HttpClient(host="10.10.0.12", port=8000)collection = chroma_client.get_or_create_collection(name="my_collection")
# 添加文档 测试  由chromadb转为向量  然后存储 这里需要一个模型组件很容易报错
collection.add(documents=["This is a document about engineer", "This is a document about steak"],metadatas=[{"source": "doc1"}, {"source": "doc2"}],ids=["id1", "id2"],
)
results = collection.query(query_texts=["Which food is the best?"], n_results=2)
print(results)# 添加向量测试 直接存储向量
chroma_client.delete_collection("my_collection")
collection = chroma_client.get_or_create_collection(name="my_collection")
collection.add(embeddings=[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]],  # 向量数据metadatas=[{"name": "item1"}, {"name": "item2"}],  # 元数据,描述向量的数据ids=["id1", "id2"],
)
results = collection.get(where={"verse": "5"})
print(results)

第一次使用中间会缺少包,

http://www.lryc.cn/news/613954.html

相关文章:

  • Java+uniapp+websocket实现实时聊天,并保存聊天记录
  • mac笔记本如何重新设置ssh key
  • React Hooks 完全指南:从概念到内置 Hooks 全解析
  • 五种IO模型与⾮阻塞IO
  • leetcode1456:定长子串中元音的最大数目(定长滑动窗口)
  • 云平台运维工具 —— 阿里云原生工具
  • 云原生时代的 Linux:容器、虚拟化与分布式的基石
  • react的form.resetFields()
  • 人工智能之数学基础:事件独立性
  • Java中重写和重载有哪些区别
  • MySQL vs PostgreSQL 深度对比:为你的新项目选择正确的开源数据库 (2025)
  • LVS高可靠
  • Java-注解
  • Azure OpenAI gpt5和AWS Secrets Manager构建智能对话系统
  • Windows10中wls2因网络问题无法拉取Docker/Podman容器镜像
  • mysql复制连接下的所有表+一次性拷贝到自己的库
  • 深入解析C++流运算符(>>和<<)重载:为何必须使用全局函数与友元机制
  • 专利服务系统平台|个人专利服务系统|基于java和小程序的专利服务系统设计与实现(源码+数据库+文档)
  • 基于Flask + Vue3 的新闻数据分析平台源代码+数据库+使用说明,爬取今日头条新闻数据,采集与清洗、数据分析、建立数据模型、数据可视化
  • 在 Debian 系统上安装 Redis服务
  • 驾驭数据库迁移:在 Django 与 Flask 中的全流程实战指南
  • Spark01-初识Spark
  • 柠檬笔试——野猪骑士
  • apache cgi测试
  • Docker容器部署前端Vue服务
  • Spring Boot + Angular 实现安全登录注册系统:全栈开发指南
  • 【AI】从零开始的文本分类模型实战:从数据到部署的全流程指南
  • BBH详解:面向大模型的高阶推理评估基准与数据集分析
  • C++信息学奥赛一本通-第一部分-基础一-第3章-第1节
  • 支持向量机(SVM)全解析:原理、类别与实践