0Pricing
AI Agents · Lección

HyDE: embeddings de documentos hipotéticos

Genere con el LLM una respuesta «ideal» ficticia, cree su embedding y búsquela; supera a los embeddings de consultas breves.

HyDE: embeddings de documentos hipotéticos es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

El problema de los embeddings de consultas

Las consultas de los usuarios suelen ser breves y no se parecen en nada a los documentos que desea recuperar.

  • Consulta: «arreglar mi teclado»
  • Documento: «Si las teclas de su teclado mecánico se atascan, puede limpiar los interruptores con alcohol isopropílico...»

Los vectores están semánticamente alejados y la recuperación no encuentra el documento.

La idea de HyDE

HyDE = Embeddings de documentos hipotéticos (Gao et al. 2022).

  1. Pida al LLM que escriba una «respuesta ideal» ficticia a la consulta
  2. Genere el embedding de la respuesta ficticia, no de la consulta
  3. Utilice ese vector para buscar en el corpus real

Por qué funciona

La respuesta hipotética se parece a un documento real (vocabulario y estructura similares). Su embedding queda cerca de los embeddings de documentos reales, por lo que la recuperación los encuentra de forma más fiable.

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)

No importa que la respuesta sea incorrecta

La respuesta hipotética de HyDE podría contener errores factuales, y no pasa nada. Solo utilizamos su embedding para la recuperación. Después, los documentos REALES recuperados se utilizan para generar la respuesta final.

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

Compensación de costes

HyDE cuesta 1 llamada adicional al LLM por consulta. Merece la pena cuando:

  • La formulación de la consulta es muy distinta de la formulación de los documentos
  • La cobertura de la recuperación es su cuello de botella
  • El corpus contiene textos técnicos que el usuario parafrasea

HyDE con múltiples muestras

Genere N respuestas hipotéticas, cree un embedding para cada una, recupere las K mejores para cada respuesta y una los resultados. Es más caro, pero ofrece una mayor cobertura en consultas complejas.

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

Combinar HyDE con la reordenación

HyDE para cobertura y cross-encoder para precisión:

  1. HyDE recupera las 50 mejores
  2. El cross-encoder las reordena y selecciona las 5 mejores
  3. El LLM responde utilizando las 5 mejores

Cuándo NO utilizar HyDE

  • Consultas que ya coinciden con el lenguaje de los documentos (preguntas frecuentes)
  • Rutas críticas en cuanto a latencia
  • Corpus muy pequeños en los que la recuperación sencilla funciona

HyDE para código

Para la búsqueda de código: invente la función que busca el usuario, genere su embedding y recupere las funciones reales.

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

Variantes: Step-Back Prompting

Técnica relacionada: pida al modelo que derive primero una pregunta más general («¿Cómo limpio los teclados?» -> «¿Qué método de limpieza general se aplica a los teclados mecánicos?»), genere su embedding y después recupere los resultados.

Por qué funciona HyDE

¿Qué hace que HyDE recupere mejores resultados que generar un embedding de la consulta sin modificar?

Resumen

HyDE: genere una respuesta, cree su embedding y BUSQUE con él. Cuesta una llamada adicional al LLM, pero mejora la recuperación en consultas difíciles, parafraseadas o técnicas.

Preguntas frecuentes

¿La lección «HyDE: embeddings de documentos hipotéticos» es gratis?

Sí — el texto completo de «HyDE: embeddings de documentos hipotéticos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.

¿Qué aprenderé en «HyDE: embeddings de documentos hipotéticos»?

Genere con el LLM una respuesta «ideal» ficticia, cree su embedding y búsquela; supera a los embeddings de consultas breves. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Agents?

No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «HyDE: embeddings de documentos hipotéticos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Agents?

Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Reordenación con cross-encoders
  2. HyDE: embeddings de documentos hipotéticos
  3. Recuperación multivectorial (ColBERT)
  4. Evaluación de RAG (RAGAS, Recall@K)
← Volver a AI Agents