Bêta par Cross Data

Vérité terrain pour l'évaluation d'un système de retrieval

Résumé. Impossible de mesurer votre RAG sans savoir quels chunks sont les bons. Et toutes les métriques usuelles - recall@k, nDCG@10, MRR - partent d'un préalable : un jeu de jugements de pertinence (qrels) sur le corpus évalué. Sauf que ce jeu, sur un corpus privé, n'existe presque jamais. Le produire à la main, c'est quelques jours d'un expert métier pour une centaine de questions - et le vrai frein, en pratique, ce n'est même pas le coût, c'est qu'on ne le trouve pas : l'annotation passe après son travail du quotidien, et les semaines s'écoulent sans résultat.

Nous construisons ce référentiel à partir de vos deux fichiers, questions.csv et chunks.csv, avec une mesure de fiabilité et la liste explicite des cas incertains. Ses labels reproduisent le jugement humain : sur des benchmarks publics, le classement qui en est issu atteint un nDCG@10 de X %, contre X % pour le meilleur retrieveur de l'état de l'art, et il ordonne les systèmes comme le font les qrels humaines (détails). Pour voir ce que ça donne, une démonstration sur une seule question, sur votre corpus complet, sans frais et sans engagement.

En bref, pour votre direction

Pour savoir si un assistant IA trouve les bons documents, il faut un jeu de réponses de référence. Le faire à la main mobilise un expert métier plusieurs jours - qu'il n'a presque jamais, ce qui fait que le projet attend, ou avance sans mesure. Goldset livre ce référentiel sans mobiliser vos experts, avec une fiabilité mesurée face au jugement humain, pour 2 500 € HT les cent questions, avec des données traitées uniquement dans l'Union européenne et supprimées après livraison.

Ce jeu de référence permet de mesurer les performances de votre système, et donc de ne plus dépendre d'un fournisseur de modèles : si l'un d'eux change ses prix, modifie son modèle ou disparaît, vous pouvez en changer et vérifier que votre assistant fonctionne toujours aussi bien.

Voir le livrable sur vos propres documents, sans frais et sans engagement.

Envoyez votre corpus - jusqu'à 20 000 chunks - et une seule question. Nous faisons tourner le traitement et vous renvoyons le vrai livrable, dans son format définitif, sur vos propres documents.

Soyons clairs : une seule question, ce n'est pas un jeu d'évaluation. À ce volume, aucune métrique ne se calcule, et ce n'est pas le but. Le but, c'est de répondre aux deux questions qu'on se pose avant d'engager un budget - à quoi ressemblera exactement ce que je vais recevoir, et les chunks retenus sont-ils les bons sur mon domaine.

Demander une démonstration gratuite pour une question Donnez-nous votre avis

Indiquez la taille approximative de votre corpus. Réponse sous 24 heures ouvrées, avec la marche à suivre pour le dépôt. Vous pouvez aussi écrire directement à contact@crossdata.tech.

Le problème

Une équipe intègre un retrieval dans son produit : un corpus, un découpage, un modèle d'embedding, parfois un reranker. Et puis vient la question du « est-ce que ça marche ? ». Sans qrels, on observe trois comportements - et aucun ne tient.

  1. Ne rien mesurer. Taille des chunks, top_k, modèle d'embedding : tout est réglé à l'œil. C'est comme avancer dans le brouillard sans boussole.
  2. Mesurer de bout en bout. Une évaluation automatique de la réponse finale montre une dégradation. Mais elle ne distingue pas une recherche qui n'a pas trouvé le bon chunk d'une génération qui l'a mal exploité. Et on finit par optimiser le mauvais étage.
  3. Annoter à la main. Trier une cinquantaine de candidats, ça prend huit à dix minutes à un expert. Cent questions, et c'est quelques jours de son temps. Le vrai problème, là encore, c'est qu'on ne le trouve pas : l'annotation passe après le reste, met des semaines à aboutir, et personne ne la refait quand le corpus bouge. C'est le point que tout le monde sous-estime.

Le référentiel a, par ailleurs, une propriété que les composants qu'il sert à évaluer n'ont pas : il reste valide quand on change de modèle d'embedding, de découpage ou de reranker. C'est un actif qui dure - là où le retrieveur qu'il mesure, lui, sera remplacé.

Le livrable

