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.

  • Parameters

    • Optional _params: Record<string, any>

    Returns Promise<void>

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

    • query: string
    • k: number = 4
    • filter: undefined | MongoDBAtlasFilter = undefined
    • _callbacks: undefined | Callbacks = undefined

    Returns Promise<Document<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
    • k: number = 4
    • filter: undefined | MongoDBAtlasFilter = undefined
    • _callbacks: undefined | Callbacks = undefined

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

  • Static method to create an instance of MongoDBAtlasVectorSearch from a list of documents. It first converts the documents to vectors and then adds them to the MongoDB collection.

    Parameters

    Returns Promise<MongoDBAtlasVectorSearch>

    Promise that resolves to a new instance of MongoDBAtlasVectorSearch.

  • Static method to create an instance of MongoDBAtlasVectorSearch from a list of texts. It first converts the texts to vectors and then adds them to the MongoDB collection.

    Parameters

    • texts: string[]

      List of texts to be converted to vectors.

    • metadatas: object | object[]

      Metadata for the texts.

    • embeddings: Embeddings

      Embeddings to be used for conversion.

    • dbConfig: MongoDBAtlasVectorSearchLibArgs

      Database configuration for MongoDB Atlas.

    Returns Promise<MongoDBAtlasVectorSearch>

    Promise that resolves to a new instance of MongoDBAtlasVectorSearch.

Generated using TypeDoc