VDMS
VDMS 是一种存储解决方案,旨在通过存储为图形的视觉元数据来搜索相关的视觉数据,从而实现对大规模“视觉”数据的高效访问,并使视觉数据能够进行机器友好的增强,以实现更快的访问。
安装与设置
安装客户端
pip install vdms
安装数据库
有两种方法可以开始使用 VDMS:
通过 Docker 在本地机器上安装 VDMS
docker run -d -p 55555:55555 intellabs/vdms:latest
直接在本地机器上安装 VDMS
请参阅 安装说明。
VectorStore
向量存储是对 VDMS 的简单封装。它提供了一个简单的接口来存储和检索数据。
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import CharacterTextSplitter
loader = TextLoader("./state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=500, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
from langchain_community.vectorstores import VDMS
from langchain_community.vectorstores.vdms import VDMS_Client
from langchain_huggingface import HuggingFaceEmbeddings
client = VDMS_Client("localhost", 55555)
vectorstore = VDMS.from_documents(
docs,
client=client,
collection_name="langchain-demo",
embedding_function=HuggingFaceEmbeddings(),
engine="FaissFlat"
distance_strategy="L2",
)
query = "What did the president say about Ketanji Brown Jackson"
results = vectorstore.similarity_search(query)
有关 VDMS 封装的更详细的讲解,请参见 此笔记本