Instructions to use mixedbread-ai/mxbai-embed-large-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use mixedbread-ai/mxbai-embed-large-v1 with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("mixedbread-ai/mxbai-embed-large-v1") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Transformers.js
How to use mixedbread-ai/mxbai-embed-large-v1 with Transformers.js:
// npm i @huggingface/transformers import { pipeline } from '@huggingface/transformers'; // Allocate pipeline const pipe = await pipeline('feature-extraction', 'mixedbread-ai/mxbai-embed-large-v1'); - Transformers
How to use mixedbread-ai/mxbai-embed-large-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="mixedbread-ai/mxbai-embed-large-v1")# Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("mixedbread-ai/mxbai-embed-large-v1") model = AutoModel.from_pretrained("mixedbread-ai/mxbai-embed-large-v1") - llama-cpp-python
How to use mixedbread-ai/mxbai-embed-large-v1 with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="mixedbread-ai/mxbai-embed-large-v1", filename="gguf/mxbai-embed-large-v1-f16.gguf", )
output = llm( "Once upon a time,", max_tokens=512, echo=True ) print(output)
- Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use mixedbread-ai/mxbai-embed-large-v1 with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf mixedbread-ai/mxbai-embed-large-v1:F16 # Run inference directly in the terminal: llama-cli -hf mixedbread-ai/mxbai-embed-large-v1:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf mixedbread-ai/mxbai-embed-large-v1:F16 # Run inference directly in the terminal: llama-cli -hf mixedbread-ai/mxbai-embed-large-v1:F16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf mixedbread-ai/mxbai-embed-large-v1:F16 # Run inference directly in the terminal: ./llama-cli -hf mixedbread-ai/mxbai-embed-large-v1:F16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf mixedbread-ai/mxbai-embed-large-v1:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf mixedbread-ai/mxbai-embed-large-v1:F16
Use Docker
docker model run hf.co/mixedbread-ai/mxbai-embed-large-v1:F16
- LM Studio
- Jan
- Ollama
How to use mixedbread-ai/mxbai-embed-large-v1 with Ollama:
ollama run hf.co/mixedbread-ai/mxbai-embed-large-v1:F16
- Unsloth Studio
How to use mixedbread-ai/mxbai-embed-large-v1 with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for mixedbread-ai/mxbai-embed-large-v1 to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for mixedbread-ai/mxbai-embed-large-v1 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for mixedbread-ai/mxbai-embed-large-v1 to start chatting
- Atomic Chat new
- Docker Model Runner
How to use mixedbread-ai/mxbai-embed-large-v1 with Docker Model Runner:
docker model run hf.co/mixedbread-ai/mxbai-embed-large-v1:F16
- Lemonade
How to use mixedbread-ai/mxbai-embed-large-v1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull mixedbread-ai/mxbai-embed-large-v1:F16
Run and chat with the model
lemonade run user.mxbai-embed-large-v1-F16
List all available models
lemonade list
Using mxbai-embed-large-v1 in a CrossEncoder
Dear mixedbread-ai team,
I was looking through the MTEB leaderboard for Reranking, and noticed that the model of "mxbai-embed-large-v1" was in the ranks.
It was not explicitly stated in the model-card (HuggingFace) that it can be used for reranking, but can I ask if it is compatible with sentence-transformers' CrossEncoder class?
Hi @crestero , thank you for following our work. mxbai-embed-large-v1 is a model that produces single dense vectors. For cross encoders, you could use our rerankers: https://huggingface.co/collections/mixedbread-ai/reranking-series-6605a44260cba6d2eec7d4de . They are open-sourced and have various sizes.
Hi @SeanLee97 , appreciate the quick reply. Noted on that. I will try a retrieve-rerank pipeline with mxbai-embed-large-v1 for retrieval and mxbai-rerank-large-v1 for reranking.
For the reranking series, are they on the MTEB reranking leaderboard as of now? I could not find these models up there.
Hi @SeanLee97 , do your team have plans for these models to be inaugurated into the leaderboard?
It would be nice for users be aware of its performance with respect to the SOTA models that are on the board itself. From a qualitative perspective, it is also a good push factor for more users to utilize those reranker models.
For context @crestero , many of the MTEB benchmarks are infeasible to run with cross-encoder (i.e. reranker) models as they require inference for all pairs of data instead of all data individually like bi-encoder (Sentence Transformer) models.
So, the NQ retrieval benchmark with 3452 queries and 2.68M documents takes ~2.68M inferences with a bi-encoder model, but 9,251,360,000 inferences with a cross-encoder.
This is why cross-encoders are often used to rerank a query against a few documents (e.g. 100), and why cross-encoders aren't always on bi-encoder leaderboards.
They kind of need a separate leaderboard where people use BM25 as the retriever and then use a reranker as a top-100 reranker. Then the relative performance gain to just BM25 is checked.
- Tom Aarsen
Hi @tomaarsen @SeanLee97 , thank you for your replies, that makes sense, it is too computationally intensive to carry out such an operation.
Just a side question, can those models in mxbai's reranking series perform symmetric ranking? Usually we rerank documents (information that answers the query) against the query, but can we use those cross-encoders to rank questions against a query in a symmetric fashion?