Class that is a wrapper around MongoDB Atlas Vector Search. It is used to store embeddings in MongoDB documents, create a vector search index, and perform K-Nearest Neighbors (KNN) search with an approximate nearest neighbor algorithm.

Hierarchy

Constructors

Properties

FilterType: MongoDBAtlasFilter

Methods

  • Method to add vectors and their corresponding documents to the MongoDB collection.

    Parameters

    • vectors: number[][]

      Vectors to be added.

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

      Corresponding documents to be added.

    Returns Promise<void>

    Promise that resolves when the vectors and documents have been added.

  • Parameters

    • Optional _params: Record<string, any>

    Returns Promise<void>

  • Parameters

    • query: string
    • Optional k: number
    • Optional filter: MongoDBAtlasFilter
    • Optional _callbacks: Callbacks

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

  • Method that performs a similarity search on the vectors stored in the MongoDB collection. It returns a list of documents and their corresponding similarity scores.

    Parameters

    • query: number[]

      Query vector for the similarity search.

    • k: number

      Number of nearest neighbors to return.

    • Optional filter: MongoDBAtlasFilter

      Optional filter to be applied.

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

    Promise that resolves to a list of documents and their corresponding similarity scores.

  • Parameters

    • query: string
    • Optional k: number
    • Optional filter: MongoDBAtlasFilter
    • Optional _callbacks: Callbacks

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

  • Static method to fix the precision of the array that ensures that every number in this array is always float when casted to other types. This is needed since MongoDB Atlas Vector Search does not cast integer inside vector search to float automatically. This method shall introduce a hint of error but should be safe to use since introduced error is very small, only applies to integer numbers returned by embeddings, and most embeddings shall not have precision as high as 15 decimal places.

    Parameters

    • array: number[]

      Array of number to be fixed.

    Returns number[]

Generated using TypeDoc