Skip to main content

Crate redis_vl

Crate redis_vl 

Source
Expand description

§redis-vl

Async-first Rust implementation of the Redis Vector Library.

This crate provides vector search, semantic caching, message history, and routing on top of Redis. It targets feature parity with the Python redisvl package while using idiomatic Rust APIs.

§Quick start

use redis_vl::{IndexSchema, SearchIndex, Vector, VectorQuery};

let schema = IndexSchema::from_yaml_file("schema.yaml").unwrap();
let index = SearchIndex::new(schema, "redis://127.0.0.1:6379");
index.create().unwrap();

let query = VectorQuery::new(
    Vector::new(&[0.1_f32; 128] as &[f32]),
    "embedding",
    5,
);
let result = index.search(&query).unwrap();

§Feature flags

  • openai (default) – OpenAI-compatible vectorizer
  • litellm (default) – LiteLLM vectorizer
  • azure-openai – Azure OpenAI vectorizer
  • bedrock – AWS Bedrock vectorizer
  • cohere – Cohere vectorizer and reranker support
  • voyageai – VoyageAI vectorizer
  • mistral – Mistral vectorizer
  • anthropic – Anthropic adapter (Voyage AI-backed)
  • vertex-ai – Google Vertex AI vectorizer
  • hf-local – HuggingFace local ONNX embedding via fastembed
  • sql – SQL query support (SQLQuery)
  • rerankers – Reranker support (CohereReranker)

Re-exports§

pub use error::Error;
pub use extensions::cache::CacheConfig;
pub use extensions::cache::EmbeddingCacheEntry;
pub use extensions::cache::EmbeddingCacheItem;
pub use extensions::cache::EmbeddingsCache;
pub use extensions::cache::SemanticCache;
pub use extensions::history::Message;
pub use extensions::history::MessageHistory;
pub use extensions::history::MessageRole;
pub use extensions::history::SemanticMessageHistory;
pub use extensions::router::DistanceAggregationMethod;
pub use extensions::router::Route;
pub use extensions::router::RouteMatch;
pub use extensions::router::RoutingConfig;
pub use extensions::router::SemanticRouter;
pub use filter::BetweenInclusivity;
pub use filter::FilterExpression;
pub use filter::Geo;
pub use filter::GeoRadius;
pub use filter::Num;
pub use filter::Tag;
pub use filter::Text;
pub use filter::Timestamp;
pub use index::AsyncSearchIndex;
pub use index::QueryOutput;
pub use index::RedisConnectionInfo;
pub use index::SearchDocument;
pub use index::SearchIndex;
pub use index::SearchResult;
pub use query::AggregateHybridQuery;
pub use query::CountQuery;
pub use query::FilterQuery;
pub use query::GeoFilter;
pub use query::HybridCombinationMethod;
pub use query::HybridPolicy;
pub use query::HybridQuery;
pub use query::MultiVectorQuery;
pub use query::PageableQuery;
pub use query::QueryKind;
pub use query::QueryLimit;
pub use query::QueryParam;
pub use query::QueryParamValue;
pub use query::QueryRender;
pub use query::QueryString;
pub use query::SearchHistoryMode;
pub use query::SortBy;
pub use query::SortDirection;
pub use query::TextQuery;
pub use query::Vector;
pub use query::VectorDtype;
pub use query::VectorInput;
pub use query::VectorQuery;
pub use query::VectorRangeQuery;
pub use query::VectorSearchMethod;
pub use query::SQLQuery;
pub use query::SqlParam;
pub use rerankers::AsyncReranker;
pub use rerankers::RerankDoc;
pub use rerankers::RerankResult;
pub use rerankers::Reranker;
pub use rerankers::CohereReranker;
pub use rerankers::CohereRerankerConfig;
pub use schema::Field;
pub use schema::FieldKind;
pub use schema::GeoFieldAttributes;
pub use schema::IndexDefinition;
pub use schema::IndexSchema;
pub use schema::NumericFieldAttributes;
pub use schema::Prefix;
pub use schema::StorageType;
pub use schema::SvsCompressionType;
pub use schema::TagFieldAttributes;
pub use schema::TextFieldAttributes;
pub use schema::TimestampFieldAttributes;
pub use schema::VectorAlgorithm;
pub use schema::VectorDataType;
pub use schema::VectorDistanceMetric;
pub use schema::VectorFieldAttributes;
pub use vectorizers::AnthropicConfig;
pub use vectorizers::AnthropicTextVectorizer;
pub use vectorizers::AsyncVectorizer;
pub use vectorizers::CustomTextVectorizer;
pub use vectorizers::EmbeddingRequest;
pub use vectorizers::LiteLLMTextVectorizer;
pub use vectorizers::OpenAICompatibleConfig;
pub use vectorizers::OpenAITextVectorizer;
pub use vectorizers::Vectorizer;
pub use vectorizers::AzureOpenAIConfig;
pub use vectorizers::AzureOpenAITextVectorizer;
pub use vectorizers::BedrockConfig;
pub use vectorizers::BedrockTextVectorizer;
pub use vectorizers::CohereConfig;
pub use vectorizers::CohereTextVectorizer;
pub use vectorizers::MistralAITextVectorizer;
pub use vectorizers::MistralConfig;
pub use vectorizers::VertexAIConfig;
pub use vectorizers::VertexAITextVectorizer;
pub use vectorizers::VoyageAIConfig;
pub use vectorizers::VoyageAITextVectorizer;

Modules§

error
Error types returned by the library.
extensions
Cache and storage extensions: EmbeddingsCache, SemanticCache, MessageHistory, SemanticMessageHistory, and SemanticRouter. RedisVL extension modules.
filter
Filter DSL for Redis Search queries.
index
Search index lifecycle and Redis transport.
query
Query builders for Redis Search.
rerankers
Reranker abstractions and provider adapters.
schema
Schema types and Redis Search schema serialization.
vectorizers
Embedding provider abstractions and adapters.