langchain.js
    Preparing search index...

    Class that provides an interface to a Vercel Postgres vector database. It extends the VectorStore base class and implements methods for adding documents and vectors and performing similarity searches.

    Hierarchy (View Summary)

    Index

    Constructors

    • Parameters

      Returns VercelPostgres

    Properties

    _verbose?: boolean
    client: VercelPoolClient
    contentColumnName: string
    filter?: Metadata
    FilterType: Metadata
    idColumnName: string
    metadataColumnName: string
    pool: VercelPool
    tableName: string
    vectorColumnName: string

    Methods

    • Returns string

    • Method to add documents to the vector store. It converts the documents into vectors, and adds them to the store.

      Parameters

      • documents: Document[]

        Array of Document instances.

      • Optionaloptions: { ids?: string[] }

      Returns Promise<string[]>

      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.

      Parameters

      • vectors: number[][]

        Array of vectors.

      • documents: Document[]

        Array of Document instances.

      • Optionaloptions: { ids?: string[] }

      Returns Promise<string[]>

      Promise that resolves when the vectors have been added.

    • Parameters

      • params: { deleteAll?: boolean; ids?: string[] }

      Returns Promise<void>

    • Closes all the clients in the pool and terminates the pool.

      Returns Promise<void>

      Promise that resolves when all clients are closed and the pool is terminated.

    • Method to ensure the existence of the table in the database. It creates the table if it does not already exist.

      Returns Promise<void>

      Promise that resolves when the table has been ensured.

    • Generates the SQL placeholders for a specific row at the provided index.

      Parameters

      • row: (string | Record<string, any>)[]
      • index: number

        The index of the row for which placeholders need to be generated.

      Returns string

      The SQL placeholders for the row values.

    • Constructs the SQL query for inserting rows into the specified table.

      Parameters

      • rows: (string | Record<string, any>)[][]

        The rows of data to be inserted, consisting of values and records.

      • useIdColumn: boolean

      Returns Promise<QueryResult<any>>

      The complete SQL INSERT INTO query string.

    • 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.

      Parameters

      • query: number[]

        Query vector.

      • k: number

        Number of most similar documents to return.

      • Optionalfilter: Metadata

        Optional filter to apply to the search.

      Returns Promise<[Document, number][]>

      Promise that resolves with an array of tuples, each containing a Document and its similarity score.

    • Static method to create a new VercelPostgres instance from an array of Document instances. It adds the documents to the store.

      Parameters

      • docs: Document[]

        Array of Document instances.

      • embeddings: EmbeddingsInterface

        Embeddings instance.

      • OptionaldbConfig: Partial<VercelPostgresFields> & {
            postgresConnectionOptions?: VercelPostgresPoolConfig;
        }

      Returns Promise<VercelPostgres>

      Promise that resolves with a new instance of VercelPostgres.

    • Static method to create a new VercelPostgres instance from an array of texts and their metadata. It converts the texts into Document instances and adds them to the store.

      Parameters

      • texts: string[]

        Array of texts.

      • metadatas: object | object[]

        Array of metadata objects or a single metadata object.

      • embeddings: EmbeddingsInterface

        Embeddings instance.

      • OptionaldbConfig: Partial<VercelPostgresFields> & {
            postgresConnectionOptions?: VercelPostgresPoolConfig;
        }

      Returns Promise<VercelPostgres>

      Promise that resolves with a new instance of VercelPostgres.

    • Static method to create a new VercelPostgres instance from a connection. It creates a table if one does not exist, and calls connect to return a new instance of VercelPostgres.

      Parameters

      • embeddings: EmbeddingsInterface

        Embeddings instance.

      • Optionalconfig: Partial<VercelPostgresFields> & {
            postgresConnectionOptions?: VercelPostgresPoolConfig;
        }

      Returns Promise<VercelPostgres>

      A new instance of VercelPostgres.