Buckets:

HuggingFaceDocBuilder's picture
download
raw
23 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Actions : permettre à l’agent d’interagir avec son environnement&quot;,&quot;local&quot;:&quot;actions--permettre-à-lagent-dinteragir-avec-son-environnement&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Types d’actions&quot;,&quot;local&quot;:&quot;types-dactions&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;L’approche Stop and Parse&quot;,&quot;local&quot;:&quot;lapproche-stop-and-parse&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Agents à code&quot;,&quot;local&quot;:&quot;agents-à-code&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}">
<link href="/docs/agents-course/pr_693/fr/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/entry/start.2c17f120.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/scheduler.505acc25.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/singletons.c42fe6bc.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/index.001f95d5.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/paths.d9eccb35.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/entry/app.e6392e6e.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/preload-helper.ed034652.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/index.b1175496.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/nodes/0.99eb6829.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/nodes/21.32221728.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/Heading.60c0aaa1.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/MermaidChart.svelte_svelte_type_style_lang.33a206b7.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/fr/_app/immutable/chunks/CodeBlock.131f5891.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Actions : permettre à l’agent d’interagir avec son environnement&quot;,&quot;local&quot;:&quot;actions--permettre-à-lagent-dinteragir-avec-son-environnement&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Types d’actions&quot;,&quot;local&quot;:&quot;types-dactions&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;L’approche Stop and Parse&quot;,&quot;local&quot;:&quot;lapproche-stop-and-parse&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Agents à code&quot;,&quot;local&quot;:&quot;agents-à-code&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"><div class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 h-7 max-sm:h-7 px-2 max-sm:px-1.5 text-sm font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0 hover:text-gray-800 dark:hover:text-gray-200"><svg class="sm:size-3.5 size-3" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg></span> <span>Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-7 max-sm:h-7 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible sm:size-3.5 size-3 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg></button></div> </div> <h1 class="relative group"><a id="actions--permettre-à-lagent-dinteragir-avec-son-environnement" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#actions--permettre-à-lagent-dinteragir-avec-son-environnement"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Actions : permettre à l’agent d’interagir avec son environnement</span></h1> <blockquote class="tip" data-svelte-h="svelte-oo722p"><p>Dans cette section, nous explorons les étapes concrètes qu’un agent entreprend pour interagir avec son environnement.</p> <p>Nous aborderons la manière dont les actions sont représentées (en utilisant du JSON ou du code), l’importance de l’approche <i>stop</i> and <i>parse</i>, et nous présenterons différents types d’agents.</p></blockquote> <p data-svelte-h="svelte-1697wml">Les actions sont les étapes concrètes qu’un <strong>agent entreprend pour interagir avec son environnement</strong>.</p> <p data-svelte-h="svelte-4fz2z8">Que ce soit pour naviguer sur le web à la recherche d’informations ou pour contrôler un dispositif physique, chaque action est une opération délibérée exécutée par l’agent.</p> <p data-svelte-h="svelte-1404tx8">Par exemple, un agent assistant au service client pourrait récupérer des données client, proposer des articles de support ou transférer des problèmes à un représentant humain.</p> <h2 class="relative group"><a id="types-dactions" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#types-dactions"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Types d’actions</span></h2> <p data-svelte-h="svelte-1fso4d5">Il existe plusieurs types d’agents qui réalisent des actions de manières différentes :</p> <table data-svelte-h="svelte-2hr652"><thead><tr><th>Type d’Agent</th> <th>Description</th></tr></thead> <tbody><tr><td>Agent à JSON</td> <td>L’action à entreprendre est spécifiée au format JSON.</td></tr> <tr><td>Agent à code</td> <td>L’agent génère un bloc de code qui est interprété de manière externe.</td></tr> <tr><td>Agent à appel de fonction</td> <td>Il s’agit d’une sous-catégorie de l’agent JSON qui a été affiné pour générer un nouveau message pour chaque action.</td></tr></tbody></table> <p data-svelte-h="svelte-1o3pjlj">Les actions elles-mêmes peuvent remplir de nombreux objectifs :</p> <table data-svelte-h="svelte-1md8d1s"><thead><tr><th>Type d’Action</th> <th>Description</th></tr></thead> <tbody><tr><td>Collecte d’informations</td> <td>Effectuer des recherches sur le web, interroger des bases de données ou récupérer des documents.</td></tr> <tr><td>Utilisation d’outils</td> <td>Effectuer des appels API, réaliser des calculs et exécuter du code.</td></tr> <tr><td>Interaction avec l’environnement</td> <td>Manipuler des interfaces numériques ou contrôler des dispositifs physiques.</td></tr> <tr><td>Communication</td> <td>Interagir avec les utilisateurs via le chat ou collaborer avec d’autres agents.</td></tr></tbody></table> <p data-svelte-h="svelte-1gi0wjo">Le LLM ne gère que du texte et l’utilise pour décrire l’action qu’il souhaite entreprendre ainsi que les paramètres à fournir à l’outil.
Pour qu’un agent fonctionne correctement, le LLM doit savoir <strong>ARRÊTER de générer de nouveaux <em>tokens</em> lorsque l’action est terminée</strong>. Cela permet de transférer le contrôle du LLM à l’agent et de s’assurer que le résultat est analysable, que le format prévu soit JSON, du code ou des appels de fonctions.</p> <h2 class="relative group"><a id="lapproche-stop-and-parse" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#lapproche-stop-and-parse"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>L’approche Stop and Parse</span></h2> <p data-svelte-h="svelte-1j2776x">Une méthode clé pour implémenter des actions est l’<strong>approche <em>stop</em> and <em>parse</em></strong>. Cette méthode garantit que la sortie de l’agent est structurée et prévisible :</p> <ol data-svelte-h="svelte-gq832m"><li><p><strong>Génération dans un format structuré</strong> :</p> <p>L’agent produit l’action envisagée dans un format clair et prédéfini (JSON ou code).</p></li> <li><p><strong>Arrêt de la génération</strong> :</p> <p>Une fois que le texte définissant l’action a été émis, le <strong>LLM cesse de générer des <em>tokens</em> supplémentaires</strong>. Cela permet d’éviter les sorties supplémentaires ou erronées.</p></li> <li><p><strong>Analyse de la sortie</strong> :</p> <p>Un parseur externe lit l’action formatée, détermine quel outil appeler, et extrait les paramètres requis.</p></li></ol> <p data-svelte-h="svelte-1c5nt2s">Par exemple, un agent ayant besoin de vérifier la météo pourrait produire la sortie suivante :</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class="language-json "><!-- HTML_TAG_START -->Thought<span class="hljs-punctuation">:</span> Je dois vérifier le temps qu&#x27;il fait à New York.
Action <span class="hljs-punctuation">:</span>
<span class="hljs-punctuation">{</span>
<span class="hljs-attr">&quot;action&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;get_weather&quot;</span><span class="hljs-punctuation">,</span>
<span class="hljs-attr">&quot;action_input&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;location&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;New York&quot;</span><span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span><!-- HTML_TAG_END --></pre></div> <p data-svelte-h="svelte-18q8hc0">Le <em>framework</em> peut ensuite analyser facilement le nom de la fonction à appeler et les arguments à fournir.</p> <p data-svelte-h="svelte-1bbqe0p">Ce format clair et lisible par une machine minimise les erreurs et permet aux outils externes de traiter avec précision la commande de l’agent.</p> <blockquote data-svelte-h="svelte-gpl4dn"><p>Note : Les agents à appel de fonction fonctionnent de manière similaire en structurant chaque action de manière à ce qu’une fonction désignée soit invoquée avec les arguments corrects. Nous approfondirons ces types d’agents dans une prochaine unité.</p></blockquote> <h2 class="relative group"><a id="agents-à-code" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#agents-à-code"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Agents à code</span></h2> <p data-svelte-h="svelte-1becqkk">Une approche alternative consiste à utiliser des <em>agents [générateur de] code</em>.<br>
L’idée est : <strong>au lieu de produire un simple objet JSON</strong>, un agent code génère un <strong>bloc de code exécutable — typiquement dans un langage de haut niveau comme Python</strong>.</p> <img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/code-vs-json-actions.png" alt="Agents Code"> <p data-svelte-h="svelte-hsjn6l">Cette approche offre plusieurs avantages :</p> <ul data-svelte-h="svelte-g2neo8"><li><strong>Expressivité :</strong> Le code peut naturellement représenter une logique complexe, incluant des boucles, des conditionnels et des fonctions imbriquées, offrant ainsi une flexibilité supérieure au JSON.</li> <li><strong>Modularité et réutilisabilité :</strong> Le code généré peut inclure des fonctions et des modules réutilisables pour différentes actions ou tâches.</li> <li><strong>Débogage amélioré :</strong> Grâce à une syntaxe de programmation bien définie, les erreurs de code sont souvent plus faciles à détecter et corriger.</li> <li><strong>Intégration directe :</strong> Les agents à code peuvent s’intégrer directement avec des bibliothèques et des API externes, permettant ainsi des opérations plus complexes comme le traitement de données ou la prise de décision en temps réel.</li></ul> <p data-svelte-h="svelte-16y7q2r">Par exemple, un agent à code chargé de récupérer la météo pourrait générer l’extrait Python suivant :</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class="language-python "><!-- HTML_TAG_START --><span class="hljs-comment"># Exemple d&#x27;Agent Code : Récupérer des informations météorologiques</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">get_weather</span>(<span class="hljs-params">city</span>):
<span class="hljs-keyword">import</span> requests
api_url = <span class="hljs-string">f&quot;https://api.weather.com/v1/location/<span class="hljs-subst">{city}</span>?apiKey=YOUR_API_KEY&quot;</span>
response = requests.get(api_url)
<span class="hljs-keyword">if</span> response.status_code == <span class="hljs-number">200</span>:
data = response.json()
<span class="hljs-keyword">return</span> data.get(<span class="hljs-string">&quot;weather&quot;</span>, <span class="hljs-string">&quot;Aucune information météo disponible&quot;</span>)
<span class="hljs-keyword">else</span>:
<span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Erreur : Impossible de récupérer les données météo.&quot;</span>
<span class="hljs-comment"># Exécuter la fonction et préparer la réponse finale</span>
result = get_weather(<span class="hljs-string">&quot;New York&quot;</span>)
final_answer = <span class="hljs-string">f&quot;La météo actuelle à New York est : <span class="hljs-subst">{result}</span>&quot;</span>
<span class="hljs-built_in">print</span>(final_answer)<!-- HTML_TAG_END --></pre></div> <p data-svelte-h="svelte-1hqpb3n">Dans cet exemple, l’agent à code :</p> <ul data-svelte-h="svelte-168stk7"><li>Récupère des données météo <strong>via un appel API</strong>,</li> <li>Traite la réponse,</li> <li>Et utilise la fonction <code>print()</code> pour afficher la réponse finale.</li></ul> <p data-svelte-h="svelte-15wvbu7">Cette méthode <strong>suit également l’approche <em>stop and parse</em></strong> en délimitant clairement le bloc de code et en signalant quand l’exécution est terminée (ici, par l’affichage de <code>final_answer</code>).</p> <hr> <p data-svelte-h="svelte-2r0pbh">Nous avons vu que les actions font le lien entre le raisonnement interne de l’agent et ses interactions réelles en exécutant des tâches claires et structurées — que ce soit via JSON, du code ou des appels de fonctions.</p> <p data-svelte-h="svelte-tnlt1c">Cette exécution délibérée garantit que chaque action est précise et prête pour un traitement externe via l’approche <em>stop and parse</em>. Dans la section suivante, nous explorerons les Observations pour voir comment les agents capturent et intègrent les retours de leur environnement.</p> <p data-svelte-h="svelte-1x6jlyx">Après cela, nous serons <strong>finalement prêts à construire notre premier agent !</strong></p> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/agents-course/blob/main/units/fr/unit1/actions.mdx" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg> <span data-svelte-h="svelte-zjs2n5"><span class="underline">Update</span> on GitHub</span></a> <p></p>
<script>
{
__sveltekit_1jehap = {
assets: "/docs/agents-course/pr_693/fr",
base: "/docs/agents-course/pr_693/fr",
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null];
Promise.all([
import("/docs/agents-course/pr_693/fr/_app/immutable/entry/start.2c17f120.js"),
import("/docs/agents-course/pr_693/fr/_app/immutable/entry/app.e6392e6e.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 21],
data,
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
23 kB
·
Xet hash:
6ceebfa6cc641e2f9774f4c30f773cf4a263d82b0e5d83f22790bbc2c7b7dbc8

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.