14+ J
🧠 Page 08 von 8 · ~30 Min · Final

Embeddings & RAG – die KI-Ära der Suche 🧠

Was passiert, wenn du Wörter nicht mehr als Buchstaben, sondern als Punkte im 768-dimensionalen Raum behandelst? Du bekommst semantisches Verstehen. In dieser Final-Page: Embeddings, Vektor-Datenbanken, Hybrid Retrieval – und wie RAG moderne KI-Suche orchestriert.

🧬 Embeddings 🗄 Vector DBs 🔀 Hybrid Search 🤖 RAG
Semantischer Raum auto pkw fahrzeug hund katze vogel roboter ai computer Wörter mit ähnlicher Bedeutung → ähnliche Vektoren → nahe beieinander

01Was ist ein Embedding?

Ein Wort, ein Satz, ein ganzes Dokument – als Liste von ~768 Zahlen.

Ein Embedding ist ein Vektor (typisch 384, 768 oder 1536 Dimensionen), der die Bedeutung eines Textstücks kodiert. Der Trick: ähnliche Texte → ähnliche Vektoren. Verschiedene Texte → entfernte Vektoren.

EMBEDDING # Vereinfacht (ein echter Vektor hat 768 Dimensionen): embed("Roboter") = [0.12, -0.34, 0.81, 0.05, ...] embed("Maschine") = [0.14, -0.30, 0.77, 0.08, ...] # sehr ähnlich embed("Pizza") = [-0.65, 0.22, -0.43, 0.91, ...] # völlig anders

Wo kommen Embeddings her?

Aus einem trainierten Encoder-Modell – typisch ein BERT-/Transformer-Modell. Beispiele:

ModellDimensionenBemerkung
OpenAI text-embedding-3-small1536API, leistungsstark, kostenpflichtig
Cohere embed-v31024Multi-Sprache, gute Mid-Range
sentence-transformers all-MiniLM-L6-v2384Open-Source, läuft lokal, sehr schnell
BGE / GTE (Hugging Face)768-1024Aktuelle SOTA Open-Source Modelle
🧬
Magisch ist: Diese Modelle wurden auf riesigen Textmengen trainiert (Wikipedia, Web, Bücher). Sie haben dabei von selbst gelernt, dass „Auto" und „PKW" das Gleiche bedeuten. Ohne Wörterbuch. Aus reinem Lesen.

02Ähnlichkeit im Vektorraum

Genau die gleiche Cosine-Similarity wie bei TF-IDF – aber auf semantischen Vektoren.

similarity(a, b) = cos(a, b) = ( a · b ) / ( ||a|| × ||b|| )

Konkret: Du embeddest deine Suchanfrage in einen Vektor. Du embeddest alle Dokumente in Vektoren (das ist die teure Vorarbeit). Bei der Suche → Cosine-Similarity zwischen Query und allen Doc-Vektoren. Top-K als Treffer.

Aber: 100 Mio Vektoren? Linear vergleichen?

Naiv wäre das O(N) pro Anfrage – bei Millionen Docs zu langsam. Die Lösung: ANN-Algorithmen (Approximate Nearest Neighbor).

03Vektor-Datenbanken

Spezialisierte Datenbanken, die nichts anderes machen als Vektoren speichern und durchsuchen.

🦋 Pinecone

Managed Cloud, einfach zu starten. Bezahlt. Standard für viele AI-Startups.

POST /vectors/upsert

🐘 Weaviate

Open-Source, modular, GraphQL-API. Hybrid built-in (BM25 + Vector).

docker run weaviate

🌶 Chroma

Sehr leichtgewichtig, lokal, Python-friendly. Perfekt zum Lernen / Prototypen.

pip install chromadb

⚡ FAISS

Meta's Library, Embedded (keine DB), super-schnell. Pure C++/Python.

pip install faiss-cpu

🐳 Qdrant

