Class for generating embeddings using the MistralAI API.

Hierarchy

  • Embeddings
    • MistralAIEmbeddings

Implements

Constructors

Properties

apiKey: string

The API key to use.

{process.env.MISTRAL_API_KEY}
batchSize: number = 512

The maximum number of documents to embed in a single request.

{512}
caller: AsyncCaller

The async caller should be used by subclasses to make any async calls, which will thus benefit from the concurrency and retry logic.

encodingFormat: string = "float"

The format of the output data.

{"float"}
endpoint?: string

Override the default endpoint.

model: string = "mistral-embed"

The name of the model to use.

{"mistral-embed"}
modelName: string = "mistral-embed"

The name of the model to use. Alias for model.

{"mistral-embed"}
stripNewLines: boolean = true

Whether to strip new lines from the input text. This is recommended, but may not be suitable for all use cases.

{true}

Methods

  • Method to generate embeddings for an array of documents. Splits the documents into batches and makes requests to the MistralAI API to generate embeddings.

    Parameters

    • texts: string[]

      Array of documents to generate embeddings for.

    Returns Promise<number[][]>

    Promise that resolves to a 2D array of embeddings for each document.

  • Method to generate an embedding for a single document. Calls the embeddingWithRetry method with the document as the input.

    Parameters

    • text: string

      Document to generate an embedding for.

    Returns Promise<number[]>

    Promise that resolves to an embedding for the document.