pub enum VectorStoreBackend {
Qdrant(QdrantStore),
Weaviate(WeaviateStore),
Pinecone(PineconeStore),
}Expand description
Vector store backend enum
Variants§
Qdrant(QdrantStore)
Qdrant vector database
Weaviate(WeaviateStore)
Weaviate vector database
Pinecone(PineconeStore)
Pinecone vector database
Implementations§
Source§impl VectorStoreBackend
impl VectorStoreBackend
Sourcepub async fn new(config: &VectorDbConfig) -> Result<Self>
pub async fn new(config: &VectorDbConfig) -> Result<Self>
Create a new vector store instance
Sourcepub async fn store(
&self,
id: &str,
vector: &[f32],
metadata: Option<Value>,
) -> Result<()>
pub async fn store( &self, id: &str, vector: &[f32], metadata: Option<Value>, ) -> Result<()>
Store a vector with metadata
Sourcepub async fn search(
&self,
query_vector: &[f32],
limit: usize,
threshold: Option<f32>,
) -> Result<Vec<SearchResult>>
pub async fn search( &self, query_vector: &[f32], limit: usize, threshold: Option<f32>, ) -> Result<Vec<SearchResult>>
Search for similar vectors
Sourcepub async fn health_check(&self) -> Result<()>
pub async fn health_check(&self) -> Result<()>
Health check
Sourcepub async fn batch_store(&self, points: &[VectorPoint]) -> Result<()>
pub async fn batch_store(&self, points: &[VectorPoint]) -> Result<()>
Batch store vectors
Trait Implementations§
Source§impl Clone for VectorStoreBackend
impl Clone for VectorStoreBackend
Auto Trait Implementations§
impl !RefUnwindSafe for VectorStoreBackend
impl !UnwindSafe for VectorStoreBackend
impl Freeze for VectorStoreBackend
impl Send for VectorStoreBackend
impl Sync for VectorStoreBackend
impl Unpin for VectorStoreBackend
impl UnsafeUnpin for VectorStoreBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.