Nhảy tới nội dung

Class: PGVectorStore

Provides support for writing and querying vector data in Postgres.

Implements

Constructors

constructor

new PGVectorStore()

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:40

Properties

collection

Private collection: string = ""

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:18


db

Optional db: Client

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:38


storesText

storesText: boolean = true

Implementation of

VectorStore.storesText

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:16

Methods

add

add(embeddingResults): Promise<string[]>

Adds vector record(s) to the table. NOTE: Uses the collection property controlled by setCollection/getCollection.

Parameters

NameTypeDescription
embeddingResultsBaseNode<Metadata>[]The Nodes to be inserted, optionally including metadata tuples.

Returns

Promise<string[]>

A list of zero or more id values for the created records.

Implementation of

VectorStore.add

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:144


checkSchema

Private checkSchema(db): Promise<Client>

Parameters

NameType
dbClient

Returns

Promise<Client>

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:90


clearCollection

clearCollection(): Promise<QueryResult<any>>

Delete all vector records for the specified collection. NOTE: Uses the collection property controlled by setCollection/getCollection.

Returns

Promise<QueryResult<any>>

The result of the delete query.

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:128


client

client(): Promise<Client>

Connects to the database specified in environment vars. This method also checks and creates the vector extension, the destination table and indexes if not found.

Returns

Promise<Client>

A connection to the database, or the error encountered while connecting/setting up.

Implementation of

VectorStore.client

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:119


delete

delete(refDocId, deleteKwargs?): Promise<void>

Deletes a single record from the database by id. NOTE: Uses the collection property controlled by setCollection/getCollection.

Parameters

NameTypeDescription
refDocIdstringUnique identifier for the record to delete.
deleteKwargs?anyRequired by VectorStore interface. Currently ignored.

Returns

Promise<void>

Promise that resolves if the delete query did not throw an error.

Implementation of

VectorStore.delete

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:196


getCollection

getCollection(): string

Getter for the collection property. Using a collection allows for simple segregation of vector data, e.g. by user, source, or access-level. Leave/set blank to ignore the collection value when querying.

Returns

string

The currently-set collection value. Default is empty string.

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:60


getDb

Private getDb(): Promise<Client>

Returns

Promise<Client>

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:64


persist

persist(persistPath, fs?): Promise<void>

Required by VectorStore interface. Currently ignored.

Parameters

NameType
persistPathstring
fs?GenericFileSystem

Returns

Promise<void>

Resolved Promise.

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:269


query

query(query, options?): Promise<VectorStoreQueryResult>

Query the vector store for the closest matching data to the query embeddings

Parameters

NameTypeDescription
queryVectorStoreQueryThe VectorStoreQuery to be used
options?anyRequired by VectorStore interface. Currently ignored.

Returns

Promise<VectorStoreQueryResult>

Zero or more Document instances with data from the vector store.

Implementation of

VectorStore.query

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:217


setCollection

setCollection(coll): void

Setter for the collection property. Using a collection allows for simple segregation of vector data, e.g. by user, source, or access-level. Leave/set blank to ignore the collection value when querying.

Parameters

NameTypeDescription
collstringName for the collection.

Returns

void

Defined in

packages/core/src/storage/vectorStore/PGVectorStore.ts:49