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
- Yarn
- pnpm
npm install @langchain/mixedbread-ai @langchain/core
yarn add @langchain/mixedbread-ai @langchain/core
pnpm add @langchain/mixedbread-ai @langchain/core
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);
}
Related
- Embedding model conceptual guide
- Embedding model how-to guides