你好,chroma是支持持久化(本地存储)
langchain_chroma是对chroma api的封装
from langchain_chroma import Chroma
server模式启动的chroma
chroma run --path ./data
数据会持久化在data目录
首次使用添加完数据以后
chroma_client = chromadb.HttpClient(host="localhost", port=8000)
embedding_db = Chroma.from_documents(documents,
embedding_cls.get_embedding_fun(),
client=chroma_client,
collection_name="zhidu_db2",
)
第二次使用,直接输入集合名就可以获取(确保chroma服务启动状态)
import chromadb
from langchain_chroma import Chroma
chroma_client = chromadb.HttpClient(host="localhost", port=8000)
zhidu_db = Chroma("zhidu_db2",
embedding_cls.get_embedding_fun(),
client=chroma_client)
embedding_db = Chroma.from_documents(documents,
embedding_cls.get_embedding_fun(),
persist_directory='./db',
collection_name="zhidu_db2",
)
第二次使用
zhidu_db = Chroma("zhidu_db2",
embedding_cls.get_embedding_fun(),
persist_directory='./data')
创建完向量集合之后,会通过collection集合命令来获取已经存储在本地或者存储远程服务器上的向量数据
可以用上面两种方式,都试一下
如果有任何疑问,都可以提出来