0Pricing
AI Agents · Lección

Motores de consulta y síntesis de respuestas

Los motores de consulta coordinan la recuperación y la síntesis mediante estrategias como refine, compact y tree_summarize.

Motores de consulta y síntesis de respuestas es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 3 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.

Motor de consultas = recuperación + síntesis

Un motor de consultas de LlamaIndex tiene dos etapas:

  1. Recuperación: encontrar fragmentos relevantes
  2. Síntesis: generar una respuesta a partir de esos fragmentos

Ambas se pueden configurar.

The Default Query Engine

query_engine = index.as_query_engine()
response = query_engine.query('What is our refund policy?')
print(response.response)         # the answer
print(response.source_nodes)     # the chunks used

Modos de respuesta

Cómo ensambla el motor la respuesta final a partir de los fragmentos recuperados:

  • refine: pasar los fragmentos uno por uno y perfeccionar la respuesta (más preciso, más lento)
  • compact: incluir tantos fragmentos como sea posible en el contexto en cada llamada (predeterminado)
  • tree_summarize: resumen recursivo
  • simple_summarize: una sola llamada con todos los fragmentos

Setting Response Mode

query_engine = index.as_query_engine(response_mode='tree_summarize')

Configuring Retrieval

query_engine = index.as_query_engine(
    similarity_top_k=5,
    response_mode='compact'
)

Prompts personalizados

Inyecte sus propias plantillas de prompts:

from llama_index.core.prompts import PromptTemplate

qa_template = PromptTemplate(
    'Context:\n{context_str}\n\nQuestion: {query_str}\nAnswer:'
)
query_engine.update_prompts({'response_synthesizer:text_qa_template': qa_template})

Streaming Responses

query_engine = index.as_query_engine(streaming=True)
response = query_engine.query('Hello')
for token in response.response_gen:
    print(token, end='', flush=True)

Citas

Use CitationQueryEngine para obtener citas generadas por el LLM:

from llama_index.core.query_engine import CitationQueryEngine

engine = CitationQueryEngine.from_args(index, similarity_top_k=4)
response = engine.query('What is our refund policy?')
print(response.response)
for i, node in enumerate(response.source_nodes):
    print(f'[{i+1}] {node.metadata}')

Posprocesadores

Reordene o filtre los nodos recuperados antes de la síntesis:

from llama_index.postprocessor.cohere_rerank import CohereRerank

rerank = CohereRerank(api_key=COHERE_KEY, top_n=3)
query_engine = index.as_query_engine(
    similarity_top_k=20,           # retrieve 20
    node_postprocessors=[rerank]   # rerank to top 3
)

Metadata Filters

from llama_index.core.vector_stores import MetadataFilters, ExactMatchFilter

filters = MetadataFilters(filters=[
    ExactMatchFilter(key='department', value='engineering')
])
query_engine = index.as_query_engine(filters=filters)

Async Queries

response = await query_engine.aquery('What is our refund policy?')
print(response.response)

Motor de chat

Para conversaciones de varios turnos con memoria:

chat_engine = index.as_chat_engine(chat_mode='context')
response = chat_engine.chat('What is our refund policy?')
followup = chat_engine.chat('And for opened items?')

Pipelines y flujos de trabajo

Para agentes complejos de varios pasos, los Workflows de LlamaIndex le ofrecen un flujo basado en eventos y propio de Python, similar en espíritu a LangGraph.

Modo de respuesta

¿Qué modo de respuesta es el más lento, pero el más preciso?

Repaso

Configure top_k, response_mode, los posprocesadores y los filtros de metadatos para ajustar su motor de consultas. Use CitationQueryEngine para obtener respuestas fiables.

Preguntas frecuentes

¿La lección «Motores de consulta y síntesis de respuestas» es gratis?

Sí — el texto completo de «Motores de consulta y síntesis de respuestas» 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 «Motores de consulta y síntesis de respuestas»?

Los motores de consulta coordinan la recuperación y la síntesis mediante estrategias como refine, compact y tree_summarize. 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 3 de 4.

¿Cuánto tiempo toma la lección «Motores de consulta y síntesis de respuestas»?

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. Cargadores y analizadores de documentos
  2. La jerarquía de índices: vectorial, arbórea y de palabras clave
  3. Motores de consulta y síntesis de respuestas
  4. Estrategia de descomposición en subpreguntas
← Volver a AI Agents