Le livrable comprend trois parties :

Les fichiers fournis

Une archive, envoyée par lien de téléchargement. Pas d'intégration, pas de kit de développement, pas d'environnement à préparer - Simple, basique.

qrels.csv - le référentiel

Une ligne par couple (question, chunk candidat évalué) - y compris les candidats jugés non pertinents. Leur présence prouve que le pool a bien été examiné, et ils font de bons négatifs pour l'entraînement d'un reranker.

Table 1. Colonnes de qrels.csv.
ColonneTypeDescription
query_idstrIdentifiant repris de questions.csv
chunk_idstrIdentifiant repris de chunks.csv
rankintRang du chunk pour cette question, à partir de 1
gradeintDegré de pertinence : 2 très pertinent, 1 pertinent, 0 non pertinent
scorefloatScore continu de pertinence, pour départager finement
confidencefloatIndice de fiabilité du score de ce chunk, dans [0,1]

qrels.trec

Le même contenu au format standard query_id 0 chunk_id grade, directement consommable par ir_measures et pytrec_eval.

uncertain.csv

Les questions sur lesquelles le système n'a pas convergé, ou dont le meilleur candidat fait un score faible - typiquement une question ambiguë, ou une question sans réponse dans le corpus. On préfère circonscrire l'incertitude et vous la dire, plutôt qu'afficher une certitude uniforme qui n'existe pas.1

report.html et metrics.json

Un indice de fiabilité global et par question ; la distribution du nombre de chunks pertinents par question ; la couverture estimée du pool de candidats2 ; et la ligne de commande exacte pour recalculer vos propres métriques. Les mêmes valeurs se retrouvent dans metrics.json, sous forme structurée, pour suivre l'évolution d'un traitement à l'autre.

fulldata.jsonl

Le contenu de qrels.csv, enrichi du texte des questions, du contenu des chunks et de l'indice de fiabilité de chaque score. Tout est dans un seul fichier : c'est celui que lit l'application de validation, sans avoir besoin de vos fichiers d'origine.

Sur option : pas de questions ? Nous les générons

Vous n'avez pas de questions constituées ? Sur option, dès la formule Découverte, nous générons des questions synthétiques à partir de votre corpus, en couvrant plusieurs axes : type de tâche, complexité, style de formulation. La méthode de génération est à l'état de l'art, et vous recevez avec les questions un rapport qui évalue la qualité de chacune : vous savez lesquelles garder, revoir ou écarter.

Une application interactive d'évaluation par vos experts

Incluse dans la formule Starter, sans surcoût. Une application web locale qui présente le référentiel à vos experts métier pour qu'ils valident les jugements, ou les corrigent au besoin. Le traitement étant fiable, il y a normalement peu à reprendre : il s'agit de valider, pas de refaire l'annotation.

Elle est fournie sous forme d'image Docker, à déployer sur votre infrastructure et à ouvrir aux experts de votre choix. Elle est facultative : le référentiel s'utilise sans elle.

Pour la lancer sur votre fichier fulldata.jsonl :

docker pull goldset-verification:latest
docker run --rm -p 8080:8080 \
  -v /path/to/fulldata.jsonl:/data/fulldata.jsonl:ro \
  goldset-verification:latest /data/fulldata.jsonl

Sur option : des modèles fine-tunés

Le référentiel ne sert pas qu'à mesurer : c'est aussi un très bon jeu d'entraînement. Sur option, nous fine-tunons sur votre corpus trois modèles : un modèle d'embedding, un reranker et un modèle à interaction tardive (late interaction, comme ColBERT). Nous nous occupons de l'augmentation de données, pour garantir des performances qui se généralisent au-delà des questions du référentiel.

Chaque livraison s'accompagne d'une comparaison du gain de performance face à un retriever standard (hybride BM25 + embedding), mesurée sur votre référentiel.

Deux modes de livraison, au choix ou ensemble :

  • les poids des modèles, que vous déployez où vous voulez, y compris hors ligne ;
  • les modèles fine-tunés hébergés et leur API, par nos soins, sur une infrastructure souveraine dans l'Union européenne, sans aucun log ni rétention des requêtes, avec un engagement d'un an et un ré-entraînement par an inclus. Au bout de 15 mois d'abonnement (l'année d'engagement, plus 3 mois), les poids des modèles vous sont acquis : nous vous les livrons. Une formule sans engagement, résiliable chaque mois, existe aussi, sans acquisition des poids (voir Tarifs).

