RedisVL provides a powerful Python client library for using Redis as a Vector Database. Leverage the speed and reliability of Redis along with vector-based semantic search capabilities to supercharge your application!
Note: This supported by Redis, Inc. on a good faith effort basis. To report bugs, request features, or receive assistance, please file an issue.
Vector databases have become increasingly popular in recent years due to their ability to store and retrieve vectors efficiently. However, most vector databases are complex to use and require a lot of time and effort to set up. RedisVL aims to solve this problem by providing a simple and intuitive interface for using Redis as a vector database.
RedisVL provides a client library that enables you to harness the power and flexibility of Redis as a vector database. This library simplifies the process of storing, retrieving, and performing complex semantic and hybrid searches over vectors in Redis. It also provides a robust index management system that allows you to create, update, and delete indices with ease.
RedisVL has a host of powerful features designed to streamline your vector database operations.
-
Index Management: RedisVL allows for indices to be created, updated, and deleted with ease. A schema for each index can be defined in yaml or directly in python code and used throughout the lifetime of the index.
-
Embedding Creation: RedisVLs Vectorizers integrate with common embedding model services to simplify the process of vectorizing unstructured data.
-
Vector Search: RedisVL provides robust search capabilities that enable you quickly define complex search queries with flexible abstractions.
- VectorQuery - Flexible vector queries with filters
- RangeQuery - Vector search within a defined range
- CountQuery - Count the number of records given attributes
- FilterQuery - Filter records given attributes
-
Hybrid (Filtered) queries that utilize tag, geographic, numeric, and other filters like full-text search are also supported.
-
Semantic Caching:
LLMCache
is a semantic caching interface built directly into RedisVL. Semantic caching is a popular technique to increase the QPS and reduce the cost of using LLM models in production. -
JSON Storage: RedisVL supports storing JSON objects, including vectors, in Redis.
Install redisvl
using pip
:
pip install redisvl
For more instructions, see the installation guide.
To get started with RedisVL, check out the
Please help us by contributing PRs or opening GitHub issues for desired behaviors or discovered bugs. Read more about how to contribute to RedisVL!