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

Properties

FilterType: Metadata
client: VercelPoolClient
contentColumnName: string
embeddings: Embeddings
idColumnName: string
lc_kwargs: SerializedFields
lc_namespace: string[] = ...

A path to the module that contains the class, eg. ["langchain", "llms"] Usually should be the same as the entrypoint the class is exported from.

lc_serializable: boolean = false
metadataColumnName: string
pool: VercelPool
tableName: string
vectorColumnName: string
_verbose?: boolean
filter?: Metadata

Accessors

  • get lc_aliases(): undefined | {
        [key: string]: string;
    }
  • A map of aliases for constructor args. Keys are the attribute names, e.g. "foo". Values are the alias that will replace the key in serialization. This is used to eg. make argument names match Python.

    Returns undefined | {
        [key: string]: string;
    }

  • get lc_attributes(): undefined | SerializedFields
  • A map of additional attributes to merge with constructor args. Keys are the attribute names, e.g. "foo". Values are the attribute values, which will be serialized. These attributes need to be accepted by the constructor as arguments.

    Returns undefined | SerializedFields

  • get lc_secrets(): undefined | {
        [key: string]: string;
    }
  • A map of secrets, which will be omitted from serialization. Keys are paths to the secret in constructor args, e.g. "foo.bar.baz". Values are the secret ids, which will be used when deserializing.

    Returns undefined | {
        [key: string]: string;
    }

Methods

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

    Parameters

    • documents: Document<Record<string, any>>[]

      Array of Document instances.

    • Optional options: {
          ids?: string[];
      }
      • Optional 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<Record<string, any>>[]

      Array of Document instances.

    • Optional options: {
          ids?: string[];
      }
      • Optional ids?: string[]

    Returns Promise<string[]>

    Promise that resolves when the vectors have been added.

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

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

    • Optional filter: Metadata

      Optional filter to apply to the search.

    Returns Promise<[Document<Record<string, any>>, 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 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: Embeddings

      Embeddings instance.

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

    Returns Promise<VercelPostgres>

    Promise that resolves with a new instance of VercelPostgres.

  • The name of the serializable. Override to provide an alias or to preserve the serialized module name in minified environments.

    Implemented as a static method to support loading logic.

    Returns string

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

Generated using TypeDoc