e-naxosMAF COURSE / COURS
English

MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1

Valider les citations

Reconstruire un index SQLite dense, examiner les passages et rejeter une citation inventée.

Objectifs

Préparer les fichiers et le profil

Prérequis : Demo180–190, admissibilité du corpus et séparation chat/embeddings. Utiliser la distribution complète compilée en Release et une copie de travail ; les fichiers sont shared/Maf.Rag/corpus.json, shared/Maf.Rag et tests/Maf.Rag.Tests. Ce sont des programmes complets, sans Start à terminer. rebuild/probe demandent le service d’embeddings configuré ; answer demande aussi le chat. Les tests utilisent des vecteurs contrôlés sans service de modèle.

Construire puis chercher dans le même index

$env:MAF_STATE_ROOT = Join-Path $env:TEMP ('maf-citations-' + [guid]::NewGuid().ToString('N'))
dotnet build BaseTechnique.slnx -m:1 -c Release
dotnet run --project demos/Demo180_VectorIngestion/Demo180.App.csproj -c Release --no-build -- --Rag:Action rebuild --Rag:AsOf 2026-10-23
dotnet run --project demos/Demo190_RetrievedEvidence/Demo190.App.csproj -c Release --no-build -- --Rag:Action probe --Rag:AsOf 2026-10-23 --Rag:Question "Where can I export CSV in Reporting?"

Conserver MAF_STATE_ROOT entre les deux processus. Relever identifiant, passage, score, source canonique et date. Comparer ensuite une réponse citant exactement un passage retourné à une réponse contenant INVENTED#0 dans une copie du test AnswerGate. Ne pas modifier le corpus de référence pour rendre vraie une citation inventée.

Ce qui doit changer, ce qui doit rester bloqué

Observation attendue : le nouveau processus relit l’index et son manifeste ; une citation inconnue ou une citation dont le texte ne correspond pas au passage est refusée. Un cosinus élevé ne suffit pas à valider la réponse. La présence d’une source admissible ne prouve pas que la proposition de réponse est étayée. Une incompatibilité du manifeste demande une reconstruction explicite, pas un fallback lexical.

Indices progressifs

Commencer par comparer les identifiants du diagnostic avec ceux transmis à AnswerGate. Puis comparer les textes, sans fabriquer de passage. Si la recherche échoue avant le gate, inspecter d’abord le modèle d’embeddings, les dimensions et l’empreinte du corpus. La date est volontairement fixée afin de séparer évolution du corpus et évolution du code.

Correction accessible et vérifiable

dotnet test tests/Maf.Rag.Tests/Maf.Rag.Tests.csproj -m:1 -c Release --no-build --no-restore

La correction est la combinaison des contre-exemples exécutables de Maf.Rag.Tests et de la manipulation Demo470 : citation admise avant approbation, citation fabriquée refusée avant création de demande. Expliquer séparément admissibilité, classement, citation et validation de proposition. Le lien vers le programme complet figure sur chaque fiche de démo.

Portée de la preuve

Microsoft.Data.Sqlite stocke de vrais vecteurs ; le cosinus exact est calculé en C#. Les tests ne qualifient ni le modèle d’embeddings réel ni la pertinence générale des réponses. Aucun Qdrant ou Docker n’est nécessaire.

Retour aux mécanismes

Prérequis

Pour poursuivre

lot014-consolidation-1 · 2026-10-24 · 9a895c94534cd5fc6f3da883e37e5f7856e588c1