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
embeddings: Embeddings

Methods

  • Method to add documents to the MongoDB collection. It first converts the documents to vectors using the embeddings and then calls the addVectors method.

    Parameters

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

      Documents to be added.

    Returns Promise<void>

    Promise that resolves when the documents have been added.

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

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

Generated using TypeDoc