Vector Store
Last updated
Last updated
Vector databases make it possible to draw comparisons via semantic search, identify relationships, and understand the context within the vector Embeddings. One additional advantage of vector stores is that we can use them as a retriever, where, based on a user query, it returns the relevant information.
A few of the popular Vector Store or Vector Databases are: Chroma, Weaviate, Qdrant, Milvus, FAISS, ElasticSearch and Pinecone. GenAI Stack currently supports Chroma, Reddis, and Weaviate.
ChromaDB is an Open Source vector dataset, in this case, we use ChromaDB to store the embeddings as a In-memory location. Each document embeddings needs to have a unique collection name to store and reuse the index.
Parameters
Collection Name: A unique name that needs to be assigned to reuse the stored index.
Documents: The chunked or loaded document component.
Embeddings: Embedding component to convert documents into vectors.
Persist directory: A directory to save the embeddings index.
Example usage:
Persist directory can be enabled to save your index. The path that you need to provide is /mnt/models/chroma
Weaviate is an open-source vector search engine that stores both objects and vectors. It also supports cloud clients to store vector embeddings.
Parameters
Documents: The chunked or loaded document component.
Embeddings: Embedding component to convert documents into vectors.
Index Name: A unique identifier to save the index
Weaviate API Key: Weaviate API key for the cluster created on Weaviate cloud
Weaviate URL: Cluster URL on Weaviate cloud
Example usage:
Redis is an open-source, in-memory vector store. It offers low-latency reads and writes, making it suitable for use cases that require a cache.
Parameters
Documents: The chunked or loaded document component.
Embeddings: Embedding component to convert documents into vectors.
Redis Index: A unique identifier for the index created in Redis
Redis server connection string: The server connection string is the address and credentials for connecting to the Redis server
Example usage: