Mixedbread Provider

patelvivekdev/mixedbread-ai-provider is a community provider that uses Mixedbread to provide Embedding support for the AI SDK.

Setup

The Mixedbread provider is available in the mixedbread-ai-provider module. You can install it with

pnpm
npm
yarn
pnpm add mixedbread-ai-provider

Provider Instance

You can import the default provider instance mixedbread from mixedbread-ai-provider:

import { mixedbread } from 'mixedbread-ai-provider';

If you need a customized setup, you can import createMixedbread from mixedbread-ai-provider and create a provider instance with your settings:

import { createMixedbread } from 'mixedbread-ai-provider';
const mixedbread = createMixedbread({
baseURL: 'https://api.mixedbread.ai/v1',
apiKey: process.env.MIXEDBREAD_API_KEY,
});

You can use the following optional settings to customize the Mixedbread provider instance:

  • baseURL string

    The base URL of the Mixedbread API

  • headers Record<string,string>

    Custom headers to include in the requests.

Embedding Models

You can create models that call the Mixedbread embeddings API using the .embedding() factory method.

import { mixedbread } from 'mixedbread-ai-provider';
const embeddingModel = mixedbread.textEmbeddingModel(
'mixedbread-ai/mxbai-embed-large-v1',
);

Model Capabilities

ModelDefault DimensionsContext LengthCustom Dimensions
mxbai-embed-large-v11024512
deepset-mxbai-embed-de-large-v11024512

The table above lists popular models. Please see the Mixedbread docs for a full list of available models.

Add settings to the model

The settings object should contain the settings you want to add to the model.

import { mixedbread } from 'mixedbread-ai-provider';
const embeddingModel = mixedbread.textEmbeddingModel(
'mixedbread-ai/mxbai-embed-large-v1',
{
prompt: 'Generate embeddings for text', // Max 256 characters
dimensions: 512, // Max 1024 for embed-large-v1
},
);