Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions docs/oss/embeddings/minimax-embeddings.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: MiniMaxEmbeddings
description: MiniMaxEmbeddings is a utility for embedding chunks using MiniMax's embo-01 model.
icon: "brain-circuit"
iconType: "solid"
---

MiniMaxEmbeddings provides access to [MiniMax](https://www.minimax.io/)'s embedding API for Chonkie's semantic chunking. It uses the **embo-01** model with 1536-dimensional vectors.

MiniMax's embedding API distinguishes between `"db"` (storage) and `"query"` (search) embedding types, enabling asymmetric retrieval for better search quality.

## Installation

MiniMaxEmbeddings uses `httpx` (a core dependency), so no extra packages are needed:

```bash
pip install chonkie
```

## Usage

```python
from chonkie import MiniMaxEmbeddings

# Initialize with API key (or set MINIMAX_API_KEY env var)
embeddings = MiniMaxEmbeddings(api_key="your-minimax-api-key")

# Embed a single text
vector = embeddings.embed("Hello, world!")

# Batch embed multiple texts
vectors = embeddings.embed_batch(["text 1", "text 2", "text 3"])

# Use with semantic chunker
from chonkie import SemanticChunker

chunker = SemanticChunker(embeddings)
chunks = chunker("Your long text here...")
```

### Search-optimized embeddings

Use `embedding_type="query"` when embedding search queries for asymmetric retrieval:

```python
# For storing documents
db_embeddings = MiniMaxEmbeddings(embedding_type="db")
doc_vectors = db_embeddings.embed_batch(documents)

# For search queries
query_embeddings = MiniMaxEmbeddings(embedding_type="query")
query_vector = query_embeddings.embed("search query")
```

### Using the provider URI

```python
from chonkie import AutoEmbeddings

# Auto-detect MiniMax from model name
embeddings = AutoEmbeddings.get_embeddings("embo-01", api_key="your-key")

# Or use provider prefix
embeddings = AutoEmbeddings.get_embeddings("minimax://embo-01", api_key="your-key")
```

## Available Models

| Model | Dimensions | Description |
|-------|-----------|-------------|
| `embo-01` | 1536 | General-purpose embedding model |
7 changes: 7 additions & 0 deletions docs/oss/embeddings/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,13 @@ Embeddings handlers require additional dependencies. See the [Installation Guide
>
Embed text using VoyageAI embeddings (requires `voyageai`).
</Card>
<Card
title="MiniMaxEmbeddings"
icon="brain-circuit"
href="/oss/embeddings/minimax-embeddings"
>
Embed text using MiniMax embeddings (embo-01, 1536 dimensions).
</Card>
</CardGroup>

## Common Interface
Expand Down
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ cohere = ["tokenizers>=0.16.0", "cohere>=5.13.0"]
jina = ["tokenizers>=0.16.0"]
catsu = ["catsu>=0.0.1"]
litellm = ["litellm>=1.0.0", "tiktoken>=0.5.0", "tokenizers>=0.16.0"]
minimax = [] # uses httpx (core dep) for native MiniMax API

# Optional dependencies for the friends
chroma = ["chromadb>=1.0.0"]
Expand Down Expand Up @@ -156,6 +157,7 @@ all = [
"chonkie[jina]",
"chonkie[catsu]",
"chonkie[litellm]",
"chonkie[minimax]",
"chonkie[chroma]",
"chonkie[qdrant]",
"chonkie[tpuf]",
Expand Down
5 changes: 4 additions & 1 deletion src/chonkie/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@
GeminiEmbeddings,
JinaEmbeddings,
LiteLLMEmbeddings,
MiniMaxEmbeddings,
Model2VecEmbeddings,
OpenAIEmbeddings,
SentenceTransformerEmbeddings,
VoyageAIEmbeddings,
)
from .fetcher import BaseFetcher, FileFetcher
from .genie import AzureOpenAIGenie, BaseGenie, CerebrasGenie, GeminiGenie, GroqGenie, OpenAIGenie
from .genie import AzureOpenAIGenie, BaseGenie, CerebrasGenie, GeminiGenie, GroqGenie, MiniMaxGenie, OpenAIGenie
from .handshakes import (
BaseHandshake,
ChromaHandshake,
Expand Down Expand Up @@ -99,6 +100,7 @@
"GeminiEmbeddings",
"JinaEmbeddings",
"LiteLLMEmbeddings",
"MiniMaxEmbeddings",
"Model2VecEmbeddings",
"OpenAIEmbeddings",
"SentenceTransformerEmbeddings",
Expand All @@ -112,6 +114,7 @@
"CerebrasGenie",
"GeminiGenie",
"GroqGenie",
"MiniMaxGenie",
"OpenAIGenie",
# handshakes
"BaseHandshake",
Expand Down
2 changes: 2 additions & 0 deletions src/chonkie/embeddings/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from .gemini import GeminiEmbeddings
from .jina import JinaEmbeddings
from .litellm import LiteLLMEmbeddings
from .minimax import MiniMaxEmbeddings
from .mistral import MistralEmbeddings
from .mixedbread import MixedbreadEmbeddings
from .model2vec import Model2VecEmbeddings
Expand Down Expand Up @@ -41,4 +42,5 @@
"NomicEmbeddings",
"DeepInfraEmbeddings",
"CloudflareEmbeddings",
"MiniMaxEmbeddings",
]
Loading
Loading