import{s as Le,n as he,o as xe}from"../chunks/scheduler.37c15a92.js";import{S as be,i as Te,g as l,s as i,r as V,A as Me,h as r,f as n,c as o,j as fe,u as W,x as a,k as ve,y as _e,a as s,v as X,d as Y,t as Z,w as ee}from"../chunks/index.2bf4358c.js";import{H as ge}from"../chunks/Heading.8ada512a.js";import{E as Ce}from"../chunks/getInferenceSnippets.d4d07d1e.js";function $e(te){let u,H,$,z,p,P,m,ne='<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/bonus-unit1/thumbnail.jpg" alt="Bonus Unit 1 Thumbnail"/>',A,c,se="Bienvenue dans cette première <strong>Unité Bonus</strong>, où vous apprendrez à <strong>ajuster finement un Grand Modèle de Langage (LLM) pour l’appel de fonctions</strong> (<em>function calling</em>).",j,d,ie="En termes de LLMs, l’appel de fonctions devient rapidement une technique <em>incontournable</em>.",w,f,oe="L’idée est que, plutôt que de s’appuyer uniquement sur des approches basées sur des prompts comme nous l’avons fait dans l’Unité 1, l’appel de fonctions entraîne votre modèle à <strong>prendre des actions et interpréter des observations pendant la phase d’entraînement</strong>, rendant votre IA plus robuste.",U,v,le="<p><strong>Quand dois-je faire cette Unité Bonus ?</strong></p> <p>Cette section est <strong>optionnelle</strong> et plus avancée que l’Unité 1, donc n’hésitez pas à faire cette unité maintenant ou à la revisiter quand vos connaissances se seront améliorées grâce à ce cours.</p> <p>Mais ne vous inquiétez pas, cette Unité Bonus est conçue pour avoir toutes les informations dont vous avez besoin, donc nous vous guiderons à travers chaque concept central de l’ajustement fin d’un modèle pour l’appel de fonctions même si vous n’avez pas encore appris le fonctionnement interne de l’ajustement fin.</p>",O,g,re="La meilleure façon pour vous de pouvoir suivre cette Unité Bonus est de :",k,L,ae='<li><p>Savoir comment Ajuster finement un LLM avec <em>Transformers</em>, si ce n’est pas le cas <a href="https://huggingface.co/learn/nlp-course/chapter3/1?fw=pt" rel="nofollow">consultez ceci</a>.</p></li> <li><p>Savoir comment utiliser <code>SFTTrainer</code> pour ajuster finement notre modèle, pour en savoir plus à ce sujet <a href="https://huggingface.co/learn/nlp-course/en/chapter11/1" rel="nofollow">consultez cette documentation</a>.</p></li>',y,E,R,h,B,x,ue=`<li><p><strong>L’Appel de Fonctions</strong> (<em>Function Calling</em>)<br/>
Comment les LLMs modernes structurent leurs conversations de manière efficace leur permettant de déclencher des <strong>Outils</strong>.</p></li> <li><p><strong>LoRA</strong> (<em>Low-Rank Adaptation</em>)<br/>
Une méthode d’ajustement fin <strong>légère et efficace</strong> qui réduit les coûts computationnels et de stockage. LoRA rend l’entraînement de gros modèles <em>plus rapide, moins cher et plus facile</em> à déployer.</p></li> <li><p><strong>Le Cycle Réflexion → Action → Observation</strong> dans les modèles d’appel de fonctions<br/>
Une approche simple mais puissante pour structurer comment votre modèle décide quand (et comment) appeler des fonctions, suivre les étapes intermédiaires et interpréter les résultats des Outils ou APIs externes.</p></li> <li><p><strong>Nouveaux Tokens Spéciaux</strong><br/>
Nous introduirons des <strong>marqueurs spéciaux</strong> qui aident le modèle à distinguer entre :</p> <ul><li>Le raisonnement interne ”<em>chain-of-thought</em>”</li> <li>Les appels de fonctions sortants</li> <li>Les réponses provenant d’outils externes</li></ul></li>`,S,I,F,b,pe="À la fin de cette unité bonus, vous serez capable de :",G,T,me="<li><strong>Comprendre</strong> le fonctionnement interne des APIs quand il s’agit d’Outils.</li> <li><strong>Ajuster finement</strong> un modèle en utilisant la technique LoRA.</li> <li><strong>Implémenter</strong> et <strong>modifier</strong> le cycle Réflexion → Action → Observation pour créer des flux de travail d’appel de fonctions robustes et maintenables.</li> <li><strong>Concevoir et utiliser</strong> des tokens spéciaux pour séparer de manière transparente le raisonnement interne du modèle de ses actions externes.</li>",N,M,ce="Et vous <strong>aurez ajusté finement votre propre modèle pour faire de l’appel de fonctions.</strong> 🔥",Q,_,de="Plongeons dans <strong>l’appel de fonctions</strong> !",K,C,D,q,J;return p=new ge({props:{title:"Introduction",local:"introduction",headingTag:"h1"}}),h=new ge({props:{title:"Ce que vous apprendrez",local:"ce-que-vous-apprendrez",headingTag:"h2"}}),C=new Ce({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/fr/bonus-unit1/introduction.mdx"}}),{c(){u=l("meta"),H=i(),$=l("p"),z=i(),V(p.$$.fragment),P=i(),m=l("p"),m.innerHTML=ne,A=i(),c=l("p"),c.innerHTML=se,j=i(),d=l("p"),d.innerHTML=ie,w=i(),f=l("p"),f.innerHTML=oe,U=i(),v=l("blockquote"),v.innerHTML=le,O=i(),g=l("p"),g.textContent=re,k=i(),L=l("ol"),L.innerHTML=ae,y=i(),E=l("hr"),R=i(),V(h.$$.fragment),B=i(),x=l("ol"),x.innerHTML=ue,S=i(),I=l("hr"),F=i(),b=l("p"),b.textContent=pe,G=i(),T=l("ul"),T.innerHTML=me,N=i(),M=l("p"),M.innerHTML=ce,Q=i(),_=l("p"),_.innerHTML=de,K=i(),V(C.$$.fragment),D=i(),q=l("p"),this.h()},l(e){const t=Me("svelte-u9bgzb",document.head);u=r(t,"META",{name:!0,content:!0}),t.forEach(n),H=o(e),$=r(e,"P",{}),fe($).forEach(n),z=o(e),W(p.$$.fragment,e),P=o(e),m=r(e,"P",{"data-svelte-h":!0}),a(m)!=="svelte-1lr1l38"&&(m.innerHTML=ne),A=o(e),c=r(e,"P",{"data-svelte-h":!0}),a(c)!=="svelte-6z2p9p"&&(c.innerHTML=se),j=o(e),d=r(e,"P",{"data-svelte-h":!0}),a(d)!=="svelte-29vh5z"&&(d.innerHTML=ie),w=o(e),f=r(e,"P",{"data-svelte-h":!0}),a(f)!=="svelte-1qjpsbs"&&(f.innerHTML=oe),U=o(e),v=r(e,"BLOCKQUOTE",{"data-svelte-h":!0}),a(v)!=="svelte-1yiseqb"&&(v.innerHTML=le),O=o(e),g=r(e,"P",{"data-svelte-h":!0}),a(g)!=="svelte-145dvhq"&&(g.textContent=re),k=o(e),L=r(e,"OL",{"data-svelte-h":!0}),a(L)!=="svelte-gvovwd"&&(L.innerHTML=ae),y=o(e),E=r(e,"HR",{}),R=o(e),W(h.$$.fragment,e),B=o(e),x=r(e,"OL",{"data-svelte-h":!0}),a(x)!=="svelte-i2d8gk"&&(x.innerHTML=ue),S=o(e),I=r(e,"HR",{}),F=o(e),b=r(e,"P",{"data-svelte-h":!0}),a(b)!=="svelte-vota49"&&(b.textContent=pe),G=o(e),T=r(e,"UL",{"data-svelte-h":!0}),a(T)!=="svelte-1xnvrkg"&&(T.innerHTML=me),N=o(e),M=r(e,"P",{"data-svelte-h":!0}),a(M)!=="svelte-1ss36cs"&&(M.innerHTML=ce),Q=o(e),_=r(e,"P",{"data-svelte-h":!0}),a(_)!=="svelte-1exez8e"&&(_.innerHTML=de),K=o(e),W(C.$$.fragment,e),D=o(e),q=r(e,"P",{}),fe(q).forEach(n),this.h()},h(){ve(u,"name","hf:doc:metadata"),ve(u,"content",qe)},m(e,t){_e(document.head,u),s(e,H,t),s(e,$,t),s(e,z,t),X(p,e,t),s(e,P,t),s(e,m,t),s(e,A,t),s(e,c,t),s(e,j,t),s(e,d,t),s(e,w,t),s(e,f,t),s(e,U,t),s(e,v,t),s(e,O,t),s(e,g,t),s(e,k,t),s(e,L,t),s(e,y,t),s(e,E,t),s(e,R,t),X(h,e,t),s(e,B,t),s(e,x,t),s(e,S,t),s(e,I,t),s(e,F,t),s(e,b,t),s(e,G,t),s(e,T,t),s(e,N,t),s(e,M,t),s(e,Q,t),s(e,_,t),s(e,K,t),X(C,e,t),s(e,D,t),s(e,q,t),J=!0},p:he,i(e){J||(Y(p.$$.fragment,e),Y(h.$$.fragment,e),Y(C.$$.fragment,e),J=!0)},o(e){Z(p.$$.fragment,e),Z(h.$$.fragment,e),Z(C.$$.fragment,e),J=!1},d(e){e&&(n(H),n($),n(z),n(P),n(m),n(A),n(c),n(j),n(d),n(w),n(f),n(U),n(v),n(O),n(g),n(k),n(L),n(y),n(E),n(R),n(B),n(x),n(S),n(I),n(F),n(b),n(G),n(T),n(N),n(M),n(Q),n(_),n(K),n(D),n(q)),n(u),ee(p,e),ee(h,e),ee(C,e)}}}const qe='{"title":"Introduction","local":"introduction","sections":[{"title":"Ce que vous apprendrez","local":"ce-que-vous-apprendrez","sections":[],"depth":2}],"depth":1}';function He(te){return xe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class we extends be{constructor(u){super(),Te(this,u,He,$e,Le,{})}}export{we as component};
