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