Spaces:
Runtime error
Runtime error
Commit History
27 days ago
-
fix(eval): relecture vraiment a l'aveugle, budget au pire cas, mesures justes
Releves par la revue adversariale du lot personas. - Relecture a l'aveugle : les etiquettes etaient tirees au hasard, mais les reponses ecrites dans l'ordre des variantes ; citoyen toujours premier, temoin toujours dernier. Elles suivent desormais l'ordre des etiquettes. - Budget : il porte sur le pire cas (une reponse coupee demande une suite, une grille illisible est redemandee), soit deux appels par tache ; 96 par defaut pour les memes 48 taches. Un nombre negatif est refuse (`--comparaisons -1` retranchait un appel et en lancait trois). - Le reclassement par le modele est coupe : il ajoutait un appel par question hors budget, et en faisait dans --dry-run. - distinction ne compare que des profils de meme modele et memes consignes ; similarite ne tient plus « a b » et « c d » pour identiques ; les suffixes (quater, septies) sont ceux du chat ; les renvois vers un avocat reconnaissent « vous adresser a un avocat », « l'avocat de votre choix », « an attorney ». …84f70cd -
feat(prompts): quatre personas vraiment distincts, un profil general, registre adapte hors du droit
Les quatre profils ne differaient que de quatre ou cinq lignes de role, et deux poussaient a inventer (« jurisprudence pertinente si disponible », « contexte historique ») alors que le corpus n'en contient pas. Chaque profil dit desormais qui est l'interlocuteur, ce qu'il attend et comment lui repondre : - citoyen : mots simples, demarche, delai, autorite ; avocat si l'enjeu est serieux ; - avocat : vocabulaire exact, conditions, exceptions, sanctions, articulation des textes ; ni jurisprudence ni renvoi vers un avocat ; - entrepreneur : obligation, etapes, delais, montants ; obligatoire et facultatif distingues ; - etudiant : notion definie, raisonnement, place dans la hierarchie des normes ; - general (n'a pas repondu) : ne presume rien du lecteur. Le bloc partage (longueur, grammaire de citation, interdits) ne change pas. Un profil inconnu recoit le profil general, avec un avertissement, et non plus citoyen en silence. Les reponses conversationnelles portent une ligne d'audi…406ec90 -
feat(eval): comparer_mistral mesure les profils, avec temoin de bruit et budget borne
- --personas : chaque question posee sous chaque profil, avec le MEME contexte ; alias acceptes, profil sans prompt refuse (sinon le repli de get_system_prompt ferait mesurer un autre profil). - --temoin : le premier profil rejoue, plancher de bruit a 0,7. - --budget : au-dela, rien n'est lance, avant meme la cle d'API. - --questions-libres avec --dry-run : la recherche du chat, sans appel au modele, montre si une suggestion a une reponse dans le corpus. - Mesures : forme_relue (citations que le chat sait relire en sources), traits (listes, renvois, definitions), similarite et distinction entre profils. La regle de decision des nouveaux prompts est ecrite dans la docstring, avant la mesure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>df97adf
-
feat(eval): comparer_mistral mesure aussi un plus petit modele et un prompt renforce
--modeles et --consignes font varier le modele et le prompt systeme du chat : « actuelles » (la production) ou « renforcees » (cinq regles de fond en tete). Les etiquettes de la relecture a l'aveugle suivent le nombre de variantes, et la synthese compte les citations orphelines des comparaisons : une case remplie ne vaut que si ses citations tiennent. Mesure du 07/10 (20 questions, 4 comparaisons) : - ministral-3b-2512 : 90,9 % de citations justes (22) avec le prompt actuel, 68,8 % (32) avec le renforce ; 1,7 a 1,8 s par reponse ; - ministral-14b-2512 : 96,2 % (26) et 96,4 % (28) ; 3,0 a 3,3 s ; - comparaisons : le 3b remplit les 28 cases, avec 37 articles absents des extraits ; le 14b en remplit 22, avec 20. Regle fixee avant la mesure : le 3b passait a 94,6 % de citations justes au moins. Rate avec les deux prompts : ministral-14b-2512 reste. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>b16c746 -
feat(eval): comparaison ministral-14b / 8b, et jeu d'evaluation par le modele du chat
scripts/eval/comparer_mistral.py mesure les deux modeles sur 20 questions du jeu d'evaluation relu et 4 comparaisons de regimes, au plus 48 appels : meme contexte pour les deux (la recherche est faite une fois), aucun appel a Groq, modele de secours coupe. Mesures : premier morceau, duree, jetons, fin, articles cites presents dans les extraits, JSON lisible et lignes remplies. Les reponses sont ecrites anonymisees (X/Y tires au sort) pour une relecture a l'aveugle des ajouts non sources. La regle de decision est ecrite avant la mesure : on garde le 14b, sauf si le 8b egale la justesse des citations a 2 points pres sans ajouter plus de contenu non source. generate_eval_set.py passe par get_llm_service() au lieu de Gemini, avec un systeme neutre : sans lui, l'instruction du chat exigeait « Sources: » au milieu d'un JSON. MistralService.generate_stream accepte un rappel `usage` (jetons du flux, modele qui a repondu), pour les mesures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.…f565440