0Pricing
AI Agents · Pelajaran

HyDE: Embedding Dokumen Hipotetis

Hasilkan jawaban 'ideal' palsu dengan LLM, buat embedding-nya, lalu lakukan pencarian menggunakan hasil itu—lebih baik daripada embedding kueri pendek.

HyDE: Embedding Dokumen Hipotetis adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Masalah Embedding Kueri

Kueri pengguna biasanya pendek dan sangat berbeda dari dokumen yang ingin Anda ambil.

  • Kueri: "perbaiki papan ketik saya"
  • Dokumen: "Jika tombol papan ketik mekanis Anda macet, Anda dapat membersihkan sakelar dengan alkohol isopropil..."

Vektornya berjauhan secara semantik, sehingga proses pengambilan tidak menemukan dokumen tersebut.

Gagasan HyDE

HyDE = Embedding Dokumen Hipotetis (Gao dkk. 2022).

  1. Minta LLM menulis "jawaban ideal" palsu untuk query
  2. Sematkan jawaban palsu tersebut (bukan query)
  3. Gunakan vektor itu untuk mencari di korpus nyata

Mengapa Ini Berhasil

Jawaban hipotetis terlihat seperti dokumen nyata (kosakata dan strukturnya serupa). Embedding-nya berada dekat dengan embedding dokumen nyata, sehingga proses pengambilan menemukannya dengan lebih andal.

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)

Tidak Masalah Jika Jawabannya Salah (OK)

Jawaban hipotetis HyDE mungkin salah secara faktual—tidak masalah. Kami hanya menggunakan embedding-nya untuk pengambilan. Dokumen REAL yang diambil kemudian digunakan untuk menghasilkan jawaban akhir.

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?')

Kompromi Biaya

HyDE memerlukan 1 panggilan LLM tambahan untuk setiap query. Ini sepadan jika:

  • Susunan kata query sangat berbeda dari susunan kata dokumen
  • Perolehan hasil pengambilan adalah hambatan utama Anda
  • Korpus berisi tulisan teknis yang diparafrasekan oleh pengguna

HyDE Multi-Sampel

Hasilkan N jawaban hipotetis, sematkan masing-masing jawaban, ambil K teratas untuk setiap jawaban, lalu gabungkan hasilnya. Cara ini lebih mahal, tetapi meningkatkan perolehan pada kueri yang sulit.

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))

Menggabungkan HyDE dengan Pemeringkatan Ulang

HyDE untuk perolehan, enkoder silang untuk presisi:

  1. HyDE mengambil 50 hasil teratas
  2. Enkoder silang melakukan pemeringkatan ulang hingga tersisa 5 teratas
  3. LLM menjawab menggunakan 5 teratas

Kapan NOT Menggunakan HyDE

  • Kueri sudah menggunakan bahasa yang sama dengan dokumen (FAQ)
  • Jalur yang sangat kritis terhadap waktu tunda
  • Korpus yang sangat pendek, sehingga pengambilan sederhana sudah memadai

HyDE untuk Kode

Untuk pencarian kode: buat model berhalusinasi tentang fungsi yang dicari pengguna, sematkan fungsi tersebut, lalu ambil fungsi nyata.

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

Varian: Pemberian Instruksi Mundur

Teknik terkait: minta model terlebih dahulu menurunkan pertanyaan yang lebih umum ("Bagaimana cara membersihkan papan ketik?" → "Metode pembersihan umum apa yang berlaku untuk papan ketik mekanis?"), sematkan pertanyaan tersebut, lalu lakukan pengambilan.

Mengapa HyDE Berhasil

Apa yang membuat HyDE mengambil hasil lebih baik daripada menyematkan query mentah?

Ringkasan

HyDE: buat jawaban secara halusinatif, sematkan THAT, lalu cari. Cara ini memerlukan satu panggilan LLM tambahan, tetapi meningkatkan pengambilan pada kueri yang sulit, diparafrasekan, atau bersifat teknis.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “HyDE: Embedding Dokumen Hipotetis” gratis?

Ya — teks lengkap “HyDE: Embedding Dokumen Hipotetis” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “HyDE: Embedding Dokumen Hipotetis”?

Hasilkan jawaban 'ideal' palsu dengan LLM, buat embedding-nya, lalu lakukan pencarian menggunakan hasil itu—lebih baik daripada embedding kueri pendek. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “HyDE: Embedding Dokumen Hipotetis” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pemeringkatan Ulang dengan Cross-Encoder
  2. HyDE: Embedding Dokumen Hipotetis
  3. Pengambilan Multi-Vektor (ColBERT)
  4. Evaluasi RAG (RAGAS, Recall@K)
← Kembali ke AI Agents