Auto-interrogation et citations
Allez plus loin avec RAG grâce à des récupérateurs qui convertissent le langage naturel en filtres de métadonnées, et à des réponses citant leurs sources afin que les utilisateurs puissent leur faire confiance et les vérifier.
Auto-interrogation et citations est une leçon LLM Apps in Production (RAG + Vector DB + Caching) gratuite sur CoddyKit. Ceci est la leçon 4 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 LLM Apps in Production (RAG + Vector DB + Caching), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours LLM Apps in Production (RAG + Vector DB + Caching) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
When Questions Carry Filters
Users ask things like give me 2023 reports about pricing. That sentence contains a filter (year 2023) and a semantic query (pricing).
A self-querying retriever automatically separates the two.
How Self-Querying Works
An LLM reads the question and emits a structured query: the semantic search string plus a metadata filter. The retriever then applies both to the vector store.
Describing Your Metadata
You tell the retriever what fields exist so it knows what it can filter on.
from langchain.chains.query_constructor.schema import AttributeInfo
fields = [
AttributeInfo(name='year', description='Publication year', type='integer'),
AttributeInfo(name='topic', description='Document topic', type='string')
]Building the Retriever
Combine the LLM, the store, a content description, and the field info into a self-query retriever.
from langchain.retrievers.self_query.base import SelfQueryRetriever
retriever = SelfQueryRetriever.from_llm(
llm, vectorstore,
'Company reports', fields
)Seeing It in Action
Now a natural-language question is split into a filter and a search automatically — no manual filter code.
docs = retriever.invoke(
'pricing reports from 2023'
)Why Citations Matter
In production, users must be able to verify answers. Unsourced answers are hard to trust and hide hallucinations. Citations link each claim back to its document.
Carrying Source Metadata
Citations rely on each chunk storing where it came from — file name, page, or URL — in its metadata. Set this at load time.
doc.metadata['source'] = 'policy.pdf#p3'Prompting for Citations
Number the context chunks and ask the model to cite the numbers it used. This is simple and reliable.
ctx = '\n'.join(
f'[{i}] {d.page_content}'
for i, d in enumerate(docs)
)
# 'Cite sources like [1] after each claim.'Mapping Numbers to Sources
After generation, map the cited numbers back to real source metadata so the UI can show clickable references.
sources = {i: d.metadata['source']
for i, d in enumerate(docs)}Verifying Citations
Models sometimes cite wrong or nonexistent sources. A safety check confirms each cited chunk actually supports the claim, flagging unsupported statements.
Putting It Together
Self-querying gets the right documents using filters in the question; citations make the resulting answer transparent. Together they raise both precision and trust in advanced RAG.
Quick Check
Test your advanced RAG knowledge.
Recap
You learned two advanced RAG techniques:
- Self-querying turns natural language into metadata filters plus a semantic query
- Describe your fields so the LLM knows what to filter
- Citations link claims to sources for trust
- Carry source metadata, prompt for citations, and verify them
Filtering and citing together make RAG both precise and trustworthy.
Questions Fréquemment Posées
La leçon « Auto-interrogation et citations » est-elle gratuite ?
Oui — le texte complet de « Auto-interrogation et citations » 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 LLM Apps in Production (RAG + Vector DB + Caching), passe à CoddyKit PRO. Le cours LLM Apps in Production (RAG + Vector DB + Caching) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Auto-interrogation et citations » ?
Allez plus loin avec RAG grâce à des récupérateurs qui convertissent le langage naturel en filtres de métadonnées, et à des réponses citant leurs sources afin que les utilisateurs puissent leur faire… Tu pratiques LLM Apps in Production (RAG + Vector DB + Caching) 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 LLM Apps in Production (RAG + Vector DB + Caching) ?
Aucune expérience préalable n'est requise. LLM Apps in Production (RAG + Vector DB + Caching) 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 4 sur 4.
Combien de temps prend la leçon « Auto-interrogation et citations » ?
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 LLM Apps in Production (RAG + Vector DB + Caching) ?
Oui. Chaque leçon LLM Apps in Production (RAG + Vector DB + Caching) 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
- Réécriture et reclassement des requêtes
- Modèles RAG en plusieurs étapes et agentiques
- Gérer les structures de documents complexes
- Auto-interrogation et citations