Moteurs de requêtes et synthèse des réponses
Les moteurs de requêtes orchestrent la récupération et la synthèse avec des stratégies comme refine, compact et tree_summarize.
Moteurs de requêtes et synthèse des réponses est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Moteur de requêtes = récupération + synthèse
Un moteur de requêtes LlamaIndex comporte deux étapes :
- Récupération — trouver les segments pertinents
- Synthèse — générer une réponse à partir de ces segments
Les deux étapes sont configurables.
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 usedModes de réponse
Voici comment le moteur assemble la réponse finale à partir des segments récupérés :
- refine — traiter les segments un par un en affinant la réponse (le plus précis, mais le plus lent)
- compact — intégrer autant de segments que possible dans le contexte à chaque appel (par défaut)
- tree_summarize — synthèse récursive
- simple_summarize — un seul appel avec tous les segments
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'
)Invites personnalisées
Injectez vos propres modèles d’invite :
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)Citations
Utilisez CitationQueryEngine pour obtenir des citations générées par le 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}')Post-traitements
Réordonnez ou filtrez les nœuds récupérés avant la synthèse :
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)Moteur de conversation
Pour les conversations à plusieurs tours avec mémoire :
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?')Chaînes de traitement et flux de travail
Pour les agents complexes à plusieurs étapes, les flux de travail de LlamaIndex vous offrent un flux piloté par les événements, dans le style Python — comparable, dans l’esprit, à LangGraph.
Mode de réponse
Quel mode de réponse est le plus lent, mais le plus précis ?
Récapitulatif
Configurez top_k, response_mode, les post-traitements et les filtres de métadonnées pour adapter votre moteur de requêtes. Utilisez CitationQueryEngine pour obtenir des réponses fiables.
Questions Fréquemment Posées
La leçon « Moteurs de requêtes et synthèse des réponses » est-elle gratuite ?
Oui — le texte complet de « Moteurs de requêtes et synthèse des réponses » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Moteurs de requêtes et synthèse des réponses » ?
Les moteurs de requêtes orchestrent la récupération et la synthèse avec des stratégies comme refine, compact et tree_summarize. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Agents ?
Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Moteurs de requêtes et synthèse des réponses » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?
Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Chargeurs et analyseurs de documents
- Hiérarchie des index : vectoriel, arborescent, par mots-clés
- Moteurs de requêtes et synthèse des réponses
- Stratégie de décomposition en sous-questions