Disponible à partir de la formule Starter. Ré-entraînement possible après évolution du corpus, inclus une fois par an avec l'API hébergée. Prix : voir Tarifs.

Fiabilité mesurée

Un référentiel de vérité n'a de valeur que si sa fiabilité est mesurée. Nous distinguons trois affirmations, établies séparément.

Table 3. Niveaux de validation et résultats.
AffirmationProtocoleRésultat
Les labels reproduisent le jugement humain Benchmarks publics disposant de qrels humaines (BEIR, mMARCO fr), à pool de candidats identique à celui de production Classement issu de nos labels, évalué contre les qrels humaines : nDCG@10 = X %, contre X % pour le meilleur retrieveur de l'état de l'art sur le même pool
La propriété se conserve sur un corpus métier Échantillon tiré à l'aveugle, annoté indépendamment par deux experts du domaine Accord avec l'expert : X %, deux experts s'accordant entre eux à X %
Le référentiel classe correctement les systèmes Huit configurations de retrieval ordonnées avec les qrels humaines, puis avec les nôtres τ de Kendall = X : les deux classements coïncident

La troisième affirmation est la plus importante en pratique. L'usage réel d'un référentiel n'est pas de statuer sur un document isolé, mais de décider si une configuration est préférable à une autre ; c'est aussi le niveau auquel ce type de jugement est le plus fiable. Aucune méthode d'annotation, humaine comprise, ne garantit l'exactitude de chaque label pris isolément.

Traitement des données

Rien n'est conservé au-delà de la livraison. Chaque traitement s'exécute sur une infrastructure dédiée, hébergée dans l'Union européenne, créée pour ce seul travail et détruite dès les résultats livrés. Corpus, questions, représentations intermédiaires et fichiers de travail disparaissent avec elle. C'est voulu et vérifiable.

  • Accord de confidentialité signé avant tout transfert, sur simple demande.
  • Vos données ne servent qu'à produire votre livrable. Elles ne sont utilisées pour entraîner ou adapter aucun modèle - sauf, sur option et à votre demande, le modèle fine-tuné qui vous est livré. Il n'est réutilisé pour aucun autre client.
  • Les modèles de langue employés sont, sans exception, exécutés par nos soins dans l'Union européenne. Aucune API de modèle tierce n'intervient. Ce n'est pas une option activable sur demande : c'est la seule configuration dans laquelle nous exploitons le service. Ils tournent sur l'infrastructure de l'un de nos fournisseurs : Verda (Helsinki, Finlande), OVHcloud (Roubaix, France), Scaleway (Paris, France) ou Hetzner (Gunzenhausen, Allemagne). Aucun de vos contenus n'est soumis à un modèle exploité hors de l'Union, et donc à aucun fournisseur relevant du CLOUD Act.
  • Exécution sur votre propre infrastructure dans la formule Enterprise, y compris hors ligne (voir Tarifs).
  • Seul le livrable subsiste, le temps du lien de téléchargement (X jours), puis il est supprimé. Donc toute reprise ultérieure part d'un nouveau dépôt - c'est le prix à payer pour ne rien garder.
  • Exception, si vous choisissez l'API hébergée : nous conservons le modèle fine-tuné qui la fait tourner, et rien d'autre. Les requêtes ne sont ni journalisées ni conservées.

Pourquoi Goldset ?

Comparaison avec les alternatives

La question n'est pas de savoir s'il existe des solutions gratuites - il en existe - mais ce qu'elles produisent réellement. Un générateur ouvert invite un modèle à écrire une question à partir de chaque chunk : la paire obtenue est pertinente par construction, mais elle ne comporte qu'un seul chunk pertinent par question, alors que plusieurs y répondent dans un corpus réel. Toute mesure de rappel en devient faussée : retrouver le seul chunk source suffit à un rappel parfait, tandis qu'un autre chunk pertinent remonté compte comme une erreur.3

