import{S as ga,i as ya,s as ba,e as r,k as p,w as G,t as o,M as xa,c as n,d as s,m as c,a as l,x as I,h as a,b as m,N as yo,G as t,g as u,y as D,L as Ea,q as N,o as H,B as T,v as wa}from"../../chunks/vendor-hf-doc-builder.js";import{I as ha}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as ge}from"../../chunks/CodeBlock-hf-doc-builder.js";import{C as _a}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";function qa(bo){let z,Ze,P,O,ye,R,Ht,be,Tt,et,B,tt,E,Ot,xe,At,St,Ee,Vt,Jt,st,te,we,Lt,ot,b,Ft,_e,Rt,Bt,qe,Qt,Ut,ke,Wt,Kt,at,w,Xt,$e,Yt,Zt,je,es,ts,rt,Q,nt,se,ss,lt,_,v,os,ze,as,rs,Pe,ns,ls,Ce,is,us,Me,ps,cs,ms,d,ds,Ge,fs,vs,Ie,hs,gs,De,ys,bs,Ne,xs,Es,He,ws,_s,Te,qs,ks,$s,C,js,Oe,zs,Ps,Ae,Cs,Ms,it,q,Gs,Se,Is,Ds,Ve,U,Ns,Hs,ut,h,xo,pt,oe,Ts,ct,k,Os,Je,As,Ss,Le,Vs,Js,mt,ae,Ls,dt,W,ft,g,Eo,vt,re,Fs,ht,$,Rs,Fe,Bs,Qs,Re,Us,Ws,gt,M,A,Be,K,Ks,Qe,Xs,yt,S,Ys,Ue,Zs,eo,bt,x,to,We,so,oo,Ke,ao,ro,ne,no,lo,xt,le,io,Et,X,wt,ie,uo,_t,Y,qt,Z,kt,V,po,Xe,co,mo,$t,ee,jt,ue,fo,zt,y,wo,Pt,J,vo,Ye,ho,go,Ct;return R=new ha({}),B=new _a({props:{chapter:9,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"English",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/en/chapter9/section2.ipynb"},{label:"Fran\xE7ais",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fr/chapter9/section2.ipynb"},{label:"English",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/en/chapter9/section2.ipynb"},{label:"Fran\xE7ais",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fr/chapter9/section2.ipynb"}]}}),Q=new ge({props:{code:`import gradio as gr


def greet(name):
    return "Hello " + name


demo = gr.Interface(fn=greet, inputs="text", outputs="text")

demo.launch()`,highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr


<span class="hljs-keyword">def</span> <span class="hljs-title function_">greet</span>(<span class="hljs-params">name</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Hello &quot;</span> + name


demo = gr.Interface(fn=greet, inputs=<span class="hljs-string">&quot;text&quot;</span>, outputs=<span class="hljs-string">&quot;text&quot;</span>)

demo.launch()`}}),W=new ge({props:{code:`import gradio as gr


def greet(name):
    return "Hello " + name


# Nous instancions la classe Textbox
textbox = gr.Textbox(label="Type your name here:", placeholder="John Doe", lines=2)

gr.Interface(fn=greet, inputs=textbox, outputs="text").launch()`,highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr


<span class="hljs-keyword">def</span> <span class="hljs-title function_">greet</span>(<span class="hljs-params">name</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Hello &quot;</span> + name


<span class="hljs-comment"># Nous instancions la classe Textbox</span>
textbox = gr.Textbox(label=<span class="hljs-string">&quot;Type your name here:&quot;</span>, placeholder=<span class="hljs-string">&quot;John Doe&quot;</span>, lines=<span class="hljs-number">2</span>)

gr.Interface(fn=greet, inputs=textbox, outputs=<span class="hljs-string">&quot;text&quot;</span>).launch()`}}),K=new ha({}),X=new ge({props:{code:`from transformers import pipeline

model = pipeline("text-generation")


def predict(prompt):
    completion = model(prompt)[0]["generated_text"]
    return completion`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

model = pipeline(<span class="hljs-string">&quot;text-generation&quot;</span>)


<span class="hljs-keyword">def</span> <span class="hljs-title function_">predict</span>(<span class="hljs-params">prompt</span>):
    completion = model(prompt)[<span class="hljs-number">0</span>][<span class="hljs-string">&quot;generated_text&quot;</span>]
    <span class="hljs-keyword">return</span> completion`}}),Y=new ge({props:{code:'predict("My favorite programming language is") # Mon langage de programmation pr\xE9f\xE9r\xE9 est',highlighted:'<span class="hljs-keyword">predict</span>(<span class="hljs-string">&quot;My favorite programming language is&quot;</span>) # Mon langage <span class="hljs-keyword">de</span> programmation <span class="hljs-keyword">pr</span>\xE9f\xE9r\xE9 <span class="hljs-keyword">est</span>'}}),Z=new ge({props:{code:`>> My favorite programming language is Haskell. I really enjoyed the Haskell language, but it doesn't have all the features that can be applied to any other language. For example, all it does is compile to a byte array.
#  Mon langage de programmation pr\xE9f\xE9r\xE9 est Haskell. J'ai vraiment appr\xE9ci\xE9 le langage Haskell, mais il n'a pas toutes les caract\xE9ristiques que l'on peut appliquer \xE0 n'importe quel autre langage. Par exemple, il ne fait que compiler un tableau d'octets.`,highlighted:`&gt;&gt; My favorite programming language <span class="hljs-keyword">is</span> Haskell. I really enjoyed <span class="hljs-keyword">the</span> Haskell language, <span class="hljs-keyword">but</span> <span class="hljs-keyword">it</span> doesn&#x27;t have all <span class="hljs-keyword">the</span> features <span class="hljs-keyword">that</span> can be applied <span class="hljs-keyword">to</span> any other language. For example, all <span class="hljs-keyword">it</span> <span class="hljs-keyword">does</span> <span class="hljs-keyword">is</span> compile <span class="hljs-keyword">to</span> a byte array.
<span class="hljs-comment">#  Mon langage de programmation pr\xE9f\xE9r\xE9 est Haskell. J&#x27;ai vraiment appr\xE9ci\xE9 le langage Haskell, mais il n&#x27;a pas toutes les caract\xE9ristiques que l&#x27;on peut appliquer \xE0 n&#x27;importe quel autre langage. Par exemple, il ne fait que compiler un tableau d&#x27;octets.</span>`}}),ee=new ge({props:{code:`import gradio as gr

gr.Interface(fn=predict, inputs="text", outputs="text").launch()`,highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr

gr.Interface(fn=predict, inputs=<span class="hljs-string">&quot;text&quot;</span>, outputs=<span class="hljs-string">&quot;text&quot;</span>).launch()`}}),{c(){z=r("meta"),Ze=p(),P=r("h1"),O=r("a"),ye=r("span"),G(R.$$.fragment),Ht=p(),be=r("span"),Tt=o("Construire votre premi\xE8re d\xE9mo"),et=p(),G(B.$$.fragment),tt=p(),E=r("p"),Ot=o("Commen\xE7ons par installer "),xe=r("em"),At=o("Gradio"),St=o(" ! Comme il s\u2019agit d\u2019un "),Ee=r("em"),Vt=o("package"),Jt=o(" Python, il suffit de l\u2019ex\xE9cuter :"),st=p(),te=r("p"),we=r("code"),Lt=o("$ pip install gradio"),ot=p(),b=r("p"),Ft=o("Vous pouvez ex\xE9cuter "),_e=r("em"),Rt=o("Gradio"),Bt=o(" n\u2019importe o\xF9, que ce soit dans votre IDE Python pr\xE9f\xE9r\xE9, dans des "),qe=r("em"),Qt=o("notebooks"),Ut=o(` ou m\xEAme dans Google Colab \u{1F92F} !
Alors installez `),ke=r("em"),Wt=o("Gradio"),Kt=o(" partout o\xF9 vous ex\xE9cutez Python !"),at=p(),w=r("p"),Xt=o("Commen\xE7ons par un exemple simple de type \xAB "),$e=r("em"),Yt=o("Hello World"),Zt=o(" \xBB pour nous familiariser avec la syntaxe de "),je=r("em"),es=o("Gradio"),ts=o("  :"),rt=p(),G(Q.$$.fragment),nt=p(),se=r("p"),ss=o("Parcourons le code ci-dessus :"),lt=p(),_=r("ul"),v=r("li"),os=o("D\u2019abord, nous d\xE9finissons une fonction appel\xE9e "),ze=r("code"),as=o("greet()"),rs=o(". Dans ce cas, c\u2019est une simple fonction qui ajoute \xAB "),Pe=r("em"),ns=o("Hello"),ls=o(" \xBB devant votre nom, mais cela peut \xEAtre "),Ce=r("em"),is=o("n\u2019importe quelle"),us=o(" fonction Python en g\xE9n\xE9ral. Par exemple, dans les applications d\u2019apprentissage automatique, cette fonction pourrait "),Me=r("em"),ps=o("appeler un mod\xE8le pour faire une pr\xE9diction"),cs=o(" sur une entr\xE9e et retourner la sortie."),ms=p(),d=r("li"),ds=o("Ensuite, nous cr\xE9ons une "),Ge=r("code"),fs=o("Interface"),vs=p(),Ie=r("em"),hs=o("Gradio"),gs=o(" avec trois arguments, "),De=r("code"),ys=o("fn"),bs=o(", "),Ne=r("code"),xs=o("inputs"),Es=o(", et "),He=r("code"),ws=o("outputs"),_s=o(". Ces arguments d\xE9finissent la fonction de pr\xE9diction, ainsi que le "),Te=r("em"),qs=o("type"),ks=o(" de composants d\u2019entr\xE9e et de sortie que nous souhaitons. Dans notre cas, les deux composants sont de simples bo\xEEtes de texte."),$s=p(),C=r("li"),js=o("Nous appelons ensuite la m\xE9thode "),Oe=r("code"),zs=o("launch()"),Ps=o(" sur l\u2019"),Ae=r("code"),Cs=o("Interface"),Ms=o(" que nous avons cr\xE9\xE9e."),it=p(),q=r("p"),Gs=o("Si vous ex\xE9cutez ce code, l\u2019interface ci-dessous appara\xEEtra automatiquement dans un "),Se=r("em"),Is=o("notebook"),Ds=o(" Jupyter/Colab ou dans un navigateur sur "),Ve=r("strong"),U=r("a"),Ns=o("http://localhost:7860"),Hs=o(" si vous l\u2019ex\xE9cutez \xE0 partir d\u2019un script."),ut=p(),h=r("iframe"),pt=p(),oe=r("p"),Ts=o("Essayez d\u2019utiliser cette interface maintenant avec votre propre nom ou une autre entr\xE9e !"),ct=p(),k=r("p"),Os=o("Vous remarquerez que dedans, "),Je=r("em"),As=o("Gradio"),Ss=o(" a automatiquement d\xE9duit le nom du param\xE8tre d\u2019entr\xE9e ("),Le=r("code"),Vs=o("name"),Js=o(`) et l\u2019a appliqu\xE9 comme \xE9tiquette au dessus de la zone de texte. Que faire si vous souhaitez changer cela ?
Ou si vous souhaitez personnaliser la zone de texte d\u2019une autre mani\xE8re ? Dans ce cas, vous pouvez instancier un objet de classe repr\xE9sentant le composant de saisie.`),mt=p(),ae=r("p"),Ls=o("Jetez un coup d\u2019\u0153il \xE0 l\u2019exemple ci-dessous :"),dt=p(),G(W.$$.fragment),ft=p(),g=r("iframe"),vt=p(),re=r("p"),Fs=o(`Ici, nous avons cr\xE9\xE9 une zone de texte d\u2019entr\xE9e avec une \xE9tiquette, un espace r\xE9serv\xE9 et un nombre de lignes d\xE9fini.
Vous pourriez faire la m\xEAme chose pour la zone de texte de sortie, mais nous allons laisser cela pour le moment.`),ht=p(),$=r("p"),Rs=o("Nous avons vu qu\u2019avec seulement quelques lignes de code, "),Fe=r("em"),Bs=o("Gradio"),Qs=o(` vous permet de cr\xE9er une interface simple autour de n\u2019importe quelle fonction
avec n\u2019importe quel type d\u2019entr\xE9es ou de sorties. Dans cette section, nous avons commenc\xE9 par une simple bo\xEEte de texte mais dans les sections suivantes, nous couvrirons d\u2019autres types d\u2019entr\xE9es et de sorties. Voyons maintenant comment inclure un peu de NLP dans une application `),Re=r("em"),Us=o("Gradio"),Ws=o("."),gt=p(),M=r("h2"),A=r("a"),Be=r("span"),G(K.$$.fragment),Ks=p(),Qe=r("span"),Xs=o("\u{1F916} Inclure les pr\xE9dictions du mod\xE8le"),yt=p(),S=r("p"),Ys=o("Construisons maintenant une interface simple qui permet de faire une d\xE9mo d\u2019un mod\xE8le de "),Ue=r("strong"),Zs=o("g\xE9n\xE9ration de texte"),eo=o(" comme le GPT-2."),bt=p(),x=r("p"),to=o("Nous allons charger notre mod\xE8le en utilisant la fonction "),We=r("code"),so=o("pipeline()"),oo=o(" de \u{1F917} "),Ke=r("em"),ao=o("Transformers"),ro=o(`.
Si vous avez besoin d\u2019un rafra\xEEchissement rapide, vous pouvez revenir \xE0 `),ne=r("a"),no=o("cette section du chapitre 1"),lo=o("."),xt=p(),le=r("p"),io=o("Tout d\u2019abord, nous d\xE9finissons une fonction de pr\xE9diction qui prend une invite de texte et renvoie la compl\xE9tion du texte :"),Et=p(),G(X.$$.fragment),wt=p(),ie=r("p"),uo=o("Cette fonction compl\xE8te le texte que vous fournissez, et vous pouvez l\u2019ex\xE9cuter avec les votres pour voir comment elle fonctionne. Voici un exemple (vous obtiendrez peut-\xEAtre un r\xE9sultat diff\xE9rent) :"),_t=p(),G(Y.$$.fragment),qt=p(),G(Z.$$.fragment),kt=p(),V=r("p"),po=o("Maintenant que nous avons une fonction pour g\xE9n\xE9rer des pr\xE9dictions, nous pouvons cr\xE9er et lancer une "),Xe=r("code"),co=o("Interface"),mo=o(" de la m\xEAme mani\xE8re que nous l\u2019avons fait pr\xE9c\xE9demment :"),$t=p(),G(ee.$$.fragment),jt=p(),ue=r("p"),fo=o("C\u2019est fait ! Vous pouvez maintenant utiliser cette interface pour g\xE9n\xE9rer du texte en utilisant le mod\xE8le GPT-2 comme indiqu\xE9 ci-dessous \u{1F92F}."),zt=p(),y=r("iframe"),Pt=p(),J=r("p"),vo=o("Continuez votre lecture du cours pour voir comment construire d\u2019autres types de d\xE9mos avec "),Ye=r("em"),ho=o("Gradio"),go=o(" !"),this.h()},l(e){const i=xa('[data-svelte="svelte-1phssyn"]',document.head);z=n(i,"META",{name:!0,content:!0}),i.forEach(s),Ze=c(e),P=n(e,"H1",{class:!0});var Mt=l(P);O=n(Mt,"A",{id:!0,class:!0,href:!0});var _o=l(O);ye=n(_o,"SPAN",{});var qo=l(ye);I(R.$$.fragment,qo),qo.forEach(s),_o.forEach(s),Ht=c(Mt),be=n(Mt,"SPAN",{});var ko=l(be);Tt=a(ko,"Construire votre premi\xE8re d\xE9mo"),ko.forEach(s),Mt.forEach(s),et=c(e),I(B.$$.fragment,e),tt=c(e),E=n(e,"P",{});var pe=l(E);Ot=a(pe,"Commen\xE7ons par installer "),xe=n(pe,"EM",{});var $o=l(xe);At=a($o,"Gradio"),$o.forEach(s),St=a(pe," ! Comme il s\u2019agit d\u2019un "),Ee=n(pe,"EM",{});var jo=l(Ee);Vt=a(jo,"package"),jo.forEach(s),Jt=a(pe," Python, il suffit de l\u2019ex\xE9cuter :"),pe.forEach(s),st=c(e),te=n(e,"P",{});var zo=l(te);we=n(zo,"CODE",{});var Po=l(we);Lt=a(Po,"$ pip install gradio"),Po.forEach(s),zo.forEach(s),ot=c(e),b=n(e,"P",{});var L=l(b);Ft=a(L,"Vous pouvez ex\xE9cuter "),_e=n(L,"EM",{});var Co=l(_e);Rt=a(Co,"Gradio"),Co.forEach(s),Bt=a(L," n\u2019importe o\xF9, que ce soit dans votre IDE Python pr\xE9f\xE9r\xE9, dans des "),qe=n(L,"EM",{});var Mo=l(qe);Qt=a(Mo,"notebooks"),Mo.forEach(s),Ut=a(L,` ou m\xEAme dans Google Colab \u{1F92F} !
Alors installez `),ke=n(L,"EM",{});var Go=l(ke);Wt=a(Go,"Gradio"),Go.forEach(s),Kt=a(L," partout o\xF9 vous ex\xE9cutez Python !"),L.forEach(s),at=c(e),w=n(e,"P",{});var ce=l(w);Xt=a(ce,"Commen\xE7ons par un exemple simple de type \xAB "),$e=n(ce,"EM",{});var Io=l($e);Yt=a(Io,"Hello World"),Io.forEach(s),Zt=a(ce," \xBB pour nous familiariser avec la syntaxe de "),je=n(ce,"EM",{});var Do=l(je);es=a(Do,"Gradio"),Do.forEach(s),ts=a(ce,"  :"),ce.forEach(s),rt=c(e),I(Q.$$.fragment,e),nt=c(e),se=n(e,"P",{});var No=l(se);ss=a(No,"Parcourons le code ci-dessus :"),No.forEach(s),lt=c(e),_=n(e,"UL",{});var me=l(_);v=n(me,"LI",{});var j=l(v);os=a(j,"D\u2019abord, nous d\xE9finissons une fonction appel\xE9e "),ze=n(j,"CODE",{});var Ho=l(ze);as=a(Ho,"greet()"),Ho.forEach(s),rs=a(j,". Dans ce cas, c\u2019est une simple fonction qui ajoute \xAB "),Pe=n(j,"EM",{});var To=l(Pe);ns=a(To,"Hello"),To.forEach(s),ls=a(j," \xBB devant votre nom, mais cela peut \xEAtre "),Ce=n(j,"EM",{});var Oo=l(Ce);is=a(Oo,"n\u2019importe quelle"),Oo.forEach(s),us=a(j," fonction Python en g\xE9n\xE9ral. Par exemple, dans les applications d\u2019apprentissage automatique, cette fonction pourrait "),Me=n(j,"EM",{});var Ao=l(Me);ps=a(Ao,"appeler un mod\xE8le pour faire une pr\xE9diction"),Ao.forEach(s),cs=a(j," sur une entr\xE9e et retourner la sortie."),j.forEach(s),ms=c(me),d=n(me,"LI",{});var f=l(d);ds=a(f,"Ensuite, nous cr\xE9ons une "),Ge=n(f,"CODE",{});var So=l(Ge);fs=a(So,"Interface"),So.forEach(s),vs=c(f),Ie=n(f,"EM",{});var Vo=l(Ie);hs=a(Vo,"Gradio"),Vo.forEach(s),gs=a(f," avec trois arguments, "),De=n(f,"CODE",{});var Jo=l(De);ys=a(Jo,"fn"),Jo.forEach(s),bs=a(f,", "),Ne=n(f,"CODE",{});var Lo=l(Ne);xs=a(Lo,"inputs"),Lo.forEach(s),Es=a(f,", et "),He=n(f,"CODE",{});var Fo=l(He);ws=a(Fo,"outputs"),Fo.forEach(s),_s=a(f,". Ces arguments d\xE9finissent la fonction de pr\xE9diction, ainsi que le "),Te=n(f,"EM",{});var Ro=l(Te);qs=a(Ro,"type"),Ro.forEach(s),ks=a(f," de composants d\u2019entr\xE9e et de sortie que nous souhaitons. Dans notre cas, les deux composants sont de simples bo\xEEtes de texte."),f.forEach(s),$s=c(me),C=n(me,"LI",{});var de=l(C);js=a(de,"Nous appelons ensuite la m\xE9thode "),Oe=n(de,"CODE",{});var Bo=l(Oe);zs=a(Bo,"launch()"),Bo.forEach(s),Ps=a(de," sur l\u2019"),Ae=n(de,"CODE",{});var Qo=l(Ae);Cs=a(Qo,"Interface"),Qo.forEach(s),Ms=a(de," que nous avons cr\xE9\xE9e."),de.forEach(s),me.forEach(s),it=c(e),q=n(e,"P",{});var fe=l(q);Gs=a(fe,"Si vous ex\xE9cutez ce code, l\u2019interface ci-dessous appara\xEEtra automatiquement dans un "),Se=n(fe,"EM",{});var Uo=l(Se);Is=a(Uo,"notebook"),Uo.forEach(s),Ds=a(fe," Jupyter/Colab ou dans un navigateur sur "),Ve=n(fe,"STRONG",{});var Wo=l(Ve);U=n(Wo,"A",{href:!0,rel:!0});var Ko=l(U);Ns=a(Ko,"http://localhost:7860"),Ko.forEach(s),Wo.forEach(s),Hs=a(fe," si vous l\u2019ex\xE9cutez \xE0 partir d\u2019un script."),fe.forEach(s),ut=c(e),h=n(e,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),l(h).forEach(s),pt=c(e),oe=n(e,"P",{});var Xo=l(oe);Ts=a(Xo,"Essayez d\u2019utiliser cette interface maintenant avec votre propre nom ou une autre entr\xE9e !"),Xo.forEach(s),ct=c(e),k=n(e,"P",{});var ve=l(k);Os=a(ve,"Vous remarquerez que dedans, "),Je=n(ve,"EM",{});var Yo=l(Je);As=a(Yo,"Gradio"),Yo.forEach(s),Ss=a(ve," a automatiquement d\xE9duit le nom du param\xE8tre d\u2019entr\xE9e ("),Le=n(ve,"CODE",{});var Zo=l(Le);Vs=a(Zo,"name"),Zo.forEach(s),Js=a(ve,`) et l\u2019a appliqu\xE9 comme \xE9tiquette au dessus de la zone de texte. Que faire si vous souhaitez changer cela ?
Ou si vous souhaitez personnaliser la zone de texte d\u2019une autre mani\xE8re ? Dans ce cas, vous pouvez instancier un objet de classe repr\xE9sentant le composant de saisie.`),ve.forEach(s),mt=c(e),ae=n(e,"P",{});var ea=l(ae);Ls=a(ea,"Jetez un coup d\u2019\u0153il \xE0 l\u2019exemple ci-dessous :"),ea.forEach(s),dt=c(e),I(W.$$.fragment,e),ft=c(e),g=n(e,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),l(g).forEach(s),vt=c(e),re=n(e,"P",{});var ta=l(re);Fs=a(ta,`Ici, nous avons cr\xE9\xE9 une zone de texte d\u2019entr\xE9e avec une \xE9tiquette, un espace r\xE9serv\xE9 et un nombre de lignes d\xE9fini.
Vous pourriez faire la m\xEAme chose pour la zone de texte de sortie, mais nous allons laisser cela pour le moment.`),ta.forEach(s),ht=c(e),$=n(e,"P",{});var he=l($);Rs=a(he,"Nous avons vu qu\u2019avec seulement quelques lignes de code, "),Fe=n(he,"EM",{});var sa=l(Fe);Bs=a(sa,"Gradio"),sa.forEach(s),Qs=a(he,` vous permet de cr\xE9er une interface simple autour de n\u2019importe quelle fonction
avec n\u2019importe quel type d\u2019entr\xE9es ou de sorties. Dans cette section, nous avons commenc\xE9 par une simple bo\xEEte de texte mais dans les sections suivantes, nous couvrirons d\u2019autres types d\u2019entr\xE9es et de sorties. Voyons maintenant comment inclure un peu de NLP dans une application `),Re=n(he,"EM",{});var oa=l(Re);Us=a(oa,"Gradio"),oa.forEach(s),Ws=a(he,"."),he.forEach(s),gt=c(e),M=n(e,"H2",{class:!0});var Gt=l(M);A=n(Gt,"A",{id:!0,class:!0,href:!0});var aa=l(A);Be=n(aa,"SPAN",{});var ra=l(Be);I(K.$$.fragment,ra),ra.forEach(s),aa.forEach(s),Ks=c(Gt),Qe=n(Gt,"SPAN",{});var na=l(Qe);Xs=a(na,"\u{1F916} Inclure les pr\xE9dictions du mod\xE8le"),na.forEach(s),Gt.forEach(s),yt=c(e),S=n(e,"P",{});var It=l(S);Ys=a(It,"Construisons maintenant une interface simple qui permet de faire une d\xE9mo d\u2019un mod\xE8le de "),Ue=n(It,"STRONG",{});var la=l(Ue);Zs=a(la,"g\xE9n\xE9ration de texte"),la.forEach(s),eo=a(It," comme le GPT-2."),It.forEach(s),bt=c(e),x=n(e,"P",{});var F=l(x);to=a(F,"Nous allons charger notre mod\xE8le en utilisant la fonction "),We=n(F,"CODE",{});var ia=l(We);so=a(ia,"pipeline()"),ia.forEach(s),oo=a(F," de \u{1F917} "),Ke=n(F,"EM",{});var ua=l(Ke);ao=a(ua,"Transformers"),ua.forEach(s),ro=a(F,`.
Si vous avez besoin d\u2019un rafra\xEEchissement rapide, vous pouvez revenir \xE0 `),ne=n(F,"A",{href:!0});var pa=l(ne);no=a(pa,"cette section du chapitre 1"),pa.forEach(s),lo=a(F,"."),F.forEach(s),xt=c(e),le=n(e,"P",{});var ca=l(le);io=a(ca,"Tout d\u2019abord, nous d\xE9finissons une fonction de pr\xE9diction qui prend une invite de texte et renvoie la compl\xE9tion du texte :"),ca.forEach(s),Et=c(e),I(X.$$.fragment,e),wt=c(e),ie=n(e,"P",{});var ma=l(ie);uo=a(ma,"Cette fonction compl\xE8te le texte que vous fournissez, et vous pouvez l\u2019ex\xE9cuter avec les votres pour voir comment elle fonctionne. Voici un exemple (vous obtiendrez peut-\xEAtre un r\xE9sultat diff\xE9rent) :"),ma.forEach(s),_t=c(e),I(Y.$$.fragment,e),qt=c(e),I(Z.$$.fragment,e),kt=c(e),V=n(e,"P",{});var Dt=l(V);po=a(Dt,"Maintenant que nous avons une fonction pour g\xE9n\xE9rer des pr\xE9dictions, nous pouvons cr\xE9er et lancer une "),Xe=n(Dt,"CODE",{});var da=l(Xe);co=a(da,"Interface"),da.forEach(s),mo=a(Dt," de la m\xEAme mani\xE8re que nous l\u2019avons fait pr\xE9c\xE9demment :"),Dt.forEach(s),$t=c(e),I(ee.$$.fragment,e),jt=c(e),ue=n(e,"P",{});var fa=l(ue);fo=a(fa,"C\u2019est fait ! Vous pouvez maintenant utiliser cette interface pour g\xE9n\xE9rer du texte en utilisant le mod\xE8le GPT-2 comme indiqu\xE9 ci-dessous \u{1F92F}."),fa.forEach(s),zt=c(e),y=n(e,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),l(y).forEach(s),Pt=c(e),J=n(e,"P",{});var Nt=l(J);vo=a(Nt,"Continuez votre lecture du cours pour voir comment construire d\u2019autres types de d\xE9mos avec "),Ye=n(Nt,"EM",{});var va=l(Ye);ho=a(va,"Gradio"),va.forEach(s),go=a(Nt," !"),Nt.forEach(s),this.h()},h(){m(z,"name","hf:doc:metadata"),m(z,"content",JSON.stringify(ka)),m(O,"id","construire-votre-premire-dmo"),m(O,"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"),m(O,"href","#construire-votre-premire-dmo"),m(P,"class","relative group"),m(U,"href","http://localhost:7860/"),m(U,"rel","nofollow"),yo(h.src,xo="https://course-demos-hello-world.hf.space")||m(h,"src",xo),m(h,"frameborder","0"),m(h,"height","250"),m(h,"title","Gradio app"),m(h,"class","container p-0 flex-grow space-iframe"),m(h,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),m(h,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"),yo(g.src,Eo="https://course-demos-hello-world-custom.hf.space")||m(g,"src",Eo),m(g,"frameborder","0"),m(g,"height","300"),m(g,"title","Gradio app"),m(g,"class","container p-0 flex-grow space-iframe"),m(g,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),m(g,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"),m(A,"id","inclure-les-prdictions-du-modle"),m(A,"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"),m(A,"href","#inclure-les-prdictions-du-modle"),m(M,"class","relative group"),m(ne,"href","/course/fr/chapter1/3#text-generation"),yo(y.src,wo="https://course-demos-gpt-2.hf.space")||m(y,"src",wo),m(y,"frameborder","0"),m(y,"height","250"),m(y,"title","Gradio app"),m(y,"class","container p-0 flex-grow space-iframe"),m(y,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),m(y,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads")},m(e,i){t(document.head,z),u(e,Ze,i),u(e,P,i),t(P,O),t(O,ye),D(R,ye,null),t(P,Ht),t(P,be),t(be,Tt),u(e,et,i),D(B,e,i),u(e,tt,i),u(e,E,i),t(E,Ot),t(E,xe),t(xe,At),t(E,St),t(E,Ee),t(Ee,Vt),t(E,Jt),u(e,st,i),u(e,te,i),t(te,we),t(we,Lt),u(e,ot,i),u(e,b,i),t(b,Ft),t(b,_e),t(_e,Rt),t(b,Bt),t(b,qe),t(qe,Qt),t(b,Ut),t(b,ke),t(ke,Wt),t(b,Kt),u(e,at,i),u(e,w,i),t(w,Xt),t(w,$e),t($e,Yt),t(w,Zt),t(w,je),t(je,es),t(w,ts),u(e,rt,i),D(Q,e,i),u(e,nt,i),u(e,se,i),t(se,ss),u(e,lt,i),u(e,_,i),t(_,v),t(v,os),t(v,ze),t(ze,as),t(v,rs),t(v,Pe),t(Pe,ns),t(v,ls),t(v,Ce),t(Ce,is),t(v,us),t(v,Me),t(Me,ps),t(v,cs),t(_,ms),t(_,d),t(d,ds),t(d,Ge),t(Ge,fs),t(d,vs),t(d,Ie),t(Ie,hs),t(d,gs),t(d,De),t(De,ys),t(d,bs),t(d,Ne),t(Ne,xs),t(d,Es),t(d,He),t(He,ws),t(d,_s),t(d,Te),t(Te,qs),t(d,ks),t(_,$s),t(_,C),t(C,js),t(C,Oe),t(Oe,zs),t(C,Ps),t(C,Ae),t(Ae,Cs),t(C,Ms),u(e,it,i),u(e,q,i),t(q,Gs),t(q,Se),t(Se,Is),t(q,Ds),t(q,Ve),t(Ve,U),t(U,Ns),t(q,Hs),u(e,ut,i),u(e,h,i),u(e,pt,i),u(e,oe,i),t(oe,Ts),u(e,ct,i),u(e,k,i),t(k,Os),t(k,Je),t(Je,As),t(k,Ss),t(k,Le),t(Le,Vs),t(k,Js),u(e,mt,i),u(e,ae,i),t(ae,Ls),u(e,dt,i),D(W,e,i),u(e,ft,i),u(e,g,i),u(e,vt,i),u(e,re,i),t(re,Fs),u(e,ht,i),u(e,$,i),t($,Rs),t($,Fe),t(Fe,Bs),t($,Qs),t($,Re),t(Re,Us),t($,Ws),u(e,gt,i),u(e,M,i),t(M,A),t(A,Be),D(K,Be,null),t(M,Ks),t(M,Qe),t(Qe,Xs),u(e,yt,i),u(e,S,i),t(S,Ys),t(S,Ue),t(Ue,Zs),t(S,eo),u(e,bt,i),u(e,x,i),t(x,to),t(x,We),t(We,so),t(x,oo),t(x,Ke),t(Ke,ao),t(x,ro),t(x,ne),t(ne,no),t(x,lo),u(e,xt,i),u(e,le,i),t(le,io),u(e,Et,i),D(X,e,i),u(e,wt,i),u(e,ie,i),t(ie,uo),u(e,_t,i),D(Y,e,i),u(e,qt,i),D(Z,e,i),u(e,kt,i),u(e,V,i),t(V,po),t(V,Xe),t(Xe,co),t(V,mo),u(e,$t,i),D(ee,e,i),u(e,jt,i),u(e,ue,i),t(ue,fo),u(e,zt,i),u(e,y,i),u(e,Pt,i),u(e,J,i),t(J,vo),t(J,Ye),t(Ye,ho),t(J,go),Ct=!0},p:Ea,i(e){Ct||(N(R.$$.fragment,e),N(B.$$.fragment,e),N(Q.$$.fragment,e),N(W.$$.fragment,e),N(K.$$.fragment,e),N(X.$$.fragment,e),N(Y.$$.fragment,e),N(Z.$$.fragment,e),N(ee.$$.fragment,e),Ct=!0)},o(e){H(R.$$.fragment,e),H(B.$$.fragment,e),H(Q.$$.fragment,e),H(W.$$.fragment,e),H(K.$$.fragment,e),H(X.$$.fragment,e),H(Y.$$.fragment,e),H(Z.$$.fragment,e),H(ee.$$.fragment,e),Ct=!1},d(e){s(z),e&&s(Ze),e&&s(P),T(R),e&&s(et),T(B,e),e&&s(tt),e&&s(E),e&&s(st),e&&s(te),e&&s(ot),e&&s(b),e&&s(at),e&&s(w),e&&s(rt),T(Q,e),e&&s(nt),e&&s(se),e&&s(lt),e&&s(_),e&&s(it),e&&s(q),e&&s(ut),e&&s(h),e&&s(pt),e&&s(oe),e&&s(ct),e&&s(k),e&&s(mt),e&&s(ae),e&&s(dt),T(W,e),e&&s(ft),e&&s(g),e&&s(vt),e&&s(re),e&&s(ht),e&&s($),e&&s(gt),e&&s(M),T(K),e&&s(yt),e&&s(S),e&&s(bt),e&&s(x),e&&s(xt),e&&s(le),e&&s(Et),T(X,e),e&&s(wt),e&&s(ie),e&&s(_t),T(Y,e),e&&s(qt),T(Z,e),e&&s(kt),e&&s(V),e&&s($t),T(ee,e),e&&s(jt),e&&s(ue),e&&s(zt),e&&s(y),e&&s(Pt),e&&s(J)}}}const ka={local:"construire-votre-premire-dmo",sections:[{local:"inclure-les-prdictions-du-modle",title:"\u{1F916} Inclure les pr\xE9dictions du mod\xE8le"}],title:"Construire votre premi\xE8re d\xE9mo"};function $a(bo){return wa(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ma extends ga{constructor(z){super();ya(this,z,$a,qa,ba,{})}}export{Ma as default,ka as metadata};
