Optional
_Optional
clientOptional
collectionOptional
distanceOptional
filterProtected
_Method to add documents to the vector store. It converts the documents into vectors, and adds them to the store.
Array of Document
instances.
Optional
options: { ids?: string[] }Optional arguments for adding documents
Promise that resolves when the documents have been added.
Method to add vectors to the vector store. It converts the vectors into rows and inserts them into the database.
Array of vectors.
Array of Document
instances.
Optional
options: { ids?: string[] }Optional arguments for adding documents
Promise that resolves when the vectors have been added.
Method to create the HNSW index on the vector column.
Promise that resolves with the query response of creating the index.
Method to delete documents from the vector store. It deletes the documents that match the provided ids or metadata filter. Matches ids exactly and metadata filter according to postgres jsonb containment. Ids and filter are mutually exclusive.
Object containing either an array of ids or a metadata filter object.
Promise that resolves when the documents have been deleted.
Closes all the clients in the pool and terminates the pool.
Promise that resolves when all clients are closed and the pool is terminated.
Method to ensure the existence of the collection table in the database. It creates the table if it does not already exist.
Promise that resolves when the collection table has been ensured.
Method to ensure the existence of the table in the database. It creates the table if it does not already exist.
Optional
dimensions: numberNumber of dimensions in your vector data type. For example, use 1536 for OpenAI's text-embedding-3-small
. If not set, indexes like HNSW might not be used during query time.
Promise that resolves when the table has been ensured.
Inserts a row for the collectionName provided at initialization if it does not exist and returns the collectionId.
The collectionId for the given collectionName.
Return documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.
Text to look up documents similar to.
Number of documents to return.
Number of documents to fetch before passing to the MMR algorithm.
Number between 0 and 1 that determines the degree of diversity among the results, where 0 corresponds to maximum diversity and 1 to minimum diversity.
List of documents selected by maximal marginal relevance.
Method to perform a similarity search in the vector store. It returns
the k
most similar documents to the query vector, along with their
similarity scores.
Query vector.
Number of most similar documents to return.
Optional
filter: MetadataFilterOptional filter to apply to the search.
Promise that resolves with an array of tuples, each containing a Document
and its similarity score.
Static
fromStatic method to create a new PGVectorStore
instance from an
array of Document
instances. It adds the documents to the store.
Array of Document
instances.
Embeddings instance.
PGVectorStoreArgs
instance.
Promise that resolves with a new instance of PGVectorStore
.
Static
fromStatic method to create a new PGVectorStore
instance from an
array of texts and their metadata. It converts the texts into
Document
instances and adds them to the store.
Array of texts.
Array of metadata objects or a single metadata object.
Embeddings instance.
PGVectorStoreArgs
instance.
Promise that resolves with a new instance of PGVectorStore
.
Static
initializeStatic method to create a new PGVectorStore
instance from a
connection. It creates a table if one does not exist, and calls
connect
to return a new instance of PGVectorStore
.
Embeddings instance.
A new instance of PGVectorStore
.
PGVector vector store integration.
Setup: Install
@langchain/community
andpg
.If you wish to generate ids, you should also install the
uuid
package.Constructor args
Instantiate
Add documents
Delete documents
Similarity search
Similarity search with filter
Similarity search with filter operators
Available filter operators: in, notIn, lte, lt, gte, gt, neq
Similarity search with score
As a retriever