Table 4. Trois voies pour obtenir des qrels sur un corpus privé.
Générateur ouvertAnnotation humaineGoldset
Chunks pertinents par question1, par constructiontous ceux du pooltous ceux du pool
Rappel (recall@k)première estimation, approximativeouioui
Métriques fines (nDCG@k)non : un seul chunk, pertinence binaireoui, si l'annotation est graduéeoui, pertinence graduée de 0 à 2
Fiabilité mesuréeaucuneaccord inter-annotateursindice de fiabilité par chunk ; application locale (image Docker) pour faire valider par vos experts les chunks remontés pour chaque question
Coût pour 100 questionsquelques jours de data scientist, sans validation des questionsquelques jours d'expert métier, selon sa disponibilitésans mobiliser vos équipes ; voir Tarifs
Reconduction à l'évolution du corpusen théorieen pratique, jamaisoui ; en abonnement, 4 traitements par an pour le prix de 3

Panorama du marché

Le tableau précédent oppose des catégories de méthodes ; celui-ci nomme des outils réels. La plupart relèvent de la même famille que « générateur ouvert » - un jeu de questions généré depuis le corpus, avec au plus un chunk pertinent par question - et quelques-uns automatisent l'évaluation de pertinence sans construire eux-mêmes ce jeu de questions. Aucun ne couvre les deux étapes avec une garantie de fiabilité chiffrée.

Table 5. Panorama des outils du marché, ouverts ou managés, et ce qu'ils couvrent réellement.4
OutilNatureCouvreNe couvre pas
RAGASopen source Génère un jeu de questions à partir d'un graphe de connaissances du corpus Un seul chunk pertinent par question, par construction ; validation humaine publiée limitée à une étude
Giskard / RAGETopen source Génère des types de questions variés, puis évalue par modèle de langue Même limite de rappel ; aucune corrélation humaine publiée
LlamaIndex / DeepEvalopen source Génère des paires question/contexte directement depuis l'index Un seul chunk pertinent par question, par construction
UMBRELAopen source Évaluateur de pertinence de référence, reproduction publiée d'un protocole d'assesseur Une brique de recherche : ni pool, ni pipeline, ni livrable
RAGELOopen source Classe des systèmes RAG entre eux par comparaison de leurs réponses Ne construit pas les qrels d'un corpus ; compare des systèmes, pas des documents
ARESopen source (recherche) Évaluateurs affinés, avec intervalles de confiance statistiques Travail d'ingénierie à internaliser ; ce n'est pas un service livré
Bedrock / Vectara / Galileo / Patronusmanagé, propriétaire Évaluation de réponses générées par modèle de langue Évalue une réponse, ne construit pas un référentiel de retrieval ; éditeurs soumis au CLOUD Act
Toloka / Scale AImanagé, annotation humaine Annotation manuelle à grande échelle Coûteux et lent sur un corpus confidentiel et spécialisé ; jamais reconduit

Chacun de ces outils couvre une partie du besoin ; aucun ne le couvre tout entier. Ce qui fait la différence chez Goldset :

  • Chaque question est évaluée sur plusieurs chunks candidats de votre corpus, pas sur un seul. C'est ce qui donne un sens au rappel mesuré.
  • Chaque chunk reçoit un degré de pertinence et un indice de fiabilité.
  • Les labels reproduisent le jugement humain (nDCG@10 = X % sur des benchmarks publics), sans mobiliser vos experts.
  • Le livrable est prêt à l'emploi, sans intégration.
  • Le traitement est hébergé dans l'Union européenne.

La différence, c'est la réunion de ces cinq points - pas l'un d'eux isolément.

Tarifs

* Phase bêta : les délais sont donnés à titre indicatif. Nous revenons vers vous avec un délai ajusté après la commande.

