pub struct PostgresVectorStore<Model: EmbeddingModel> { /* private fields */ }Implementations§
Source§impl<Model> PostgresVectorStore<Model>where
Model: EmbeddingModel,
impl<Model> PostgresVectorStore<Model>where
Model: EmbeddingModel,
pub fn new( model: Model, pg_pool: PgPool, documents_table: Option<String>, distance_function: PgVectorDistanceFunction, ) -> Self
pub fn with_defaults(model: Model, pg_pool: PgPool) -> Self
Trait Implementations§
Source§impl<Model> InsertDocuments for PostgresVectorStore<Model>
impl<Model> InsertDocuments for PostgresVectorStore<Model>
Source§impl<Model> VectorStoreIndex for PostgresVectorStore<Model>where
Model: EmbeddingModel,
impl<Model> VectorStoreIndex for PostgresVectorStore<Model>where
Model: EmbeddingModel,
Source§async fn top_n<T: for<'a> Deserialize<'a> + Send>(
&self,
req: VectorSearchRequest<PgSearchFilter>,
) -> Result<Vec<(f64, String, T)>, VectorStoreError>
async fn top_n<T: for<'a> Deserialize<'a> + Send>( &self, req: VectorSearchRequest<PgSearchFilter>, ) -> Result<Vec<(f64, String, T)>, VectorStoreError>
Get the top n documents based on the distance to the given query. The result is a list of tuples of the form (score, id, document)
Source§async fn top_n_ids(
&self,
req: VectorSearchRequest<PgSearchFilter>,
) -> Result<Vec<(f64, String)>, VectorStoreError>
async fn top_n_ids( &self, req: VectorSearchRequest<PgSearchFilter>, ) -> Result<Vec<(f64, String)>, VectorStoreError>
Same as top_n but returns the document ids only.
Source§type Filter = PgSearchFilter
type Filter = PgSearchFilter
The filter type for this backend.
Auto Trait Implementations§
impl<Model> !RefUnwindSafe for PostgresVectorStore<Model>
impl<Model> !UnwindSafe for PostgresVectorStore<Model>
impl<Model> Freeze for PostgresVectorStore<Model>where
Model: Freeze,
impl<Model> Send for PostgresVectorStore<Model>
impl<Model> Sync for PostgresVectorStore<Model>
impl<Model> Unpin for PostgresVectorStore<Model>where
Model: Unpin,
impl<Model> UnsafeUnpin for PostgresVectorStore<Model>where
Model: UnsafeUnpin,
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> 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> 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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, F> PortableTool for Twhere
F: SearchFilter<Value = Value> + WasmCompatSend + WasmCompatSync + for<'de> Deserialize<'de>,
T: VectorStoreIndex<Filter = F>,
impl<T, F> PortableTool for Twhere
F: SearchFilter<Value = Value> + WasmCompatSend + WasmCompatSync + for<'de> Deserialize<'de>,
T: VectorStoreIndex<Filter = F>,
Source§const NAME: &'static str = "search_vector_store"
const NAME: &'static str = "search_vector_store"
Unique registration and provider-facing name.
Source§type Error = VectorStoreError
type Error = VectorStoreError
Concrete author-facing failure.
Source§type Args = VectorSearchRequest<F>
type Args = VectorSearchRequest<F>
Owned JSON arguments.
Source§type Output = Vec<VectorStoreOutput>
type Output = Vec<VectorStoreOutput>
Canonical model-visible output.
Source§fn description(&self) -> String
fn description(&self) -> String
Model-facing description.
Source§fn parameters(&self) -> Value
fn parameters(&self) -> Value
JSON Schema for arguments.
Source§async fn call(
&self,
args: <T as PortableTool>::Args,
) -> Result<<T as PortableTool>::Output, <T as PortableTool>::Error>
async fn call( &self, args: <T as PortableTool>::Args, ) -> Result<<T as PortableTool>::Output, <T as PortableTool>::Error>
Execute one owned invocation without runtime access.
Source§fn map_error(&self, error: Self::Error) -> ToolExecutionError
fn map_error(&self, error: Self::Error) -> ToolExecutionError
Normalize a concrete failure at the runtime effect boundary.