RAG实践(二)安装并使用向量数据库(chromadb)

打印 上一主题 下一主题

主题 982|帖子 982|积分 2946

1. 环境

  1. 环境:
  2. miniconda==24.11.1
  3. python==3.12.1
复制代码
2. 介绍

chromadb 是一个开源的向量数据库,专门用于存储和检索高维向量数据,轻量级,适合快速原型开发,适合新手练习。
3. 安装

  1. pip install chromadb
复制代码
3.1 持久客户端运行

  1. chroma run --path /path
复制代码
/path 是文件存储磁盘的路径
这样就阐明已经启动,默认是8000端口
http://localhost:8000/docs
启动后可以打开swagger文档,有接口可以操作数据库
官方文档
启动后Getting started guide后是官方文档可以自行查看

3.X 安装过程的问题

这是因为chroma-hnswlib,它依靠于 hnswlib,而 hnswlib 必要 C++ 编译器和 cmake

下载  Visual Studio Build Tools
并确保勾选 C++ 编译器和 CMake。

4.代码实践增、删、改、查

  1. import chromadb
  2. chroma_client = chromadb.HttpClient(host='localhost', port=8000)
  3. chroma_client.heartbeat
复制代码
  1. ##创建一个集合、类似于传统数据库的表
  2. collection = chroma_client.get_or_create_collection(name ="test_collection")
  3. ##插入数据
  4. collection.add(
  5.     embeddings=[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]], #向量数据
  6.     metadatas=[{"name": "item1"}, {"name": "item2"}],#元数据,描述向量的数据
  7.     ids=["id1", "id2"]
  8. )
复制代码
  1. ##删除数据
  2. collection.delete(
  3.     ids=["id1"]
  4. )
复制代码
  1. ##更新数据
  2. collection.update(
  3.     ids=["id1", "id2", ],
  4.     embeddings=[[1.1, 2.3, 3.2], [4.5, 6.9, 4.4]],
  5.     metadatas=[{"chapter": "3", "verse": "16"}, {"chapter": "3", "verse": "5"}],
  6.     documents=["doc1", "doc2"],
  7. )
复制代码
  1. # 查询数据
  2. results = collection.get(
  3.    
  4.     where={"verse": "5"}
  5. )
  6. print(results)
  7. # 查询数据
  8. results = collection.query(
  9.    query_embeddings=[1.0, 2.0, 3.0],
  10.     where={"verse": "16"}
  11. )
复制代码
  1. #删除集合
  2. chroma_client.delete_collection("test_collection")
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表