Table 2. Formules. Montants en euros hors taxes. Chaque formule couvre un volume maximal de questions et de chunks : prenez la plus petite qui couvre le vôtre. La Standard s'étend au-delà de 500 questions (10 € la question supplémentaire) ; au-delà de 100 000 chunks, sur devis. Enterprise répond à un autre besoin : faire tourner le service chez vous, hors ligne, avec un engagement de service. Les lignes « + » sont des options, disponibles à partir de la formule qui les précède.
FormulePrixQuestions CorpusContenuDélai*
Découverte900202 000 top-10 gradué, rapport résumé. Les 900 € sont déduits de la formule que vous commandez ensuite sous trente jours (Starter : 1 600 € au lieu de 2 500 €)72 h
+ Génération de questions10/questionquestions synthétiques générées depuis votre corpus par une méthode à l'état de l'art, avec un rapport évaluant la qualité de chaque question ; elles comptent dans le volume de la formule
Starter2 50010020 000 top-10 gradué, rapport de fiabilité complet, cas incertains signalés, application de validation experte (image Docker) 5 j
+ Modèles fine-tunés5 000embedding, reranker et late interaction fine-tunés sur votre corpus, poids livrés, avec comparaison face à un retriever hybride BM25 + embedding (voir Le livrable)
+ Modèles fine-tunés hébergés et API300/moishébergés sur une infrastructure souveraine dans l'UE, sans log ni rétention ; engagement d'un an ; un ré-entraînement par an inclus ; poids des modèles acquis après 15 mois (l'année d'engagement + 3 mois)
+ Modèles hébergés et API, sans engagement400/moismêmes conditions d'hébergement, résiliable chaque mois ; sans ré-entraînement inclus ni acquisition des poids
+ Ré-entraînement des modèles5 000après évolution du corpus, entraînement complet ; inclus une fois par an avec l'API hébergée
+ Actualisation du référentielprix formuleaprès évolution du corpus, traitement complet au prix de la formule ; en abonnement annuel, 4 traitements (le référentiel initial et 3 actualisations) pour le prix de 3
Standard5 000500100 000 top-20 gradué, évaluation de votre retrieveur contre le référentiel5, écart à l'état de l'art, restitution d'une heure10 j
+ Questions supplémentaires10/questionau-delà de 500, au tarif de la Standard ; corpus au-delà de 100 000 chunks sur devis
+ Retrieveur supplémentaire750évaluation d'un retrieveur de plus contre le référentiel
Enterprisedès 25 000/ansur devissur devis exécution sur votre infrastructure, actualisation trimestrielle, engagement de service contractuelcontractuel

Quelques scénarios d'achat

  • Tester avant de s'engager. La démonstration gratuite, puis la Découverte sur 20 questions (900 €). Convaincu, vous passez à la Starter dans les trente jours : 1 600 € de plus. Total : 2 500 € HT pour 100 questions - le prix de la Starter, avec un essai en plus.
    Ce que vous y gagnez : vous savez, avant d'engager un budget, si le livrable tient sur vos propres documents. Ensuite, vous avez de quoi mesurer votre assistant et juger chaque changement sur des chiffres.
  • Un assistant interne, pas encore de questions. Corpus de 8 000 chunks, aucune question constituée : Starter (2 500 €) + génération de 100 questions à 10 € (1 000 €). Total : 3 500 € HT.
    Ce que vous y gagnez : partir de zéro sans mobiliser vos experts, et pouvoir mesurer la qualité de votre assistant dès sa mise en service.
  • Choisir entre deux architectures. 300 questions tirées de vos tickets, corpus de 60 000 chunks, votre retriever actuel et un candidat à comparer : Standard (5 000 €) + un retriever supplémentaire (750 €). Total : 5 750 € HT.
    Ce que vous y gagnez : une décision d'architecture prise sur des chiffres mesurés sur vos données, pas sur une intuition ou un benchmark public qui ne ressemble pas à votre corpus.
  • Améliorer le retrieval sans gérer d'infrastructure. Starter (2 500 €) + modèles fine-tunés hébergés et API (300 €/mois). Première année : 6 100 € HT, un ré-entraînement compris ; les poids vous sont acquis au 15e mois.
    Ce que vous y gagnez : un assistant qui s'appuie sur des modèles adaptés à votre corpus, avec le gain chiffré face à un retriever standard, sans équipe ML à recruter ni infrastructure à maintenir - et des modèles qui finissent par vous appartenir.
  • Un corpus qui bouge tous les trimestres. Standard en abonnement annuel : le référentiel initial et trois actualisations, soit 4 traitements pour le prix de 3 (3 × 5 000 €). Total annuel : 15 000 € HT. S'il faut tout exécuter chez vous, c'est la formule Enterprise, sur devis.
    Ce que vous y gagnez : chaque trimestre, vous savez si la qualité de votre assistant tient malgré l'évolution des documents, et vous repérez une dégradation avant vos utilisateurs.

Questions fréquentes

Comment savoir si votre référentiel est juste ?