Rust-basiert, sehr performant, Open-Source. Aufstrebende Wahl 2024+.

docker run qdrant

📚 Elasticsearch / OpenSearch

Bereits etablierte Such-Engines, mittlerweile mit Vector-Support (HNSW).

"type": "dense_vector"

🔄
Trend 2025/26: Klassische Such-Engines (Elastic, Postgres mit pgvector) integrieren Vektor-Support direkt. Reine Vector-DBs werden zunehmend zu „Hybrid-Suchmaschinen". Die Grenze verschwimmt.

04Hybrid Retrieval – das Beste aus zwei Welten

BM25 + Embeddings parallel laufen lassen, Ergebnisse fusionieren.

🔤 Sparse (BM25)

  • Exakte Wort-Matches
  • Sehr schnell
  • Sehr erklärbar („Wort kommt 3x vor")
  • Top bei IDs, Codes, Namen
  • Versteht keine Synonyme

🧠 Dense (Embeddings)

  • Semantische Matches (Synonyme, Paraphrasen)
  • Langsamer (teurer pro Query)
  • Weniger erklärbar
  • Top bei natürlichsprachigen Queries
  • Kann exakte Strings übersehen

Reciprocal Rank Fusion (RRF)

Wie kombiniert man die zwei Ranglisten? Die einfachste & populärste Methode: RRF.

RRF(d) = Σ 1 / (k + ranki(d)) k ≈ 60 (Konstante). rank_i = Position des Docs in Liste i. Niedriger Rang = höherer RRF-Score.

Genial: RRF braucht keine Score-Normalisierung. Es zählt nur die Position. Funktioniert quer über völlig unterschiedliche Ranker.

05RAG – Retrieval-Augmented Generation

Die Architektur, die hinter Perplexity, ChatGPT-Search, Claude-Search steckt.

Das Problem: Ein LLM wie GPT-4 oder Claude weiss viel, aber:

Die Lösung – RAG: Bevor das LLM antwortet, holt ein Retriever relevante Dokumente aus einer Knowledge-Base. Das LLM bekommt die Docs als „Kontext" – und antwortet darauf basierend.

User "Frage?" Retriever BM25 + Embeddings → Top-K Docs LLM Query + Docs → Antwort Antwort + Quellen grounded & cited Vector DB

RAG-Pipeline in 5 Schritten

  1. Indexing (einmalig): Alle Docs in Chunks zerlegen → embedden → in Vector DB speichern.
  2. Query Embedding: User-Frage embedden.
  3. Retrieval: Top-K Chunks aus Vector DB (oder hybrid mit BM25).
  4. (Optional) Re-Ranking: Ein zweites Modell ordnet die Top-K nochmals neu.
  5. Generation: LLM bekommt Query + relevante Chunks als Prompt, antwortet darauf basierend, zitiert Quellen.
🎯
Warum das so wichtig ist: Mit RAG kann ein LLM deine Dokumente abfragen – Lunolabs-Knowledge-Base, Firmen-Wiki, eigene PDFs. Ohne Re-Training. Das ist die Standard-Architektur für KI-Apps 2024+.

06Das Chunking-Problem

Embeddings funktionieren am besten auf kurzen Textstücken. Wie zerlegt man ein Dokument richtig?

Ein Embedding-Modell hat eine maximale Input-Länge (z.B. 512 Tokens). Bei langen Docs muss man chunken – aber gut. Schlechte Chunks = schlechte Suche.

07Grenzen & was als nächstes kommt

Embeddings sind mächtig – aber kein Allheilmittel.

Wo Embeddings schwächeln:

Aktuelle Trends:

🎯Key Takeaways

Geschafft! 🎉

Du hast jetzt verstanden: vom Kabel im Boden bis zur KI-Suche, die Llama, ChatGPT & Claude im Hintergrund benutzen. Das ist Wissen, das vor 5 Jahren nur Industrie-Insider hatten.

→ Zurück zum Hub