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> Freeze for PostgresVectorStore<Model>where
Model: Freeze,
impl<Model> !RefUnwindSafe for PostgresVectorStore<Model>
impl<Model> Send for PostgresVectorStore<Model>
impl<Model> Sync for PostgresVectorStore<Model>
impl<Model> Unpin for PostgresVectorStore<Model>where
Model: Unpin,
impl<Model> !UnwindSafe for PostgresVectorStore<Model>
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> Tool for Twhere
F: SearchFilter<Value = Value> + WasmCompatSend + WasmCompatSync + for<'de> Deserialize<'de>,
T: VectorStoreIndex<Filter = F>,
impl<T, F> Tool 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"
The name of the tool. This name should be unique.
Source§type Error = VectorStoreError
type Error = VectorStoreError
The error type of the tool.
Source§type Args = VectorSearchRequest<F>
type Args = VectorSearchRequest<F>
The arguments type of the tool.
Source§type Output = Vec<VectorStoreOutput>
type Output = Vec<VectorStoreOutput>
The output type of the tool.
Source§async fn definition(&self, _prompt: String) -> ToolDefinition
async fn definition(&self, _prompt: String) -> ToolDefinition
A method returning the tool definition. The user prompt can be used to
tailor the definition to the specific use case.