Nos labels sont validés sur des benchmarks publics disposant de jugements humains - et sur un corpus métier annoté par des experts du domaine, avec la même performance. Ça veut dire que la méthode généralise au-delà des benchmarks. Vous pouvez le vérifier sur votre propre corpus si vous le voulez, sans que ce soit nécessaire, avec l'application de validation fournie dès la formule Starter : cinquante annotations d'un de vos experts suffisent, et nous vous rendons le taux d'accord entre lui et nous. Et le livrable n'est pas binaire : chaque chunk porte un degré de pertinence et un indice de fiabilité, et les questions qui ne convergent pas sont isolées dans un fichier à part.

Une évaluation par modèle de langue n'est-elle pas biaisée ?

Prise naïvement, oui - et c'est documenté. C'est précisément le problème que notre protocole traite, et la raison pour laquelle un simple appel à un modèle ne suffit pas. Le choix des modèles n'est pas réglé au cas par cas ; il vise systématiquement la meilleure qualité disponible, répartie entre plusieurs familles indépendantes, ce qui limite mécaniquement le risque qu'un jugement favorise un système en particulier. Ce qu'on vous montre, ce sont les effets mesurés : l'indice de fiabilité, les cas litigieux signalés et, si vous le souhaitez, l'accord avec vos propres experts.

Combien de questions sont nécessaires ?

Cinquante pour un premier signal. Cent à deux cents pour comparer deux configurations avec un écart interprétable. Cinq cents et au-delà pour segmenter par type de question et localiser les défaillances - c'est généralement là que se trouve l'information utile.

Nous n'avons pas de questions constituées.

Commencez par vos questions réelles, même en petit nombre : journaux d'utilisation, tickets, demandes de support. Ce sont les meilleures - les questions générées automatiquement sont toujours trop bien formées par rapport à ce que font vraiment les utilisateurs. À défaut, on peut en générer, en couvrant explicitement plusieurs axes : type de tâche, complexité, style de formulation - en option dès la formule Découverte, avec un rapport qui évalue la qualité de chaque question générée.

Que se passe-t-il lorsque le corpus évolue ?

Le référentiel reste valide pour la partie inchangée. Pour le remettre à jour, nous relançons le traitement complet sur votre corpus actuel : comme nous ne conservons rien, c'est ce qui garantit un résultat à jour. Au prix de la formule, ou en abonnement annuel : 4 traitements par an pour le prix de 3.

Quel format de fichiers ?

Deux fichiers CSV encodés en UTF-8. questions.csv comportant les colonnes id et question ; chunks.csv comportant id, text et, facultativement, source. En cas de non-conformité, vous recevez sous 24 heures ouvrées le détail des lignes en cause.

Notes

  1. La proportion de questions signalées est faible en pratique, mais elle n'est pas nulle et nous ne cherchons pas à la masquer : une question ambiguë, ou dont la réponse est absente du corpus, doit être identifiée comme telle plutôt que de recevoir un label arbitraire qui faussera silencieusement vos métriques.
  2. La couverture du pool de candidats borne mécaniquement le rappel mesurable : un chunk pertinent absent du pool n'est pas étiqueté, et ne peut donc pas être compté. C'est la limite structurelle de l'exercice ; elle est affichée dans chaque livraison.
  3. C'est une limite reconnue de cette famille de méthodes, et non un défaut d'implémentation d'un outil particulier.
  4. Description fondée sur la documentation publique de chaque outil à la date de rédaction ; ces projets évoluent rapidement.
  5. En phase bêta, l'évaluation se fait sur des données que vous nous envoyez par e-mail ; nous vous renvoyons un rapport de résultats en HTML et en JSON.

Pour démarrer. Le plus simple, c'est la démonstration décrite en haut de page : votre corpus, une question, sans frais. Ensuite, la formule Découverte - vingt questions, 900 € hors taxes, livrées sous 72 heures (à titre indicatif durant la phase bêta) ; les 900 € sont déduits de la formule que vous commandez ensuite sous trente jours (Starter : 1 600 € au lieu de 2 500 €).

Nous écrire Donnez-nous votre avis

Indiquez l'ordre de grandeur de votre corpus et combien de questions vous avez. La réponse contient un devis et la marche à suivre pour le dépôt. Adresse directe : contact@crossdata.tech.

Pas encore décidé ? Votre avis en 2 minutes nous aide à construire la suite.