A vector store that uses the Momento Vector Index.

To sign up for a free Momento account, visit https://console.gomomento.com.

Hierarchy

  • VectorStore
    • MomentoVectorIndex

Constructors

Properties

FilterType: string | object

Defines the filter type used in search and delete operations. Can be an object for structured conditions or a string for simpler filtering.

embeddings: EmbeddingsInterface

Embeddings interface for generating vector embeddings from text queries, enabling vector-based similarity searches.

Methods

  • Adds vectors to the index. Generates embeddings from the documents using the Embeddings instance passed to the constructor.

    Parameters

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

      Array of Document instances to be added to the index.

    • OptionaldocumentProps: DocumentProps

    Returns Promise<void>

    Promise that resolves when the documents have been added to the index.

  • Adds vectors to the index.

    Parameters

    • vectors: number[][]

      The vectors to add to the index.

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

      The documents to add to the index.

    • OptionaldocumentProps: DocumentProps

      The properties of the documents to add to the index, specifically the ids.

    Returns Promise<void | string[]>

    Promise that resolves when the vectors have been added to the index. Also returns the ids of the documents that were added.

    If the index does not already exist, it will be created if ensureIndexExists is true.

  • Creates a VectorStoreRetriever instance with flexible configuration options.

    Parameters

    • OptionalkOrFields: number | Partial<VectorStoreRetrieverInput<MomentoVectorIndex>>

      If a number is provided, it sets the k parameter (number of items to retrieve).

      • If an object is provided, it should contain various configuration options.
    • Optionalfilter: string | object

      Optional filter criteria to limit the items retrieved based on the specified filter type.

    • Optionalcallbacks: Callbacks

      Optional callbacks that may be triggered at specific stages of the retrieval process.

    • Optionaltags: string[]

      Tags to categorize or label the VectorStoreRetriever. Defaults to an empty array if not provided.

    • Optionalmetadata: Record<string, unknown>

      Additional metadata as key-value pairs to add contextual information for the retrieval process.

    • Optionalverbose: boolean

      If true, enables detailed logging for the retrieval process. Defaults to false.

    Returns VectorStoreRetriever<MomentoVectorIndex>

    • A configured VectorStoreRetriever instance based on the provided parameters.

    Basic usage with a k value:

    const retriever = myVectorStore.asRetriever(5);
    

    Usage with a configuration object:

    const retriever = myVectorStore.asRetriever({
    k: 10,
    filter: myFilter,
    tags: ['example', 'test'],
    verbose: true,
    searchType: 'mmr',
    searchKwargs: { alpha: 0.5 },
    });
  • Return documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.

    Parameters

    • query: string

      Text to look up documents similar to.

    • options: MaxMarginalRelevanceSearchOptions<string | object>

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

    • List of documents selected by maximal marginal relevance.
  • Searches for documents similar to a text query by embedding the query and performing a similarity search on the resulting vector.

    Parameters

    • query: string

      Text query for finding similar documents.

    • Optionalk: number

      Number of similar results to return. Defaults to 4.

    • Optionalfilter: string | object

      Optional filter based on FilterType.

    • Optional_callbacks: Callbacks

      Optional callbacks for monitoring search progress

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

    A promise resolving to an array of DocumentInterface instances representing similar documents.

  • Searches the index for the most similar vectors to the query vector.

    Parameters

    • query: number[]

      The query vector.

    • k: number

      The number of results to return.

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

    Promise that resolves to the documents of the most similar vectors to the query vector.

  • Searches for documents similar to a text query by embedding the query, and returns results with similarity scores.

    Parameters

    • query: string

      Text query for finding similar documents.

    • Optionalk: number

      Number of similar results to return. Defaults to 4.

    • Optionalfilter: string | object

      Optional filter based on FilterType.

    • Optional_callbacks: Callbacks

      Optional callbacks for monitoring search progress

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

    A promise resolving to an array of tuples, each containing a document and its similarity score.

  • Returns Serialized

  • Stores the documents in the index.

    Converts the documents to vectors using the Embeddings instance passed.

    Parameters

    • texts: string[]

      The texts to store in the index.

    • metadatas: object | object[]

      The metadata to store in the index.

    • embeddings: EmbeddingsInterface

      The embeddings instance to use to generate embeddings from the documents.

    • dbConfig: MomentoVectorIndexLibArgs

      The configuration to use to instantiate the vector store.

    • OptionaldocumentProps: DocumentProps

      The properties of the documents to add to the index, specifically the ids.

    Returns Promise<MomentoVectorIndex>

    Promise that resolves to the vector store.