Query Engines und Antwortsynthese
Query Engines koordinieren Retrieval und Synthese mit Strategien wie refine, compact und tree_summarize.
Query Engines und Antwortsynthese ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Query-Engine = Retrieval + Synthese
Eine LlamaIndex-Query-Engine besteht aus zwei Stufen:
- Retrieval – relevante Chunks finden
- Synthesis – aus diesen Chunks eine Antwort generieren
Beide Stufen lassen sich konfigurieren.
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 usedAntwortmodi
So erstellt die Engine aus den abgerufenen Chunks die endgültige Antwort:
- refine – Chunks nacheinander verarbeiten und die Antwort schrittweise verbessern (am genauesten, am langsamsten)
- compact – pro Aufruf möglichst viele Chunks in den Kontext einfügen (Standard)
- tree_summarize – rekursive Zusammenfassung
- simple_summarize – ein einzelner Aufruf mit allen Chunks
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'
)Benutzerdefinierte Prompts
Fügen Sie Ihre eigenen Prompt-Vorlagen ein:
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)Quellenangaben
Verwenden Sie CitationQueryEngine, um vom LLM generierte Quellenangaben zu erhalten:
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}')Post-Processor
Reranken oder filtern Sie abgerufene Nodes vor der Synthese:
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)Chat-Engine
Für mehrturnige Gespräche mit Gedächtnis:
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 und Workflows
Für komplexe Agenten mit mehreren Schritten bieten LlamaIndex Workflows einen Python-typischen, ereignisgesteuerten Ablauf – ähnlich wie LangGraph.
Antwortmodus
Welcher Antwortmodus ist am langsamsten, aber am genauesten?
Zusammenfassung
Konfigurieren Sie top_k, response_mode, Post-Processor und Metadatenfilter, um Ihre Query-Engine gezielt anzupassen. Verwenden Sie CitationQueryEngine für verlässliche Antworten.
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 „Query Engines und Antwortsynthese“ kostenlos?
Ja — der vollständige Text von „Query Engines und Antwortsynthese“ 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 „Query Engines und Antwortsynthese“?
Query Engines koordinieren Retrieval und Synthese mit Strategien wie refine, compact und tree_summarize. 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 3 von 4.
Wie lange dauert die Lektion „Query Engines und Antwortsynthese“?
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
- Dokument-Loader und Parser
- Die Index-Hierarchie: Vektor, Baum, Schlüsselwort
- Query Engines und Antwortsynthese
- Strategie zur Zerlegung in Teilfragen