Ollama-Embedding-Modelle vergleichen
Was dieser Artikel über Embedding-Modelle behandelt
- Was Embeddings sind.
- Welche Embedding-Modelle Ollama bietet.
- Unterschiede in Dimensionen und Qualität.
- Wie man sie für RAG und semantische Suche nutzt.
- Empfehlungen für Anwendungsfälle.
Einleitung: Ollama-Embedding-Modelle vergleichen
Embeddings wandeln Text in Vektoren um. Diese Vektoren ermöglichen semantische Suche, Klassifikation und RAG. Ollama bietet mehrere Embedding-Modelle, die sich in Grösse, Qualität und Vektordimension unterscheiden. Das richtige Modell hängt von der Anwendung, der Hardware und der gewünschten Genauigkeit ab.
Dieser Artikel vergleicht die gängigsten Ollama-Embedding-Modelle und gibt Empfehlungen.
Wichtige Begriffe
- Embedding: Vektordarstellung eines Textes.
- Dimension: Länge des Vektors.
- RAG: Retrieval Augmented Generation.
- Cosine Similarity: Ähnlichkeitsmass zwischen Vektoren.
- Semantic Search: Suche nach Bedeutung, nicht nur nach Schlüsselwörtern.
- Token: Einheit, in die Text zerlegt wird.
- Quantisierung: Reduktion der Modellpräzision.
Verfügbare Embedding-Modelle
| Modell | Dimension | Grösse | Anmerkung |
|---|---|---|---|
| nomic-embed-text | 768 | 137M | Beliebt, gute Balance |
| nomic-embed-text-v1.5 | 768 | 137M | Verbesserte Version |
| mxbai-embed-large | 1024 | 335M | Hohe Qualität |
| snowflake-arctic-embed | 768 | 335M | Für Retrieval optimiert |
| all-minilm | 384 | 22M | Sehr klein, schnell |
| bge-m3 | 1024 | 567M | Mehrsprachig |
nomic-embed-text
- Gute Allzweck-Qualität.
- 768 Dimensionen.
- Relativ schnell.
- Sehr verbreitet in Ollama-Beispielen.
mxbai-embed-large
- 1024 Dimensionen.
- Oft bessere Ergebnisse bei RAG.
- Grösser und langsamer.
- Nützlich für professionelle RAG-Systeme.
snowflake-arctic-embed
- Optimiert für Dokumenten-Retrieval.
- Gute Performance in langen Datensets.
- 768 oder 1024 Dimensionen je nach Variante.
all-minilm
- Sehr klein und schnell.
- 384 Dimensionen.
- Für einfache Aufgaben und geringe Hardware.
- Weniger präzise als grössere Modelle.
bge-m3
- Multilinguale Stärke.
- Unterstützt lange Eingaben.
- Grösser, aber flexibel.
Modell auswählen
| Anwendung | Empfehlung |
|---|---|
| Einfache Suche | all-minilm |
| Standard-RAG | nomic-embed-text |
| Hohe Qualität | mxbai-embed-large |
| Dokumenten-Retrieval | snowflake-arctic-embed |
| Mehrsprachig | bge-m3 |
Einbinden in Ollama
ollama pull nomic-embed-text
ollama pull mxbai-embed-large
Embedding erzeugen
curl http://localhost:11434/api/embeddings -d '{
"model": "nomic-embed-text",
"prompt": "Docker ist ein Container-Tool."
}'
Python-Beispiel
import requests
url = "http://localhost:11434/api/embeddings"
payload = {
"model": "nomic-embed-text",
"prompt": "Was ist Ollama?"
}
response = requests.post(url, json=payload)
print(len(response.json()["embedding"]))
Chunking beachten
Embedding-Modelle haben Begrenzungen:
nomic-embed-text: 2048 Tokens.mxbai-embed-large: 512 Tokens.bge-m3: 8192 Tokens.
Längere Texte müssen in Chunks zerlegt werden.
Vergleich der Qualität
Qualität lässt sich testen:
- Gleiche Texte mit verschiedenen Modellen embedden.
- Ähnlichkeit zu relevanten Dokumenten prüfen.
- Relevanz der Top-Ergebnisse bewerten.
import numpy as np
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
Speicher und Geschwindigkeit
| Modell | Geschwindigkeit | RAM/VRAM |
|---|---|---|
| all-minilm | sehr schnell | sehr wenig |
| nomic-embed-text | schnell | wenig |
| mxbai-embed-large | mittel | mittel |
| bge-m3 | langsamer | mehr |
Tipps
- Für RAG mit Ollama:
nomic-embed-textodermxbai-embed-large. - Chunk-Grösse an Modell-Limit anpassen.
- Gleiches Modell für Query und Dokumente nutzen.
- Benchmark auf eigenem Datenset fahren.
- Dimensionsgrösse beeinflusst Speicherbedarf in Vektordatenbank.
Weiterführende Links und Infos
- BotServ.de Ollama Embeddings
- BotServ.de Lokales RAG
- BotServ.de Vektordatenbanken
- BotServ.de Ollama Modell-Empfehlungen
FAQ: Ollama-Embedding-Modelle
Welches ist das beste Embedding-Modell?
Für viele Fälle nomic-embed-text. Für höchste Qualität mxbai-embed-large.
Brauche ich für RAG ein spezielles Modell? Ja, Embedding-Modell und LLM sind getrennt.
Wie viele Dimensionen sind sinnvoll? 384-1024 reichen für die meisten Anwendungen.
Kann ich Embeddings kombinieren? Nicht direkt, nur Modelle mit gleicher Dimension und ähnlichem Raum.
Welche Chunk-Grösse? Abhängig vom Modell-Token-Limit, typisch 256-1024 Tokens.
Quellen und weiterführende Literatur
- Ollama Embeddings: https://ollama.com/blog/embedding-models
- Nomic Embed: https://docs.nomic.ai/reference/nomic-embed-text-v1
- MTEB Leaderboard: https://huggingface.co/spaces/mteb/leaderboard
Zusammenfassung: Ollama-Embedding-Modelle vergleichen
Ollama bietet mehrere Embedding-Modelle für unterschiedliche Anforderungen. nomic-embed-text ist ein guter Allrounder, mxbai-embed-large liefert höhere Qualität, all-minilm ist extrem schnell und klein. Die Wahl hängt von RAG-Qualität, Hardware und Geschwindigkeit ab. Wichtig sind Chunk-Grösse, Vektordimension und konsistente Nutzung für Dokumente und Anfragen. Wer ein paar Modelle auf eigenen Daten testet, findet die beste Lösung.


