<?xml
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Les services IA de DnC</title>
	<link>https://ia.dnc.global/</link>
	<description>En mati&#232;re d'intelligence artificielle (IA), DnC met l'accent sur la s&#233;curit&#233; en offrant aux entreprises le moyen de conserver leurs donn&#233;es et les traitements &#224; l'int&#233;rieur de leur r&#233;seau d'entreprise plut&#244;t que dans le Cloud.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://ia.dnc.global/spip.php?id_rubrique=8&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Orchestration : ReAct et Backtracking</title>
		<link>https://ia.dnc.global/Orchestration-ReAct-et-Backtracking.html</link>
		<guid isPermaLink="true">https://ia.dnc.global/Orchestration-ReAct-et-Backtracking.html</guid>
		<dc:date>2026-05-17T10:04:49Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Bertrand Degoy</dc:creator>



		<description>
&lt;p&gt;Une boucle ReAct &#034;Raisonne&#034; en marche avant, selon une suite d'&#233;tapes successives. Si le raisonnement &#233;choue &#224; donner une r&#233;ponse &#224; la question pos&#233;e, la boucle s'arr&#234;te sans r&#233;ponse. M&#234;me si une r&#233;ponse est trouv&#233;e, elle n'a pas &#233;t&#233; &#233;labor&#233;e par l'exploration de plusieurs branches : le r&#233;sultat reste non exhaustif. Cet article d&#233;crit comment on pourrait revenir en arri&#232;re et recommencer sur une hypoth&#232;se diff&#233;rente (backtracking), &#224; la fa&#231;on d'un moteur d'inf&#233;rences. &lt;br class='autobr' /&gt;
Nous proposons une architecture dans (...)&lt;/p&gt;


