Embedding Providers
Embedding providers convert text into vector representations for semantic search.
OpenAI
Industry-standard embeddings.
Installation
pip install remina-memory[openai]Configuration
"embedder": {
"provider": "openai",
"config": {
"api_key": None, # Uses OPENAI_API_KEY env
"model": "text-embedding-3-small",
"dimensions": 1536,
"base_url": None,
}
}| Option | Type | Default | Description |
|---|---|---|---|
api_key | str | env var | OpenAI API key |
model | str | text-embedding-3-small | Model name |
dimensions | int | 1536 | Output dimensions |
base_url | str | None | Custom endpoint |
Models
| Model | Dimensions | Cost |
|---|---|---|
text-embedding-3-small | 1536 | $0.02/1M tokens |
text-embedding-3-large | 3072 | $0.13/1M tokens |
text-embedding-ada-002 | 1536 | $0.10/1M tokens |
Google Gemini
High-quality embeddings with free tier.
Installation
pip install remina-memory[gemini]Configuration
"embedder": {
"provider": "gemini",
"config": {
"api_key": None, # Uses GOOGLE_API_KEY env
"model": "models/text-embedding-004",
"dimensions": 768,
}
}| Option | Type | Default | Description |
|---|---|---|---|
api_key | str | env var | Google API key |
model | str | models/text-embedding-004 | Model name |
dimensions | int | 768 | Output dimensions |
Cohere
Enterprise-grade with multilingual support.
Installation
pip install remina-memory[cohere]Configuration
"embedder": {
"provider": "cohere",
"config": {
"api_key": None, # Uses COHERE_API_KEY env
"model": "embed-english-v3.0",
}
}Models
| Model | Dimensions | Languages |
|---|---|---|
embed-english-v3.0 | 1024 | English |
embed-multilingual-v3.0 | 1024 | 100+ |
Ollama (Local)
Local embeddings without API costs.
Installation
pip install remina-memory[ollama]Configuration
"embedder": {
"provider": "ollama",
"config": {
"base_url": "http://localhost:11434",
"model": "nomic-embed-text",
}
}Setup
curl -fsSL https://ollama.com/install.sh | sh
ollama pull nomic-embed-textModels
| Model | Dimensions | Size |
|---|---|---|
nomic-embed-text | 768 | 274MB |
mxbai-embed-large | 1024 | 670MB |
all-minilm | 384 | 45MB |
HuggingFace (Local)
Any HuggingFace embedding model locally.
Installation
pip install remina-memory[huggingface]Configuration
"embedder": {
"provider": "huggingface",
"config": {
"model": "sentence-transformers/all-MiniLM-L6-v2",
"device": "cpu",
}
}Models
| Model | Dimensions | Size |
|---|---|---|
all-MiniLM-L6-v2 | 384 | 80MB |
all-mpnet-base-v2 | 768 | 420MB |
e5-large-v2 | 1024 | 1.3GB |
Embedding Interface
All embedding providers implement:
class EmbeddingBase(ABC):
def embed(self, text: str) -> List[float]
def embed_batch(self, texts: List[str]) -> List[List[float]]
@property
def dimensions(self) -> int
@property
def model_name(self) -> strSelection Guide
| Requirement | Recommendation |
|---|---|
| Best quality | OpenAI text-embedding-3-large |
| Quality + free tier | Gemini |
| Multilingual | Cohere embed-multilingual-v3.0 |
| No API costs | Ollama or HuggingFace |
| Privacy/on-premise | Ollama or HuggingFace |