Skip to main content

Mixedbread AI

The MixedbreadAIEmbeddings class uses the Mixedbread AI API to generate text embeddings. This guide will walk you through setting up and using the MixedbreadAIEmbeddings class, helping you integrate it into your project effectively.

Installation​

To install the @langchain/mixedbread-ai package, use the following command:

npm install @langchain/mixedbread-ai

Initialization​

First, sign up on the Mixedbread AI website and get your API key from here. You can then use this key to initialize the MixedbreadAIEmbeddings class.

You can pass the API key directly to the constructor or set it as an environment variable (MXBAI_API_KEY).

Basic Usage​

Here’s how to create an instance of MixedbreadAIEmbeddings:

import { MixedbreadAIEmbeddings } from "@langchain/mixedbread-ai";

const embeddings = new MixedbreadAIEmbeddings({
apiKey: "YOUR_API_KEY",
// Optionally specify model
// model: "mixedbread-ai/mxbai-embed-large-v1",
});

If the apiKey is not provided, it will be read from the MXBAI_API_KEY environment variable.

Generating Embeddings​

Embedding a Single Query​

To generate embeddings for a single text query, use the embedQuery method:

const embedding = await embeddings.embedQuery(
"Represent this sentence for searching relevant passages: Is baking fun?"
);
console.log(embedding);

Embedding Multiple Documents​

To generate embeddings for multiple documents, use the embedDocuments method. This method handles batching automatically based on the batchSize parameter:

const documents = ["Baking bread is fun", "I love baking"];

const embeddingsArray = await embeddings.embedDocuments(documents);
console.log(embeddingsArray);

Customizing Requests​

You can customize the SDK by passing additional parameters.

const customEmbeddings = new MixedbreadAIEmbeddings({
apiKey: "YOUR_API_KEY",
baseUrl: "...",
maxRetries: 6,
});

Error Handling​

If the API key is not provided and cannot be found in the environment variables, an error will be thrown:

try {
const embeddings = new MixedbreadAIEmbeddings();
} catch (error) {
console.error(error);
}

Was this page helpful?


You can also leave detailed feedback on GitHub.