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:
- Recuperación: encontrar fragmentos relevantes
- 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 usedModos 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
- Cargadores y analizadores de documentos
- La jerarquía de índices: vectorial, arbórea y de palabras clave
- Motores de consulta y síntesis de respuestas
- Estrategia de descomposición en subpreguntas