pub trait InsertDocuments: WasmCompatSend + WasmCompatSync {
// Required method
fn insert_documents<Doc: Serialize + Embed + WasmCompatSend>(
&self,
documents: Vec<(Doc, Vec<Embedding>)>,
) -> impl Future<Output = Result<(), VectorStoreError>> + WasmCompatSend;
}Expand description
Trait for inserting documents and embeddings into a vector store.
Required Methods§
Sourcefn insert_documents<Doc: Serialize + Embed + WasmCompatSend>(
&self,
documents: Vec<(Doc, Vec<Embedding>)>,
) -> impl Future<Output = Result<(), VectorStoreError>> + WasmCompatSend
fn insert_documents<Doc: Serialize + Embed + WasmCompatSend>( &self, documents: Vec<(Doc, Vec<Embedding>)>, ) -> impl Future<Output = Result<(), VectorStoreError>> + WasmCompatSend
Insert precomputed embeddings for each document.
Every document must carry at least one embedding. The embedding
list was non-empty by construction until it became a Vec; the
requirement did not go away, it moved to the caller. Implementors do
not guard it, and what an empty list does varies by store — some
silently insert nothing, some store a document no similarity search
can ever return, some surface a confusing driver error. Embeddings
produced by EmbeddingsBuilder always satisfy this; only hand-built
tuples can violate it.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".