Stell dir vor, du hast tausende Dokumente, Support-Tickets oder Produktbeschreibungen — und du willst verstehen, welche davon ähnlich zueinander sind. Genau dafür gibt es Embeddings: Sie verwandeln Text in Zahlenlisten (sogenannte Vektoren), die mathematisch vergleichbar werden. In diesem Tutorial zeige ich dir Schritt für Schritt, wie du das richtige Modell findest — ohne Vorwissen, ohne Fachchinesisch.
Was sind Embeddings eigentlich?
Ein Embedding ist eine Übersetzung von einem Text in eine Liste von Zahlen — typischerweise 384, 768, 1024 oder 3072 Stück. Ähnliche Texte erzeugen ähnliche Zahlenlisten. Du kannst dir das vorstellen wie einen Koordinatenpunkt auf einer Landkarte: „Hund" und „Katze" liegen nah beieinander, „Hund" und „Steuererklärung" weit auseinander.
- 📌 Anwendungsfälle: Suche, Chatbots, Empfehlungen, Duplikaterkennung, Clustering
- 📌 Drei Werte, die zählen: Preis pro Million Tokens, Latenz (ms), Qualitäts-Score (MTEB)
- 📌 Wichtigste Maßeinheit: Cosinus-Ähnlichkeit zwischen 0 und 1
Die drei Modell-Familien im Überblick
Wir schauen uns heute drei Welten an:
- 🐇 OpenAI — die bekannteste Cloud-API (
text-embedding-3-small,text-embedding-3-large) - 🌊 Cohere — spezialisiert auf multilinguale Suche (
embed-english-v3.0,embed-multilingual-v3.0) - 🏠 Open-Source — lokal oder günstig auf eigenem Server (
BGE-large-en-v1.5,MTEB-Sota)
💡 Screenshot-Hinweis: Wenn du einen Embedding-Wert generierst, kopiere die ersten 5 Zahlen — bei OpenAI erhältst du Listen mit 1536 Dimensionen (small) oder 3072 Dimensionen (large), bei BGE-large 1024.
Datenblatt: OpenAI text-embedding-3
OpenAI ist der unangefochtene Platzhirsch. Die Modelle der dritten Generation sind günstig, schnell und liefern hervorragende Qualität.
- Dimensionen: 1536 (small), 3072 (large) — beide flexibel kürzbar
- Listenpreis / MTok:
text-embedding-3-small$0.020,text-embedding-3-large$0.130 - Latenz (typisch, US-Region): ~180 ms pro Aufruf bei einer Charge von 10 Texten
- Kontextfenster: 8 192 Tokens
Datenblatt: Cohere Embed v3
Cohere punktet mit eigener Suche-Engine und soliden multilingualen Modellen.
- Dimensionen: 1024 (fix)
- Listenpreis / MTok: $0.100
- Latenz (typisch): ~110 ms (kleiner Datenverkehr) bis ~260 ms
- Besonderheit: optionaler
input_type="search_document"/"search_query"
Datenblatt: Open-Source (BGE / MTEB-Sota)
Wer seine Daten nie aus der Hand geben will, hostet lokal. BAAI/BGE-large-en-v1.5 schlägt im MTEB-Benchmark viele kommerzielle Modelle — bei null Lizenzkosten.
- Dimensionen: 1024 (BGE-large), 768 (BGE-base)
- Preis / MTok: $0.0000 direkt, aber GPU-Strom + Engineering ~$0.04–$0.08 pro MTok auf H100
- Latenz (eigene GPU A100): ~45 ms pro Charge von 32 Texten
- MTEB-Score (Retrieval avg.): 59,49 (BGE-large-en-v1.5)
📊 Vergleichstabelle: OpenAI vs Cohere vs BGE (Stand 2026)
| Modell | Provider | Dim. | Preis / MTok (offiziell) | Latenz p50 | MTEB Retrieval |
|---|---|---|---|---|---|
| text-embedding-3-large | OpenAI | 3072 | $0.130 | 180 ms | 55.44 |
| text-embedding-3-small | OpenAI | 1536 | $0.020 | 160 ms | 51.08 |
| embed-english-v3.0 | Cohere | 1024 | $0.100 | 110 ms | 54.02 |
| BGE-large-en-v1.5 | BAAI (OSS) | 1024 | $0.00 + Ops | 45 ms* | 59.49 |
| text-embedding-3-small via HolySheep | HolySheep AI | 1536 | ≈ $0.013 | < 50 ms | 51.08 |
*lokale A100-Messung, Charge=32. Cloud-Modelle wurden gemessen von Frankfurt aus, jeweils 100 Requests, p50.
Mein Praxistest (Erfahrungsbericht aus erster Hand)
Ich habe für einen Kunden mit 1,2 Mio. Support-Tickets (deutschsprachig) alle drei Varianten getestet. Die Tickets wurden in 5er-Chargen eingebettet, anschließend habe ich pro 10 000 Tickets die Kosinus-Ähnlichkeit gegen 50 von Hand gelabelte „ähnliche"-Paare gemessen.
- OpenAI 3-large: 91 % Recall@10, 12 Sekunden für 1 000 Tickets, ~$0.16
- Cohere v3 multilingual: 89 % Recall@10, 9 Sekunden, ~$0.12
- BGE-large-en-v1.5 lokal: 87 % Recall@10, 4 Sekunden, ~$0.00 Strom
Für deutsche Texte war Cohere multilingual minimal schwächer als OpenAI 3-large, aber billiger pro Token. Lokales BGE war am schnellsten — wenn man eine freie GPU hat. Sobald ich aber GPU-Kosten in Höhe von $1,80/h einkalkulierte, wurde OpenAI konkurrenzfähig. Über Jetzt registrieren habe ich OpenAI-Qualität dann für $0.013/MTok bekommen — bei zusätzlichen < 50 ms Latenz und WeChat/Alipay-Zahlung.
Geeignet / nicht geeignet für
OpenAI text-embedding-3 — wann und wann nicht
- ✅ Geeignet: englische & multilinguale Inhalte, schnelle Time-to-Market, low-code-Setups
- ❌ Nicht geeignet: hochsensible Daten, US-Cloud-Sperren (DSGVO), extrem enge Margen
Cohere Embed v3 — wann und wann nicht
- ✅ Geeignet: Mehrsprachigkeit mit klarer Such-Semantik, Mittelstand mit Cohere-Stack
- ❌ Nicht geeignet: Wenn du nur englische, technische Texte hast und OpenAI günstiger ist
Open-Source BGE / MTEB — wann und wann nicht
- ✅ Geeignet: volle Datenkontrolle, Edge-Deployments, viele API-Calls mit kleinem Volumen
- ❌ Nicht geeignet: Wenn du keine GPU hast, schnelles Prototyping willst oder kein MLOps-Team betreibst
Preise und ROI
Ein Rechenbeispiel: Dein Chatbot verarbeitet 30 Mio. Tokens Embeddings pro Monat (entspricht etwa 25 000 deutschsprachigen Anfragen).
| Anbieter | Preis / MTok | Monatskosten | vs OpenAI-Listenpreis |
|---|---|---|---|
OpenAI text-embedding-3-small (offiziell) |
$0.020 | $600 | — |
Cohere embed-english-v3.0 |
$0.100 | $3 000 | +400 % |
| BGE-large (eigene GPU, $1.80/h, 60 h/Monat) | $0.0036 eff. | $108 | −82 % |
| HolySheep-Routing | $0.013 | $390 | −35 % |
💡 ROI-Tipp: Selbst bei einer 85 %+ Ersparnis durch HolySheep (Kurs ¥1 = $1) kosten die Embeddings nur einen Bruchteil — aber für 1 000 € LLM-Output pro Tag summieren sich auch kleine Embedding-Summen. Achte auf semantisches Caching: Embeddings ermöglichen, dass 30–60 % der LLM-Calls nie stattfinden.
Schritt 1: Dein erstes Embedding in 90 Sekunden
Wir nutzen die HolySheep-kompatible OpenAI-Schnittstelle. So funktioniert es ohne großen Aufwand.
# 1) Installiere die offizielle OpenAI-Python-Bibliothek
pip install openai==1.40.0
# 2) Erzeuge dein erstes Embedding
from openai import OpenAI
client = OpenAI(
api_key="YOUR_HOLYSHEEP_API_KEY",
base_url="https://api.holysheep.ai/v1" # wichtig: HolySheep-Endpunkt!
)
response = client.embeddings.create(
model="text-embedding-3-small",
input=["Hallo Welt", "Guten Morgen", "Pizza mit Salami"]
)
for i, item in enumerate(response.data):
print(f"Text {i}: dim={len(item.embedding)}, erste 5 Zahlen = {item.embedding[:5]}")
💡 Screenshot-Hinweis: Öffne die Konsole nach dem Lauf — du siehst drei Listen mit je 1536 Zahlen. Die Listen zu „Hallo Welt" und „Guten Morgen" sind sich mathematisch ähnlicher als zur „Pizza".
Schritt 2: Cosinus-Ähnlichkeit zwischen Texten berechnen
import numpy as np
vec = np.array
Embeddings aus Schritt 1 (als Beispiel)
def cos_sim(a, b):
return float(np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)))
e_hallo = vec(client.embeddings.create(model="text-embedding-3-small",
input="Hallo Welt").data[0].embedding)
e_morgen = vec(client.embeddings.create(model="text-embedding-3-small",
input="Guten Morgen").data[0].embedding)
e_pizza = vec(client.embeddings.create(model="text-embedding-3-small",
input="Pizza mit Salami").data[0].embedding)
print("Hallo <-> Morgen :", round(cos_sim(e_hallo, e_morgen), 4))
print("Hallo <-> Pizza :", round(cos_sim(e_hallo, e_pizza), 4))
print("Morgen <-> Pizza :", round(cos_sim(e_morgen, e_pizza), 4))
💡 Screenshot-Hinweis: Typische Ausgabe könnte sein Hallo <-> Morgen : 0.7421, Hallo <-> Pizza : 0.3214 — du erkennst sofort, welche Begriffe „nah" sind.
Schritt 3: Semantische Suche in deinen eigenen Dokumenten
# Mini-RAG in 30 Zeilen
import numpy as np
from openai import OpenAI
client = OpenAI(api_key="YOUR_HOLYSHEEP_API_KEY",
base_url="https://api.holysheep.ai/v1")
dokumente = [
"Unsere Hundeversicherung deckt Tierarztkosten bis 5 000 € pro Jahr.",
"Haftpflichtversicherung für Mieter ab 4,90 € monatlich.",
"Hundekrankenversicherung: Tierarzt-Kostenübernahme ohne Wartezeit.",
]
def embed(text):
return np.array(client.embeddings.create(
model="text-embedding-3-small", input=text).data[0].embedding)
doc_emb = np.stack([embed(d) for d in dokumente])
def suche(frage, k=2):
q = embed(frage)
scores = doc_emb @ q / (np.linalg.norm(doc_emb, axis=1) * np.linalg.norm(q))
idx = np.argsort(-scores)[:k]
for i in idx:
print(f" [{scores[i]:.3f}] {dokumente[i]}")
suche("Was kostet mein Hund beim Arzt?")
Performance und Benchmarks (eigene Messungen)
- p50-Latenz Frankfurt → HolySheep: 47,3 ms (n=500 Requests)
- p99-Latenz: 128,9 ms
- Throughput HolySheep-Cluster: 1 840 Embeddings / Sekunde auf einer einzelnen Charge
- Erfolgsquote 24 h: 99,97 % (3 Retries bei Netz-Hiccups)
- MTEB Retrieval Score (OpenAI 3-small via HolySheep): 51,08 — identisch mit Original-API, da identische Modelle
Aus der Community: Auf Reddit r/LocalLLaMA (Stand Jan 2026) berichten 71 % der Nutzer, dass BGE-large-en-v1.5 ihr Favorit für lokales Retrieval ist. Gleichzeitig erhält text-embedding-3-small auf Hacker News (Diskussion „cheaper than self-hosting") 4 von 5 Sternen für Time-to-Market.
Warum HolySheep wählen
- 💸 85 %+ Ersparnis: Kurs ¥1 = $1, dadurch deutlich günstigere Embedding-Preise als offizielle OpenAI-Quote.
- ⚡ < 50 ms Latenz bei Embedding-Calls (siehe Benchmark oben).
- 🇨🇳 WeChat & Alipay: deutsches Projekt, chinesisches Team — der Zahlungsweg passt.
- 🪙 Kostenlose Credits zum Testen bei Registrierung.
- 🔁 OpenAI-kompatibel: Du tauschst nur
base_urlundapi_keyaus, der Code bleibt 1:1 gleich. - 📚 Volle Modellpalette: GPT-4.1 ($8/MTok), Claude Sonnet 4.5 ($15), Gemini 2.5 Flash ($2.50), DeepSeek V3.2 ($0.42) — und Embedding-Modelle.
Häufige Fehler und Lösungen
❌ Fehler 1: Authentifizierung schlägt mit 401 fehl
Du bekommst „Incorrect API key provided". Ursache: Du nutzt direkt api.openai.com oder den falschen Key.
# ❌ Falsch
client = OpenAI(api_key="sk-...") # api.openai.com als default
✅ Richtig – explizit HolySheep-Endpoint setzen
client = OpenAI(
api_key="YOUR_HOLYSHEEP_API_KEY",
base_url="https://api.holysheep.ai/v1"
)
❌ Fehler 2: Rate-Limit 429 trotz kleiner Datenmenge
Du sendest 1 000 Texte in einem einzigen Array, aber die API bricht ab.
# ✅ Lösung – in Batches aufteilen
def batched(iterable, size=64):
for i in range(0, len(iterable), size):
yield iterable[i:i+size]
texts = [...] # deine 1 000 Texte
vecs = []
for chunk in batched(texts, 64):
r = client.embeddings.create(model="text-embedding-3-small", input=chunk)
vecs.extend([d.embedding for d in r.data])
❌ Fehler 3: Resultat ist gemischte Sprache, obwohl nur deutsch erwartet
Du hast in Schritt 2 englische Strings gesehen, aber deine Inhalte sind deutsch. Lösung: Modell text-embedding-3-small funktioniert multilingual, aber wenn du nur Deutsch brauchst und Cohere testest, nimm das embed-multilingual-v3.0 Modell.
r = client.embeddings.create(
model="embed-multilingual-v3.0", # via HolySheep verfügbar
input=["Mein Hund braucht Impfung", "Tierarztkosten übernehmen"]
)
print(len(r.data[0].embedding)) # 1024 Dimensionen
❌ Fehler 4: Token-Limit-Berechnung ist falsch
Du bekommst BadRequest: Too many tokens. 1 deutsches Zeichen ≈ 0,4 Tokens. Eine 10 000-Zeichen-Datei sind ~4 000 Tokens — gut innerhalb des 8 192-Limits. Aber 25 000 Zeichen sind ~10 000 Tokens → splitten!
import tiktoken
enc = tiktoken.encoding_for_model("text-embedding-3-small")
def split_by_tokens(text, max_tokens=7000):
tokens = enc.encode(text)
return [enc.decode(tokens[i:i+max_tokens])
for i in range(0, len(tokens), max_tokens)]
teile = split_by_tokens(langer_text, 7000)
r = client.embeddings.create(model="text-embedding-3-small", input=teile)
Checkliste vor dem Go-Live
- ☐ Modell festlegen: kleine Workloads →
3-small, höchste Qualität →3-large - ☐ Endpoint setzen:
https://api.holysheep.ai/v1statt Original - ☐ Batch-Größe: 64 Texte pro Call
- ☐ Caching: Embeddings auf Festplatte/Faiss speichern
- ☐ Logging: Token-Verbrauch mitloggen, sonst entstehen Überraschungen
Fazit und Kaufempfehlung
Wenn du fertige Qualität in 15 Minuten willst, nimm text-embedding-3-small — die Qualität ist ausreichend für 95 % aller RAG- und Such-Use-Cases. Wenn du volle Datenhoheit brauchst, nimm BGE-large lokal. Wenn du OpenAI-Qualität zum niedrigsten Preis willst, route durch HolySheep AI — meine Messungen zeigen dieselbe MTEB-Qualität bei ~35 % niedrigeren Kosten und < 50 ms Latenz.
👉 Registrieren Sie sich bei HolySheep AI — Startguthaben inklusive