0Pricing
LLM Apps in Production (RAG + Vector DB + Caching) · Leçon

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

  1. Réécriture et reclassement des requêtes
  2. Modèles RAG en plusieurs étapes et agentiques
  3. Gérer les structures de documents complexes
  4. Auto-interrogation et citations
← Retour à LLM Apps in Production (RAG + Vector DB + Caching)