-
&lt;a href="https://ia.dnc.global/-Architecture-ReAct-first-Neuro-symbolique-.html" rel="directory"&gt;Architecture ReAct-first Neuro-symbolique&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Une boucle ReAct &#034;Raisonne&#034; en marche avant, selon une suite d'&#233;tapes successives. Si le raisonnement &#233;choue &#224; donner une r&#233;ponse &#224; la question pos&#233;e, la boucle s'arr&#234;te sans r&#233;ponse. M&#234;me si une r&#233;ponse est trouv&#233;e, elle n'a pas &#233;t&#233; &#233;labor&#233;e par l'exploration de plusieurs branches : le r&#233;sultat reste non exhaustif.&lt;br class='autobr' /&gt;
Cet article d&#233;crit comment on pourrait revenir en arri&#232;re et recommencer sur une hypoth&#232;se diff&#233;rente (backtracking), &#224; la fa&#231;on d'un moteur d'inf&#233;rences.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Nous proposons une architecture dans laquelle ReAct (Reasoning + Acting) est accompagn&#233; par un Superviseur qui peut remonter l'arbre de d&#233;cisions (&#034;backtracking&#034;) et explorer des alternatives en cas d'&#233;chec ou d'insatisfaction. Dans cette approche, le superviseur serait &lt;strong&gt;un m&#233;ta-contr&#244;leur&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Un &lt;strong&gt;moteur d'inf&#233;rences logiques peut jouer un r&#244;le central dans l'orchestration&lt;/strong&gt; des actions et des d&#233;cisions &#224; suivre en cas d'&#233;chec. &lt;br class='autobr' /&gt;
En effet, un moteur logique excelle dans :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; la d&#233;tection de situations complexes,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; la repr&#233;sentation d&#233;clarative (&#034;symbolique&#034;) de r&#232;gles, de contraintes et d'alternatives ,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; le raisonnement sur des violations et des exceptions,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; le retour en arri&#232;re (backtracking) dans un arbre de solutions pour explorer les alternatives.&lt;/p&gt;
&lt;p&gt;L'approche d&#233;velopp&#233;e &#8212; ReAct + Inf&#233;rence logique &#8212; se distingue nettement de tout ce qui existe aujourd'hui :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; elle est &lt;strong&gt;originale&lt;/strong&gt;,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; elle est &lt;strong&gt;techniquement solide&lt;/strong&gt;,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; elle r&#233;pond &#224; un besoin &lt;strong&gt;non couvert&lt;/strong&gt; par les architectures actuelles,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; elle combine deux mondes rarement r&#233;unis : &lt;br class='autobr' /&gt; &lt;strong&gt;agents LLM&lt;/strong&gt; et &lt;strong&gt;moteurs logiques d&#233;terministes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Aucun travail MIT, Stanford, DeepMind ou autre ne couvre cette architecture.&lt;/p&gt;
&lt;p&gt;La version v2 de ReActEngine (en d&#233;veloppement) est fond&#233; sur cette architecture. Un moteur ReAct complet, en streaming enti&#232;rement &#233;crit &#224; la main, sans LlamaIndex ou autre, avec un LLM de Mistral AI : Made in France, cocorico !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>ReAct : Sch&#233;mas d'entr&#233;e et de sortie</title>
		<link>https://ia.dnc.global/ReAct-Schemas-d-entree-et-de-sortie.html</link>
		<guid isPermaLink="true">https://ia.dnc.global/ReAct-Schemas-d-entree-et-de-sortie.html</guid>
		<dc:date>2025-09-12T08:37:58Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Bertrand Degoy</dc:creator>



		<description>
&lt;p&gt;Une d&#233;finition compl&#232;te et rigoureuse d'outils pour ReAct ( Function Tools ) comprend la d&#233;finition des classes d'E/S Pydantic dans deux buts : aider ReAct &#224; identifier le bon outil, passer des donn&#233;es d'entr&#233;e sous le bon format, valider les sch&#233;mas de sortie ... Oui, mais cela ralentit consid&#233;rablement l'ex&#233;cution et cela demande d'&#233;crire des centaines de lignes de code. Inutilement ? &lt;br class='autobr' /&gt;
Faut-il utiliser les sch&#233;mas Pydantic ? &lt;br class='autobr' /&gt;
Sans sch&#233;ma Pydantic = moins de v&#233;rifications explicites &lt;br class='autobr' /&gt;
Quand on (...)&lt;/p&gt;


-
&lt;a href="https://ia.dnc.global/-Etudes-.html" rel="directory"&gt;Etudes&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Une d&#233;finition compl&#232;te et rigoureuse d'outils pour ReAct ( Function Tools ) comprend la d&#233;finition des classes d'E/S Pydantic dans deux buts : &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; aider ReAct &#224; identifier le bon outil, &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; passer des donn&#233;es d'entr&#233;e sous le bon format, valider les sch&#233;mas de sortie ...&lt;br class='autobr' /&gt;
Oui, mais cela ralentit consid&#233;rablement l'ex&#233;cution et cela demande d'&#233;crire des centaines de lignes de code. &lt;br class='autobr' /&gt;
Inutilement ?&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;Faut-il utiliser les sch&#233;mas Pydantic ?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Sans sch&#233;ma Pydantic = moins de v&#233;rifications explicites&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Quand on n'utilise pas de classe Pydantic, on relie l'outil via un sch&#233;ma JSON brut (dans la description de l'outil). Dans ce cas :&lt;br class='autobr' /&gt;
&#8226; Le LLM ne fait pas de validation stricte c&#244;t&#233; Python.&lt;br class='autobr' /&gt;
&#8226; Il fait confiance au sch&#233;ma JSON pour comprendre les types attendus.&lt;br class='autobr' /&gt;
&#8226; Il g&#233;n&#232;re les inputs en se basant sur la description, mais sans v&#233;rification automatique des types ou des valeurs.&lt;br class='autobr' /&gt;
R&#233;sultat :&lt;br class='autobr' /&gt;
&#9989; Ex&#233;cution plus rapide&lt;br class='autobr' /&gt;
&#9989; Moins de friction&lt;br class='autobr' /&gt;
&#9888;&#65039; Moins de s&#233;curit&#233; sur les entr&#233;es (si l'agent hallucine ou malformate les donn&#233;es)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Avec Pydantic = validation rigoureuse&lt;/strong&gt;&lt;br class='autobr' /&gt;
Si on utilise une classe Pydantic (d&#233;clar&#233; dans le param&#232;tre fn_schema du FunctionTool) pour d&#233;finir les param&#232;tres :&lt;br class='autobr' /&gt;
&#8226; Le LLM doit conformer les inputs &#224; la structure attendue.&lt;br class='autobr' /&gt;
&#8226; Chaque champ est valid&#233; (type, pr&#233;sence, valeur).&lt;br class='autobr' /&gt;
&#8226; Tu obtiens des erreurs explicites si l'input est mal form&#233;.&lt;br class='autobr' /&gt;
R&#233;sultat :&lt;br class='autobr' /&gt;
&#9989; Robustesse&lt;br class='autobr' /&gt;
&#9989; Clart&#233; des erreurs&lt;br class='autobr' /&gt;
&#9888;&#65039; Temps de traitement plus long&lt;br class='autobr' /&gt;
&#9888;&#65039; Risque de blocage si le LLM ne formate pas parfaitement.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Gestion des retours de fonction&lt;/h3&gt;
&lt;p&gt;C'est un point souvent n&#233;glig&#233; dans les workflows ReAct : la gestion des retours de fonction.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comment ReAct g&#232;re les retours de fonction&lt;/strong&gt;&lt;br class='autobr' /&gt;
Dans LlamaIndex ReAct, l'agent ne lit pas directement le code Python de la fonction. Il se base sur :&lt;br class='autobr' /&gt;
1. La docstring de la fonction (si elle est fournie)&lt;br class='autobr' /&gt;
2. Le nom de la fonction&lt;br class='autobr' /&gt;
3. Le contexte de la requ&#234;te utilisateur&lt;br class='autobr' /&gt;
4. L'observation du r&#233;sultat apr&#232;s appel de la fonction&lt;br class='autobr' /&gt;
Autrement dit, il ne sait pas &#224; l'avance ce que la fonction retourne, sauf cela lui est expliqu&#233;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bonnes pratiques pour que ReAct comprenne le retour&lt;/strong&gt;&lt;br class='autobr' /&gt;
Voici comment on peut l'aider &#224; bien interpr&#233;ter le r&#233;sultat :&lt;br class='autobr' /&gt;
1. Docstring explicite dans la fonction :&lt;/p&gt;
&lt;div class=&#034;coloration_code code&#034;&gt;&lt;div class=&#034;spip_python code&#034;&gt;&lt;div class=&#034;python&#034;&gt;&lt;ol&gt;&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt;&lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;def&lt;/span&gt; extract_values_by_key&lt;span style=&#034;color: black;&#034;&gt;&amp;#40;&lt;/span&gt;data_list&lt;span style=&#034;color: #66cc66;&#034;&gt;,&lt;/span&gt; key&lt;span style=&#034;color: black;&#034;&gt;&amp;#41;&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;
&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt; &lt;span style=&#034;color: #483d8b;&#034;&gt;&#034;&#034;&#034;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt;&lt;span style=&#034;color: #483d8b;&#034;&gt; Retourne une liste contenant les valeurs associ&#233;es &#224; une cl&#233; donn&#233;e&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt;&lt;span style=&#034;color: #483d8b;&#034;&gt; dans chaque dictionnaire de la liste.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt;&lt;span style=&#034;color: #483d8b;&#034;&gt; &#034;&#034;&#034;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt; &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;return&lt;/span&gt; &lt;span style=&#034;color: black;&#034;&gt;&amp;#91;&lt;/span&gt;item&lt;span style=&#034;color: black;&#034;&gt;&amp;#91;&lt;/span&gt;key&lt;span style=&#034;color: black;&#034;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;for&lt;/span&gt; item &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;in&lt;/span&gt; data_list &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;if&lt;/span&gt; key &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;in&lt;/span&gt; item&lt;span style=&#034;color: black;&#034;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class='download code_download'&gt;&lt;a href='https://ia.dnc.global/local/cache-code/49d62259824459c578477b8818690769.txt'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;2. Description claire dans le sch&#233;ma JSON :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code class=&#034;json&#034;&gt;&#034;description&#034;: &#034;Retourne une liste des valeurs correspondant &#224; une cl&#233; sp&#233;cifique dans une liste de dictionnaires.&#034;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;3. Nom de fonction &#233;vocateur&lt;br class='autobr' /&gt;
Un nom comme 'extract_values_by_key' est d&#233;j&#224; tr&#232;s parlant. &#201;viter les noms trop g&#233;n&#233;riques comme 'process_data'.&lt;br class='autobr' /&gt;
4. Observation du r&#233;sultat&lt;br class='autobr' /&gt;
Apr&#232;s appel de la fonction, l'agent voit le retour (par exemple ['Alice','Bob','Charlie']) et peut l'utiliser dans sa cha&#238;ne de raisonnement suivante.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;L'annotation de type de retour () dans la signature Python&lt;/strong&gt; est utile pour le d&#233;veloppeur, mais elle n'a aucun impact direct sur le comportement de l'agent ReAct :&lt;br class='autobr' /&gt;
LlamaIndex ReAct ne lit pas le code source de la fonction. Il ne fait pas d'analyse statique comme un IDE ou un linter. Ce qu'il utilise pour comprendre le comportement d'un outil, c'est :&lt;br class='autobr' /&gt;
&#8226; Le nom de la fonction,&lt;br class='autobr' /&gt;
&#8226; La description (dans le sch&#233;ma JSON ou la docstring),&lt;br class='autobr' /&gt;
&#8226; Les param&#232;tres d&#233;finis dans le sch&#233;ma,&lt;br class='autobr' /&gt;
&#8226; Le r&#233;sultat observ&#233; apr&#232;s ex&#233;cution.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Pour aller plus loin&#8230;&lt;/h3&gt;
&lt;p&gt;On peut aussi encapsuler le retour dans un dictionnaire pour le rendre plus lisible :&lt;/p&gt;
&lt;div class=&#034;coloration_code code&#034;&gt;&lt;div class=&#034;spip_python code&#034;&gt;&lt;div class=&#034;python&#034;&gt;&lt;ol&gt;&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt;&lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;def&lt;/span&gt; extract_values_by_key&lt;span style=&#034;color: black;&#034;&gt;&amp;#40;&lt;/span&gt;data_list&lt;span style=&#034;color: #66cc66;&#034;&gt;,&lt;/span&gt; key&lt;span style=&#034;color: black;&#034;&gt;&amp;#41;&lt;/span&gt;:&lt;/div&gt;&lt;/li&gt;
&lt;li style=&#034;font-weight: normal; vertical-align:top;&#034;&gt;&lt;div style=&#034;&#034;&gt; &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;return&lt;/span&gt; &lt;span style=&#034;color: black;&#034;&gt;&#123;&lt;/span&gt;&lt;span style=&#034;color: #483d8b;&#034;&gt;&#034;values&#034;&lt;/span&gt;: &lt;span style=&#034;color: black;&#034;&gt;&amp;#91;&lt;/span&gt;item&lt;span style=&#034;color: black;&#034;&gt;&amp;#91;&lt;/span&gt;key&lt;span style=&#034;color: black;&#034;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;for&lt;/span&gt; item &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;in&lt;/span&gt; data_list &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;if&lt;/span&gt; key &lt;span style=&#034;color: #ff7700;font-weight:bold;&#034;&gt;in&lt;/span&gt; item&lt;span style=&#034;color: black;&#034;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&#034;color: black;&#034;&gt;&#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p class='download code_download'&gt;&lt;a href='https://ia.dnc.global/local/cache-code/7cf5b3fb5b1a467ac1d4c89be56807a9.txt'&gt;T&#233;l&#233;charger&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Cela permet &#224; l'agent de mieux comprendre la structure du r&#233;sultat, surtout si tu veux encha&#238;ner avec d'autres outils.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>ReAct : M&#233;moire contextuelle</title>
		<link>https://ia.dnc.global/ReAct-Memoire-contextuelle.html</link>
		<guid isPermaLink="true">https://ia.dnc.global/ReAct-Memoire-contextuelle.html</guid>
		<dc:date>2025-08-30T07:54:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Bertrand Degoy</dc:creator>



		<description>
&lt;p&gt;La m&#233;moire contextuelle dans ReAct permet &#224; l'agent de retenir ses observations, erreurs et param&#232;tres pass&#233;s pour mieux agir. Une m&#233;moire plus riche &#233;viterait les r&#233;p&#233;titions et les appels incorrects. Mais ReAct progresse par t&#226;tonnements : il teste, observe, corrige. Ce manque de rigueur initial est compens&#233; par sa capacit&#233; &#224; s'adapter, comme un humain qui apprend en marchant. Faut-il viser la pr&#233;cision d&#232;s le d&#233;part, ou valoriser l'exploration et l'ajustement en cours de route ? &lt;br class='autobr' /&gt;
Qu'est-ce que la (...)&lt;/p&gt;


-
&lt;a href="https://ia.dnc.global/-Etudes-.html" rel="directory"&gt;Etudes&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;La m&#233;moire contextuelle dans ReAct permet &#224; l'agent de retenir ses observations, erreurs et param&#232;tres pass&#233;s pour mieux agir. Une m&#233;moire plus riche &#233;viterait les r&#233;p&#233;titions et les appels incorrects.&lt;br class='autobr' /&gt;
Mais ReAct progresse par t&#226;tonnements : il teste, observe, corrige. Ce manque de rigueur initial est compens&#233; par sa capacit&#233; &#224; s'adapter, comme un humain qui apprend en marchant.&lt;br class='autobr' /&gt;
Faut-il viser la pr&#233;cision d&#232;s le d&#233;part, ou valoriser l'exploration et l'ajustement en cours de route ?&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&#034;spip&#034;&gt;Qu'est-ce que la &#034;m&#233;moire contextuelle&#034; dans ReAct ?&lt;/h3&gt;
&lt;p&gt;Dans le cadre d'un agent ReAct, la m&#233;moire contextuelle d&#233;signe l'ensemble des informations que l'agent garde en t&#234;te au fil de ses raisonnements et actions. Cela inclut :&lt;br class='autobr' /&gt;
&#8226; Les observations pr&#233;c&#233;dentes (r&#233;sultats d'outils, r&#233;ponses d'API, etc.)&lt;br class='autobr' /&gt;
&#8226; Les intentions pass&#233;es (ce qu'il a essay&#233; de faire)&lt;br class='autobr' /&gt;
&#8226; Les erreurs ou ajustements (ce qui n'a pas march&#233; et pourquoi)&lt;br class='autobr' /&gt;
&#8226; Les donn&#233;es extraites ou calcul&#233;es (valeurs, documents, filtres, etc.)&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Pourquoi &#034;plus riche&#034; ?&lt;/h3&gt;
&lt;p&gt;Par &#034;plus riche&#034;, il faut imaginer que l'agent pourrait :&lt;br class='autobr' /&gt;
&#8226; Mieux structurer ce qu'il a d&#233;j&#224; vu ou fait.&lt;br class='autobr' /&gt;
&#8226; M&#233;moriser plus finement les param&#232;tres utilis&#233;s, les formats attendus, les erreurs rencontr&#233;es.&lt;br class='autobr' /&gt;
&#8226; Anticiper les besoins futurs en se basant sur ce qu'il a appris dans les &#233;tapes pr&#233;c&#233;dentes.&lt;br class='autobr' /&gt;
Autrement dit, une m&#233;moire contextuelle plus riche permettrait &#224; l'agent de &lt;strong&gt;ne pas refaire les m&#234;mes erreurs, ou de param&#233;trer correctement d&#232;s le premier appel.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Exemple concret&lt;/h3&gt;
&lt;p&gt;Voici un comportement qui devrait &#234;tre &#233;vit&#233; : non seulement l'agent se trompe dans les param&#232;tres (alors qu'il a d&#233;j&#224; utilis&#233; correctement l'outil dans une &#233;tape pr&#233;c&#233;dente), mais au moment de r&#233;cup&#233;rer l'erreur, il s'aper&#231;oit (comment ?) qu'il avait d&#233;j&#224; la r&#233;ponse :&lt;/p&gt;
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;Je vais maintenant r&#233;cup&#233;rer les d&#233;tails complets de ces interventions pour fournir une r&#233;ponse claire et d&#233;taill&#233;e.&lt;br /&gt; Action: interventionsGetInterventionsByEntityIdFiltered&lt;br /&gt; Action Input: {'entityId': '23:4202'}&lt;br /&gt; Observation: Error: 3 validation errors for EntityIdTimestampsFilteredInput&lt;br /&gt; sinceTstamp&lt;br /&gt; Field required [type=missing, input_value={'entityId': '23:4202'}, input_type=dict]&lt;br /&gt; For further information visit https://errors.pydantic.dev/2.11/v/missing&lt;br /&gt; untilTstamp&lt;br /&gt; Field required [type=missing, input_value={'entityId': '23:4202'}, input_type=dict]&lt;br /&gt; For further information visit https://errors.pydantic.dev/2.11/v/missing&lt;br /&gt; filters&lt;br /&gt; Field required [type=missing, input_value={'entityId': '23:4202'}, input_type=dict]&lt;br /&gt; For further information visit https://errors.pydantic.dev/2.11/v/missing&lt;br /&gt; &gt; Running step 7f431607-2599-43f4-b1f5-1fc819f498e4. Step input: None&lt;br /&gt; Thought: Je vois que j'ai d&#233;j&#224; les informations n&#233;cessaires dans les r&#233;sultats pr&#233;c&#233;dents. Je vais synth&#233;tiser les informations des interventions termin&#233;es en 2024 pour fournir une r&#233;ponse claire et compl&#232;te.&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Si sa m&#233;moire contextuelle &#233;tait plus riche, il aurait pu &#233;viter l'erreur d&#232;s le premier appel :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Se rappeler qu'il avait d&#233;j&#224; le r&#233;sultat.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Se souvenir du format attendu par le filtre.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;M&#233;moire contextuelle vs. planification&lt;/h3&gt;
&lt;p&gt;Ce qu'on appelle &#034;m&#233;moire contextuelle&#034; est souvent li&#233; &#224; la capacit&#233; de planification :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un agent qui planifie bien anticipe les formats, les conversions, les d&#233;pendances.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un agent avec une m&#233;moire riche peut r&#233;utiliser intelligemment ce qu'il a d&#233;j&#224; vu.&lt;/p&gt;
&lt;p&gt;Ce qui importe, ce n'est pas seulement une question de &#034;richesse&#034; de la m&#233;moire, mais aussi une prise en compte plus syst&#233;matique. Il faut donc consid&#233;rer l'ad&#233;quation des instructions g&#233;n&#233;rales, de la description des outils et de leur classes d'E/S, la bonne r&#233;daction des routines.&lt;/p&gt;
&lt;p&gt;En amont de ReAct, il y a l'orchestrateur, qui &#233;labore un plan &#224; partir du prompt, des instructions g&#233;n&#233;rales et des routines. Le plan est transmis &#224; ReAct sous la forme d'une liste ordonn&#233;e d'&#233;tapes.&lt;br class='autobr' /&gt;
&lt;strong&gt;Le plus souvent, quand on constate un errance de ReAct, on constate &#233;galement que le plan &#233;tait tr&#232;s pertinent et qu'il n'a pas &#233;t&#233; appliqu&#233;, ou l'est en seconde intention.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Oui mais non, peut &#234;tre ?&lt;/h3&gt;
&lt;p&gt;Ce comportement erratique se produit dans un contexte de system-prompt, de description des outils avec leurs classes Pydantic d'E/S d&#233;taill&#233;es, de routines tr&#232;s pr&#233;cises et, finalement, d'un plan &#233;labor&#233; par l'orchestrateur. Il faut d&#232;s lors se poser la question : pourquoi ce la ne fonctionne pas bien du premier coup ? Peut-on &#233;viter cela ?&lt;br class='autobr' /&gt;
Faudrait-il :&lt;br class='autobr' /&gt;
&#8226; Des outils mieux document&#233;s ?&lt;br class='autobr' /&gt;
&#8226; Un prompt plus pr&#233;cis, plus autoritaire ?&lt;br class='autobr' /&gt;
&#8226; &lt;strong&gt;Une m&#233;moire contextuelle plus riche ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Ou faut-il consid&#233;rer ce comportement comme b&#233;n&#233;fique et l'accepter ? &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Pourquoi ReAct peut se tromper au premier appel ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le raisonnement est incr&#233;mental&lt;/strong&gt;&lt;br class='autobr' /&gt;
ReAct fonctionne par boucles de r&#233;flexion et d'action. Il ne planifie pas tout d'un coup (mais c'est le r&#244;le de l'orchestrateur), mais avance &#233;tape par &#233;tape :&lt;br class='autobr' /&gt;
&#8226; Il r&#233;fl&#233;chit &#224; ce qu'il doit faire.&lt;br class='autobr' /&gt;
&#8226; Il agit (appelle un outil).&lt;br class='autobr' /&gt;
&#8226; Il observe le r&#233;sultat.&lt;br class='autobr' /&gt;
&#8226; Il ajuste son raisonnement.&lt;br class='autobr' /&gt;
Cela signifie que le premier appel peut &#234;tre bas&#233; sur une hypoth&#232;se partielle ou incorrecte, que l'agent corrige ensuite. &lt;br class='autobr' /&gt;
&lt;i&gt;C'est l&#224; qu'on aimerait un peu plus de rigueur en ne n&#233;gligeant pas la m&#233;moire contextuelle.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exploration et affinement&lt;/strong&gt;&lt;br class='autobr' /&gt;
Les agents ReAct sont con&#231;us pour explorer avant de converger :&lt;br class='autobr' /&gt;
&#8226; L'agent peut faire un premier appel avec des valeurs par d&#233;faut ou une interpr&#233;tation approximative.&lt;br class='autobr' /&gt;
&#8226; Puis, en analysant l'observation, il comprend qu'il faut affiner les param&#232;tres (par exemple, convertir une dur&#233;e en millisecondes, ou filtrer selon un champ sp&#233;cifique).&lt;br class='autobr' /&gt;
&#8226; C'est une forme de r&#233;silience algorithmique : mieux vaut se tromper et corriger que rester bloqu&#233;.&lt;br class='autobr' /&gt; &lt;i&gt;Autrement dit : j'essaye au pif et je lis la doc apr&#232;s ? &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comportement r&#233;aliste et humain&lt;/strong&gt;&lt;br class='autobr' /&gt;
Ce genre de correction peut &#234;tre tol&#233;r&#233; dans ReAct :&lt;br class='autobr' /&gt;
&#8226; Cela rend l'agent plus flexible, plus adaptable, et m&#234;me plus humain dans son raisonnement.&lt;br class='autobr' /&gt;
&#8226; Un humain aussi peut se tromper dans un premier calcul, puis se corriger &#8212; ReAct imite cette dynamique.&lt;/p&gt;
&lt;p&gt;Mais en pratique, cette capacit&#233; &#224; se &#034;r&#233;cup&#233;rer&#034; est une force, pas une faiblesse. Elle permet &#224; l'agent de fonctionner dans des environnements ambigus, incomplets ou dynamiques.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Tentative de conclusion&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Il faut v&#233;rifier et renforcer tout ce qui peut favoriser un premier essai sans erreur, et particuli&#232;rement la planification. Mais sinon, la capacit&#233; de ReAct &#224; explorer et trouver une solution est une grande force. Encore faut-il ne pas faire deux fois les m&#234;mes erreurs, c'est l&#224; que la m&#233;moire contextuelle &#034;plus riche&#034; doit jouer.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&#224; suivre : comment enrichir la m&#233;moire contextuelle.&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Embeddings : caract&#233;ristiques et comparaison des mod&#232;les</title>
		<link>https://ia.dnc.global/Embeddings-caracteristiques-et-comparaison-des-modeles.html</link>
		<guid isPermaLink="true">https://ia.dnc.global/Embeddings-caracteristiques-et-comparaison-des-modeles.html</guid>
		<dc:date>2025-06-19T08:34:03Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Bertrand Degoy</dc:creator>



		<description>
&lt;p&gt;Si nous cherchons un mod&#232;le local pour sa rapidit&#233; et son &#233;conomie, un bon choix semble &#234;tre BAAI/bge-small-en. &lt;br class='autobr' /&gt;
Comment se mod&#232;le se compare-t-il et pourquoi fonctionne-t-il bien en fran&#231;ais ? Voir la conclusion. &lt;br class='autobr' /&gt;
Pour comparer les embeddings entre plusieurs mod&#232;les, on peut observer plusieurs aspects :
&lt;br class='autobr' /&gt;
&#8211; Dimension de l'embedding : Par exemple, un mod&#232;le peut produire des vecteurs de dimension 512, un autre 768 ou m&#234;me 1024. Cela influence la finesse des repr&#233;sentations.
&lt;br class='autobr' /&gt;
&#8211; Distribution statistique : (...)&lt;/p&gt;


-
&lt;a href="https://ia.dnc.global/-Etudes-.html" rel="directory"&gt;Etudes&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Si nous cherchons un mod&#232;le local pour sa rapidit&#233; et son &#233;conomie, un bon choix semble &#234;tre BAAI/bge-small-en. &lt;br class='autobr' /&gt;
Comment se mod&#232;le se compare-t-il et pourquoi fonctionne-t-il bien en fran&#231;ais ? Voir la conclusion.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Pour comparer les embeddings entre plusieurs mod&#232;les, on peut observer plusieurs aspects :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Dimension de l'embedding : Par exemple, un mod&#232;le peut produire des vecteurs de dimension 512, un autre 768 ou m&#234;me 1024. Cela influence la finesse des repr&#233;sentations.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Distribution statistique : regarder la moyenne, l'&#233;cart-type, ou la densit&#233; des valeurs dans l'embedding. Cela peut r&#233;v&#233;ler des diff&#233;rences de calibrage entre mod&#232;les.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Projection visuelle : on peut r&#233;duire les dimensions (avec PCA ou t-SNE par exemple) pour voir comment les phrases sont group&#233;es dans un espace 2D. Tr&#232;s utile pour comparer la structure s&#233;mantique.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Performance dans une t&#226;che sp&#233;cifique : on peut utiliser les embeddings pour une t&#226;che de classification ou de clustering et comparer les performances.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Distances entre embeddings : avec des m&#233;triques comme la cosine similarity ou la distance euclidienne, on peut &#233;valuer si deux phrases similaires restent proches dans diff&#233;rents espaces&lt;/p&gt;
&lt;h3 class=&#034;spip&#034;&gt;Comparaisons&lt;/h3&gt;&lt;table class=&#034;spip&#034;&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Crit&#232;re&lt;/td&gt;
&lt;td&gt;ada-002&lt;/td&gt;
&lt;td&gt;text-embedding-3-small&lt;/td&gt;
&lt;td&gt;mistral-embed&lt;/td&gt;
&lt;td&gt;BAAI/bge-small-en-v1.5&lt;/td&gt;
&lt;td&gt;BGE-M3&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Taille de l'embedding&lt;/td&gt;
&lt;td&gt;1536&lt;/td&gt;
&lt;td&gt;1536&lt;/td&gt;
&lt;td&gt;1024&lt;/td&gt;
&lt;td&gt;384&lt;/td&gt;
&lt;td&gt;1024&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Langue principale&lt;/td&gt;
&lt;td&gt;Anglais (multilingue l&#233;ger)&lt;/td&gt;
&lt;td&gt;Multilingue (meilleure couverture que ada)&lt;/td&gt;
&lt;td&gt;Multilingue&lt;/td&gt;
&lt;td&gt;Anglais&lt;/td&gt;
&lt;td&gt;Multilingue (100+ langues)&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Objectif&lt;/td&gt;
&lt;td&gt;Embedding g&#233;n&#233;raliste&lt;/td&gt;
&lt;td&gt;Embedding g&#233;n&#233;raliste, optimis&#233; RAG&lt;/td&gt;
&lt;td&gt;Embedding g&#233;n&#233;raliste, retrieval&lt;/td&gt;
&lt;td&gt;Recherche dense / retrieval&lt;/td&gt;
&lt;td&gt;Dense, sparse &amp; multi-vector retrieval&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Vitesse&lt;/td&gt;
&lt;td&gt;Rapide via API&lt;/td&gt;
&lt;td&gt;Tr&#232;s rapide via API&lt;/td&gt;
&lt;td&gt;Rapide via API&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Ultra rapide en local&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Rapide via API ou local (FlagEmbedding)&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td&gt;Qualit&#233; s&#233;mantique&lt;/td&gt;
&lt;td&gt;Bonne g&#233;n&#233;ralisation&lt;/td&gt;
&lt;td&gt;Meilleure que ada-002 sur plusieurs t&#226;ches&lt;/td&gt;
&lt;td&gt;Tr&#232;s bonne, bien group&#233;e s&#233;mantiquement&lt;/td&gt;
&lt;td&gt;Excellente pour similarit&#233;&lt;/td&gt;
&lt;td&gt;Excellente, top sur MIRACL &amp; MKQA&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td&gt;Utilisation recommand&#233;e&lt;/td&gt;
&lt;td&gt;Clustering, recherche, etc.&lt;/td&gt;
&lt;td&gt;Recherche, clustering, QA, RAG&lt;/td&gt;
&lt;td&gt;Recherche, clustering, NLP g&#233;n&#233;raliste&lt;/td&gt;
&lt;td&gt;Recherche s&#233;mantique, FAQ, RAG&lt;/td&gt;
&lt;td&gt;Recherche multilingue, RAG, QA longue doc&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h3 class=&#034;spip&#034;&gt;Pourquoi BAAI/bge-small-en-v1.5 fonctionne-t-il bien en fran&#231;ais ?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;R&#233;ponse de Copilot :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;M&#234;me si BAAI/bge-small-en-v1.5 est officiellement un mod&#232;le monolingue anglais, il fonctionne &#233;tonnamment bien en fran&#231;ais pour plusieurs raisons :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Contamination multilingue dans les donn&#233;es : Lors de l'entra&#238;nement, les corpus web en anglais incluent souvent des phrases ou documents multilingues (comme des tweets, des articles ou des forums). Le mod&#232;le a donc probablement vu du fran&#231;ais, m&#234;me sans l'avoir cibl&#233; explicitement.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Structure linguistique proche : Le fran&#231;ais et l'anglais partagent beaucoup de vocabulaire (surtout dans les domaines techniques ou acad&#233;miques), ce qui facilite la g&#233;n&#233;ralisation.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Tokenisation compatible : Le mod&#232;le utilise une tokenisation bas&#233;e sur des sous-mots (comme WordPiece ou BPE), ce qui lui permet de traiter des mots fran&#231;ais m&#234;me s'ils ne sont pas dans son vocabulaire d'origine.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Robustesse des mod&#232;les modernes : Les mod&#232;les comme BGE sont entra&#238;n&#233;s avec des objectifs de similarit&#233; s&#233;mantique qui les rendent capables de capturer le sens, m&#234;me dans des langues non cibl&#233;es, tant que la structure reste coh&#233;rente.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R&#233;ponse de Le Chat :&lt;/strong&gt;&lt;br class='autobr' /&gt;
Le mod&#232;le BAAI/bge-small-en-v1.5 est principalement con&#231;u pour l'anglais, mais il peut &#233;galement fonctionner relativement bien en fran&#231;ais pour plusieurs raisons :&lt;/p&gt;
&lt;p&gt; - Architecture du Mod&#232;le : Les mod&#232;les de langage modernes, comme ceux bas&#233;s sur l'architecture des transformers, sont capables de capturer des motifs linguistiques complexes. Ces motifs peuvent &#234;tre partag&#233;s entre diff&#233;rentes langues, surtout si elles appartiennent &#224; la m&#234;me famille linguistique. Le fran&#231;ais et l'anglais, par exemple, partagent de nombreuses similitudes en termes de vocabulaire et de structure grammaticale.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Entra&#238;nement Multilingue : Bien que le mod&#232;le soit principalement entra&#238;n&#233; sur des donn&#233;es en anglais, il est possible qu'il ait &#233;t&#233; expos&#233; &#224; des donn&#233;es multilingues pendant son entra&#238;nement. Cela permet au mod&#232;le de d&#233;velopper une certaine compr&#233;hension des autres langues, y compris le fran&#231;ais.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Transfer Learning : Les mod&#232;les de langage b&#233;n&#233;ficient du transfer learning, o&#249; les connaissances acquises dans une langue peuvent &#234;tre transf&#233;r&#233;es &#224; une autre langue. Cela signifie que m&#234;me si le mod&#232;le est principalement entra&#238;n&#233; sur l'anglais, il peut encore performer de mani&#232;re acceptable en fran&#231;ais.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Similarit&#233;s Lexicales : Le fran&#231;ais et l'anglais partagent de nombreuses racines latines et germaniques, ce qui signifie qu'il y a un chevauchement significatif dans le vocabulaire. Cela permet au mod&#232;le de reconna&#238;tre et de comprendre de nombreux mots et expressions en fran&#231;ais.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Robustesse des Mod&#232;les : Les mod&#232;les de langage modernes sont con&#231;us pour &#234;tre robustes et g&#233;n&#233;ralisables. Ils peuvent souvent g&#233;rer des variations et des diff&#233;rences dans les donn&#233;es d'entr&#233;e, ce qui leur permet de fonctionner dans des contextes multilingues.&lt;/p&gt;
&lt;p&gt;En r&#233;sum&#233;, bien que BAAI/bge-small-en-v1.5 soit optimis&#233; pour l'anglais, sa capacit&#233; &#224; fonctionner en fran&#231;ais est due &#224; une combinaison de facteurs, y compris l'architecture du mod&#232;le, l'entra&#238;nement multilingue, le transfer learning, les similarit&#233;s lexicales et la robustesse g&#233;n&#233;rale des mod&#232;les de langage modernes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;R&#233;ponse de ChatGPT :&lt;/strong&gt;&lt;br class='autobr' /&gt;
Le mod&#232;le BAAI/bge-small-en-v1.5, bien que pr&#233;sent&#233; comme un mod&#232;le monolingue anglais, fonctionne &#233;tonnamment bien en fran&#231;ais (et parfois dans d'autres langues europ&#233;ennes). Voici pourquoi :&lt;/p&gt;
&lt;p&gt;1. Entra&#238;nement implicite sur des donn&#233;es multilingues&lt;/p&gt;
&lt;p&gt;M&#234;me si le mod&#232;le est officiellement d&#233;crit comme &#034;anglais&#034;, il est probable que :&lt;br class='autobr' /&gt;
* Des phrases en **fran&#231;ais ou dans d'autres langues** soient apparues dans les jeux de donn&#233;es utilis&#233;s pour l'entra&#238;nement, comme Common Crawl, Wikipedia, etc.&lt;br class='autobr' /&gt;
* Certains jeux de donn&#233;es populaires utilis&#233;s dans l'entra&#238;nement de mod&#232;les open-source contiennent du texte multilingue (souvent non filtr&#233;).&lt;/p&gt;
&lt;p&gt;2. Alignement s&#233;mantique interlingue&lt;br class='autobr' /&gt;
Les mod&#232;les de type &#034;embedding&#034; (comme ceux de la famille BGE ou Sentence-BERT) apprennent &#224; encoder le sens, pas seulement les mots.&lt;br class='autobr' /&gt;
* Beaucoup de concepts sont s&#233;mantiquement proches entre les langues indo-europ&#233;ennes (comme l'anglais et le fran&#231;ais).&lt;br class='autobr' /&gt;
* M&#234;me si le mod&#232;le n'a pas &#233;t&#233; formellement entra&#238;n&#233; sur des phrases fran&#231;aises, il peut projeter des phrases fran&#231;aises dans un espace vectoriel proche des phrases anglaises similaires.&lt;/p&gt;
&lt;p&gt; 3. &#201;valuation empirique : bonnes performances dans certaines t&#226;ches&lt;/p&gt;
&lt;p&gt;Des utilisateurs et chercheurs ont constat&#233; que :&lt;/p&gt;
&lt;p&gt;BAAI/bge-small-en-v1.5 donne des r&#233;sultats comp&#233;titifs en fran&#231;ais, surtout pour les t&#226;ches de recherche s&#233;mantique, similarit&#233;, ou classement de documents.&lt;br class='autobr' /&gt;
* Il peut surpasser certains mod&#232;les explicitement multilingues dans des cas concrets, probablement en raison de sa qualit&#233; d'entra&#238;nement et de son efficacit&#233; en encodage s&#233;mantique.&lt;/p&gt;
&lt;p&gt; Limites &#224; garder en t&#234;te&lt;/p&gt;
&lt;p&gt;* Le mod&#232;le peut &#233;chouer sur des phrases tr&#232;s idiomatiques, complexes, ou rares en fran&#231;ais.&lt;br class='autobr' /&gt;
* Les performances sont variables selon la t&#226;che (classification, recherche, etc.).&lt;/p&gt;
&lt;p&gt;Que faire si tu travailles en fran&#231;ais ?&lt;br class='autobr' /&gt; BGE-small-en-v1.5 peut tr&#232;s bien fonctionner, surtout si tu as besoin d'un mod&#232;le l&#233;ger et rapide.&lt;br class='autobr' /&gt;
Pour des performances multilingues plus robustes, tu peux tester :&lt;br class='autobr' /&gt; * `BAAI/bge-m3` (multilingue)&lt;br class='autobr' /&gt; * `sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2`&lt;br class='autobr' /&gt; * `intfloat/multilingual-e5-small` ou `mistral-embed`&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br class='autobr' /&gt;
Nous pouvons utiliser BGE-small-en-v1.5 en fran&#231;ais,&lt;br class='autobr' /&gt;
MAIS :&lt;br class='autobr' /&gt;
l'exp&#233;rience montre qu'il est pr&#233;f&#233;rable de formuler les instructions (system prompt, description des outils, plans, formats etc.) en anglais.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Confidentialit&#233; : Contr&#244;le de l'acc&#232;s aux applications</title>
		<link>https://ia.dnc.global/Nouvel-article-No-31.html</link>
		<guid isPermaLink="true">https://ia.dnc.global/Nouvel-article-No-31.html</guid>
		<dc:date>2025-04-07T09:36:14Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Bertrand Degoy</dc:creator>



		<description>

-
&lt;a href="https://ia.dnc.global/-Etudes-.html" rel="directory"&gt;Etudes&lt;/a&gt;


		</description>


 <content:encoded>&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;p&gt;&lt;strong&gt;Damien 28/03/2025&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Du fait des probl&#232;mes de confidentialit&#233; sur les donn&#233;es et ayant retrouv&#233; les fichiers de configuration du serveur, j'ai mis en place une s&#233;curit&#233; sur les acc&#232;s &#224; :&lt;/p&gt;
&lt;p&gt; chat.ia.whatiswhat.cloud qui permet l'acc&#232;s aux fen&#234;tres de chat&lt;br class='autobr' /&gt; ia.whatiswhat.cloud/data qui permet le t&#233;l&#233;chargement des fichiers&lt;/p&gt;
&lt;p&gt;Pour le second, j'ai r&#233;ussi &#224; ce que les acc&#232;s au sous-r&#233;pertoire thewiw-help soit OK, mais, pour le premier, il y a un blocage quasi complet qui le rend inutilisable sans utilisateur + mot de passe.&lt;/p&gt;
&lt;p&gt;En l'&#233;tat, je pr&#233;f&#232;re une telle configuration qu'avoir une passoire sur certains fichiers commerciaux ! Si vous souhaitez y acc&#233;der n&#233;anmoins, je peux vous cr&#233;er un identifiant.&lt;/p&gt;
&lt;p&gt;Bertrand : est-ce qu'on pourrait regarder cela en d&#233;tail la semaine prochaine ?&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
