Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
MLX-Embeddings is the best package for running Vision and Language Embedding models locally on your Mac using MLX.
| Date | Stars |
|---|---|
| 2026-07-31 | 423 |
| 2026-08-02 | 423 |
| 2026-08-06 | 423 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# MLX-Embeddings
[](https://pypi.python.org/pypi/mlx-embeddings) [](https://github.com/Blaizzy/mlx-embeddings/actions/workflows/python-publish.yaml)
**MLX-Embeddings is a package for running Vision and Language Embedding models locally on your Mac using MLX.**
- Free software: GNU General Public License v3
## Features
- Generate embeddings for text and images using MLX models
- Support for single-item and batch processing
- Utilities for comparing text similarities
## Supported Models Archictectures
MLX-Embeddings supports a variety of model architectures for text embedding tasks. Here's a breakdown of the currently supported architectures:
- XLM-RoBERTa (Cross-lingual Language Model - Robustly Optimized BERT Approach)
- BERT (Bidirectional Encoder Representations from Transformers)
- ModernBERT (modernized bidirectional encoder-only Transformer model)
- Qwen3 (Qwen3's embedding model)
- Qwen3-VL (multimodal Qwen3-VL embedding and reranking model)
- Llama Bidirectional (Llama-based bidirectional embedding models, e.g. NVIDIA NV-Embed)
- Llama Nemotron VL (multimodal vision-language embedding model with SigLIP vision + bidirectional Llama)
- OpenAI Privacy Filter (bidirectional GPT-OSS variant for PII token classification with sparse MoE, GQA + attention sinks, and YARN RoPE)
We're continuously working to expand our support for additional model architectures. Check our GitHub repository or documentation for the most up-to-date list of supported models and their specific versions.
## Installation
You can install mlx-embeddings using pip:
```bash
pip install mlx-embeddings
```
## Usage
### Qwen3-VL
Qwen3-VL uses a model-specific processor and a high-level `model.process(...)` API for multimodal embedding and reranking.
#### Multimodal Embedding
```python
import mlx.core as mx
from mlx_embeddings import load
model, processor = load("Qwen/Qwen3-VL-Embedding-2B")
inputs = [
{
"text": "A woman playing with her dog on a beach at sunset.",
"instruction": "Retrieve images or text relevant to the user's query.",
},
{
"text": "A woman shares a joyful moment with her golden retriever on a sun-drenched beach at sunset."
},
{
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"
},
{
"text": "A woman shares a joyful moment with her golden retriever on a sun-drenched beach at sunset.",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
]
embeddings = model.process(inputs, processor=processor)
similarity = embeddings @ embeddings.T
mx.eval(embeddings, similarity)
print(embeddings.shape) # (4, 2048)
print(similarity)
```
#### Multimodal Reranking
```python
import mlx.core as mx
from mlx_embeddings import load
model, processor = load("Qwen/Qwen3-VL-Reranker-2B")
inputs = {
"instruction": "Retrieve images or text relevant to the user's query.",
"query": {"text": "A woman playing with her dog on a beach at sunset."},
"documents": [
{
"text": "A woman shares a joyful moment with her golden retriever on a sun-drenched beach at sunset."
},
{
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"
},
{
"text": "A woman shares a joyful moment with her golden retriever on a sun-drenched beach at sunset.",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
],
}
scores = model.process(inputs, processor=processor)
mx.eval(scores)
print(scores.shape) # (3,)
print(scores)
```
### Single Item Embedding
#### Text Embedding
To generate an embedding for a single piece of text:
```python
from mlx_embeddings.utils import load
# Load the model anExcerpt of 20,515 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:8f80050f4d55676d, topic:rag, topic:retrieval-augmented-generation
matched fp:8f80050f4d55676d, topic:embeddings
matched fp:8f80050f4d55676d, topic:chatbot