Class that extends VectorStore to store vectors in memory. Provides methods for adding documents, performing similarity searches, and creating instances from texts, documents, or an existing index.

Hierarchy

Constructors

Properties

FilterType: ((doc) => boolean)

Type declaration

    • (doc): boolean
    • Parameters

      Returns boolean

embeddings: Embeddings
memoryVectors: MemoryVector[] = []
similarity: ((a, b) => number)

Type declaration

    • (a, b): number
    • Returns the average of cosine distances between vectors a and b

      Parameters

      • a: NumberArray

        first vector

      • b: NumberArray

        second vector

      Returns number

Methods

  • Method to add documents to the memory vector store. It extracts the text from each document, generates embeddings for them, and adds the resulting vectors to the store.

    Parameters

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

      Array of Document instances to be added to the store.

    Returns Promise<void>

    Promise that resolves when all documents have been added.

  • Method to add vectors to the memory vector store. It creates MemoryVector instances for each vector and document pair and adds them to the store.

    Parameters

    • vectors: number[][]

      Array of vectors to be added to the store.

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

      Array of Document instances corresponding to the vectors.

    Returns Promise<void>

    Promise that resolves when all vectors have been added.

  • Parameters

    • Optional _params: Record<string, any>

    Returns Promise<void>

  • Parameters

    • query: string
    • k: number = 4
    • filter: undefined | ((doc) => boolean) = undefined
    • _callbacks: undefined | Callbacks = undefined

    Returns Promise<Document<Record<string, any>>[]>

  • Method to perform a similarity search in the memory vector store. It calculates the similarity between the query vector and each vector in the store, sorts the results by similarity, and returns the top k results along with their scores.

    Parameters

    • query: number[]

      Query vector to compare against the vectors in the store.

    • k: number

      Number of top results to return.

    • Optional filter: ((doc) => boolean)

      Optional filter function to apply to the vectors before performing the search.

        • (doc): boolean
        • Parameters

          Returns boolean

    Returns Promise<[Document<Record<string, any>>, number][]>

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

  • Parameters

    • query: string
    • k: number = 4
    • filter: undefined | ((doc) => boolean) = undefined
    • _callbacks: undefined | Callbacks = undefined

    Returns Promise<[Document<Record<string, any>>, number][]>

  • Return documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.

    Parameters

    Returns Promise<Document<Record<string, any>>[]>

    • List of documents selected by maximal marginal relevance.
  • Static method to create a MemoryVectorStore instance from an array of Document instances. It adds the documents to the store.

    Parameters

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

      Array of Document instances to be added to the store.

    • embeddings: Embeddings

      Embeddings instance used to generate embeddings for the documents.

    • Optional dbConfig: MemoryVectorStoreArgs

      Optional MemoryVectorStoreArgs to configure the MemoryVectorStore instance.

    Returns Promise<MemoryVectorStore>

    Promise that resolves with a new MemoryVectorStore instance.

  • Static method to create a MemoryVectorStore instance from an existing index. It creates a new MemoryVectorStore instance without adding any documents or vectors.

    Parameters

    • embeddings: Embeddings

      Embeddings instance used to generate embeddings for the documents.

    • Optional dbConfig: MemoryVectorStoreArgs

      Optional MemoryVectorStoreArgs to configure the MemoryVectorStore instance.

    Returns Promise<MemoryVectorStore>

    Promise that resolves with a new MemoryVectorStore instance.

  • Static method to create a MemoryVectorStore instance from an array of texts. It creates a Document for each text and metadata pair, and adds them to the store.

    Parameters

    • texts: string[]

      Array of texts to be added to the store.

    • metadatas: object | object[]

      Array or single object of metadata corresponding to the texts.

    • embeddings: Embeddings

      Embeddings instance used to generate embeddings for the texts.

    • Optional dbConfig: MemoryVectorStoreArgs

      Optional MemoryVectorStoreArgs to configure the MemoryVectorStore instance.

    Returns Promise<MemoryVectorStore>

    Promise that resolves with a new MemoryVectorStore instance.

Generated using TypeDoc