pub struct PineconeVectorStore { /* private fields */ }Expand description
A VectorStore implementation backed by Pinecone.
Uses the Pinecone REST API for all operations. Each document is stored as a vector with:
- id: the document ID (auto-generated UUID v4 if empty)
- values: the embedding vector
- metadata: includes
content(the document text) plus all document metadata
Implementations§
Source§impl PineconeVectorStore
impl PineconeVectorStore
Sourcepub fn new(config: PineconeConfig) -> Self
pub fn new(config: PineconeConfig) -> Self
Create a new store with the given configuration.
Sourcepub fn config(&self) -> &PineconeConfig
pub fn config(&self) -> &PineconeConfig
Return a reference to the configuration.
Trait Implementations§
Source§impl VectorStore for PineconeVectorStore
impl VectorStore for PineconeVectorStore
Source§fn add_documents<'life0, 'life1, 'async_trait>(
&'life0 self,
docs: Vec<Document>,
embeddings: &'life1 dyn Embeddings,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_documents<'life0, 'life1, 'async_trait>(
&'life0 self,
docs: Vec<Document>,
embeddings: &'life1 dyn Embeddings,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Add documents to the store, computing their embeddings.
Source§fn similarity_search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 str,
k: usize,
embeddings: &'life2 dyn Embeddings,
) -> Pin<Box<dyn Future<Output = Result<Vec<Document>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn similarity_search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 str,
k: usize,
embeddings: &'life2 dyn Embeddings,
) -> Pin<Box<dyn Future<Output = Result<Vec<Document>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Search for similar documents by query string.
Source§fn similarity_search_with_score<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 str,
k: usize,
embeddings: &'life2 dyn Embeddings,
) -> Pin<Box<dyn Future<Output = Result<Vec<(Document, f32)>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn similarity_search_with_score<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 str,
k: usize,
embeddings: &'life2 dyn Embeddings,
) -> Pin<Box<dyn Future<Output = Result<Vec<(Document, f32)>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Search with similarity scores (higher = more similar).
Source§fn similarity_search_by_vector<'life0, 'life1, 'async_trait>(
&'life0 self,
embedding: &'life1 [f32],
k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Document>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn similarity_search_by_vector<'life0, 'life1, 'async_trait>(
&'life0 self,
embedding: &'life1 [f32],
k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Document>, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Search by pre-computed embedding vector instead of text query.
Auto Trait Implementations§
impl Freeze for PineconeVectorStore
impl !RefUnwindSafe for PineconeVectorStore
impl Send for PineconeVectorStore
impl Sync for PineconeVectorStore
impl Unpin for PineconeVectorStore
impl UnsafeUnpin for PineconeVectorStore
impl !UnwindSafe for PineconeVectorStore
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