AI Agents · Lektion

HyDE: hypothetische Dokument-Embeddings

Generieren Sie mit dem LLM eine fingierte „ideale“ Antwort, erzeugen Sie dafür ein Embedding und suchen Sie damit – das ist besser als Embeddings kurzer Anfragen.

Lektion 2 von 414 Schritte

HyDE: hypothetische Dokument-Embeddings ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Das Problem mit Query-Embeddings

Benutzeranfragen sind normalerweise kurz und unterscheiden sich stark von den Dokumenten, die Sie abrufen möchten.

  • Anfrage: „Meine Tastatur reparieren“
  • Dokument: „Wenn die Tasten Ihrer mechanischen Tastatur klemmen, können Sie die Schalter mit Isopropylalkohol reinigen …“

Die Vektoren sind semantisch weit voneinander entfernt, sodass der Abruf das Dokument verfehlt.

Die HyDE-Idee

HyDE = Hypothetical Document Embeddings (Gao et al. 2022).

  1. Bitten Sie das LLM, eine fiktive „ideale Antwort“ auf die Anfrage zu schreiben
  2. Betten Sie die fiktive Antwort ein (nicht die Anfrage)
  3. Verwenden Sie diesen Vektor, um das echte Korpus zu durchsuchen

Warum es funktioniert

Die hypothetische Antwort sieht wie ein echtes Dokument aus (ähnlicher Wortschatz, ähnliche Struktur). Ihr Embedding liegt nahe an den Embeddings echter Dokumente – dadurch findet der Abruf diese zuverlässiger.

Implementation

def hyde_search(query, k=5):
    # Step 1: hallucinate an answer
    hypo_answer = llm.invoke(f'Please write a passage to answer the question: {query}').content
    # Step 2: embed it
    vec = embed(hypo_answer)
    # Step 3: retrieve
    return vector_db.query(vec, k=k)

Es ist in Ordnung, wenn die Antwort falsch ist

Die hypothetische Antwort von HyDE kann faktisch falsch sein – das ist in Ordnung. Wir verwenden ihr Embedding ausschließlich für den Abruf. Die abgerufenen ECHTEN Dokumente werden anschließend zum Erzeugen der endgültigen Antwort verwendet.

Code Example with LangChain

from langchain.chains import HypotheticalDocumentEmbedder
from langchain_openai import OpenAIEmbeddings, ChatOpenAI

embeddings = HypotheticalDocumentEmbedder.from_llm(
    ChatOpenAI(),
    OpenAIEmbeddings(),
    'web_search'   # built-in prompt template
)
vector = embeddings.embed_query('How do I fix a sticky keyboard?')

Kostenabwägung

HyDE verursacht einen zusätzlichen LLM-Aufruf pro Anfrage. Das lohnt sich, wenn:

  • sich die Formulierung der Anfrage stark von der Formulierung der Dokumente unterscheidet
  • die Recall-Rate des Abrufs Ihr Engpass ist
  • das Korpus technische Texte enthält, die der Benutzer paraphrasiert

Multi-Sample-HyDE

Erzeugen Sie N hypothetische Antworten, betten Sie jede ein, rufen Sie für jede die Top-K ab und bilden Sie die Vereinigungsmenge der Ergebnisse. Das ist teurer, erzielt bei schwierigen Anfragen aber eine höhere Recall-Rate.

hypos = [llm.invoke(...).content for _ in range(3)]
vecs = [embed(h) for h in hypos]
results = set()
for v in vecs:
    results.update(vector_db.query(v, k=5))

HyDE mit Re-Ranking kombinieren

HyDE für Recall, Cross-Encoder für Präzision:

  1. HyDE ruft die Top-50 ab
  2. Der Cross-Encoder ordnet sie neu und wählt die Top-5 aus
  3. Das LLM beantwortet die Anfrage mithilfe der Top-5

Wann Sie HyDE NICHT verwenden sollten

  • Anfragen, die bereits der Sprache der Dokumente entsprechen (FAQs)
  • Latenzkritische Pfade
  • Sehr kleine Korpora, bei denen ein einfacher Abruf funktioniert

HyDE für Code

Für die Codesuche: Lassen Sie die gesuchte Funktion halluzinieren, betten Sie sie ein und rufen Sie die echten Funktionen ab.

code_hypo = llm.invoke(f'Write the Python function that does: {user_request}').content
results = code_index.search(embed(code_hypo))

Varianten: Step-Back-Prompting

Eine verwandte Technik: Bitten Sie das Modell, zunächst eine allgemeinere Frage abzuleiten („Wie reinige ich Tastaturen?“ → „Welche allgemeine Reinigungsmethode eignet sich für mechanische Tastaturen?“), betten Sie diese ein und führen Sie anschließend den Abruf durch.

Warum HyDE funktioniert

Was sorgt dafür, dass HyDE besser abruft als das Einbetten der unveränderten Anfrage?

Zusammenfassung

HyDE: Lassen Sie eine Antwort halluzinieren, betten Sie DIESE ein und suchen Sie damit. Das kostet einen zusätzlichen LLM-Aufruf, verbessert aber den Abruf bei schwierigen, paraphrasierten oder technischen Anfragen.

Kostenlos starten

Lerne AI Agents mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
60
Lektionen
239

Häufig gestellte Fragen

Ist die Lektion „HyDE: hypothetische Dokument-Embeddings“ kostenlos?

Ja — der vollständige Text von „HyDE: hypothetische Dokument-Embeddings“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „HyDE: hypothetische Dokument-Embeddings“?

Generieren Sie mit dem LLM eine fingierte „ideale“ Antwort, erzeugen Sie dafür ein Embedding und suchen Sie damit – das ist besser als Embeddings kurzer Anfragen. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Agents zu starten?

Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „HyDE: hypothetische Dokument-Embeddings“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?

Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Re-Ranking mit Cross-Encodern
  2. HyDE: hypothetische Dokument-Embeddings
  3. Multi-Vector-Retrieval (ColBERT)
  4. RAG-Evaluierung (RAGAS, Recall@K)
← Zurück zu AI Agents