Skip to main content

VDMS

VDMS is a storage solution for efficient access of big-”visual”-data that aims to achieve cloud scale by searching for relevant visual data via visual metadata stored as a graph and enabling machine friendly enhancements to visual data for faster access.

Installation and Setup

Install Client

pip install vdms

Install Database

There are two ways to get started with VDMS:

Install VDMS on your local machine via docker

docker pull intellabs/vdms:latest
docker run -d -p 55555:55555 intellabs/vdms:latest

Install VDMS directly on your local machine

Please see installation instructions.

VectorStore

The vector store is a simple wrapper around VDMS. It provides a simple interface to store and retrieve data.

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)
model_name = "sentence-transformers/all-mpnet-base-v2"
vectorstore = VDMS.from_documents(
docs,
client=client,
collection_name="langchain-demo",
embedding=HuggingFaceEmbeddings(model_name=model_name),
engine="FaissFlat"
distance_strategy="L2",
)

query = "What did the president say about Ketanji Brown Jackson"
results = vectorstore.similarity_search(query)

For a more detailed walkthrough of the VDMS wrapper, see this notebook


Was this page helpful?