当前位置: 首页 > 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.dtcms.com/a/320876.html

相关文章:

  • GPT-5测试后全面解析:性能突破、用户反馈与未来展望
  • 若依前后端分离版学习笔记(七)—— Mybatis,分页,数据源的配置及使用
  • 前后端日期交互方案|前端要传时间戳还是字符串?后端接收时是用Long还是Date还是String?
  • Baumer相机如何通过YoloV8深度学习模型实现危险区域人员的实时检测识别(C#代码UI界面版)
  • 什么是2米分辨率卫星影像数据?
  • JavaScript 对象的解构
  • 5. 缓存-Redis
  • windows 上编译PostgreSQL
  • 极地轨道卫星定位数量问题
  • 数学建模——遗传算法
  • Effective C++ 条款30:透彻了解inlining的里里外外
  • Python名称映射技术:基于序列元素的高级访问模式详解
  • 嵌入式 - 数据结构:哈希表和排序与查找算法
  • 为什么提升模型尺度可以提升模型的CoT能力
  • 浏览器面试题及详细答案 88道(01-11)
  • WPF 表格中单元格使用下拉框显示枚举属性的一种方式
  • Ignite内部事件总线揭秘
  • SQL Server 2019搭建AlwaysOn高可用集群
  • Java学习进阶--集合体系结构
  • Redis是单线程性能还高的原因
  • SiLM92108高度集成8通道门极驱动,赋能汽车与工业电机精准控制
  • 【SpringBoot】SpringBoot配置
  • Go语言实战案例:用net/http构建一个RESTful API
  • 微信小程序功能 表单密码强度验证
  • 主播生活模拟器2|主播人生模拟器2 (Streamer Life Simulator 2)免安装中文版
  • 具身智能模型赋能工业巡检:Deepoc开发板如何重塑机器人认知边界
  • AI搜索引擎——DeepSeek崛起 || #AIcoding·八月创作之星挑战赛# || 简单版
  • 嵌入式硬件接口总结
  • 免费PDF翻译 离线自建
  • 免费PDF批量加密工具