import{S as cc,i as mc,s as dc,e as l,k as p,w,t as n,M as fc,c as r,d as t,m as c,a as i,x as y,h as a,b as d,N as hc,G as s,g as u,y as j,q as k,o as z,B as P,v as gc}from"../../chunks/vendor-hf-doc-builder.js";import{T as We}from"../../chunks/Tip-hf-doc-builder.js";import{Y as vc}from"../../chunks/Youtube-hf-doc-builder.js";import{I as G}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as O}from"../../chunks/CodeBlock-hf-doc-builder.js";import{C as $c}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";function xc(T){let m,_,h,b,q,g,I,$,C,x,v,E;return{c(){m=n("\u{1F440} Vous voyez ce bouton "),_=l("em"),h=n("Open in Colab"),b=n(" en haut \xE0 droite ? Cliquez dessus pour ouvrir un "),q=l("i"),g=n("notebook"),I=n(` Colab avec tous les exemples de code de cette section. Ce bouton sera pr\xE9sent dans n'importe quelle section contenant des exemples de code.
`),$=l("p"),C=n("Si vous souhaitez ex\xE9cuter les codes en local, nous vous recommandons de jeter un \u0153il au chapitre "),x=l("a"),v=n("configuration"),E=n("."),this.h()},l(f){m=a(f,"\u{1F440} Vous voyez ce bouton "),_=r(f,"EM",{});var A=i(_);h=a(A,"Open in Colab"),A.forEach(t),b=a(f," en haut \xE0 droite ? Cliquez dessus pour ouvrir un "),q=r(f,"I",{});var R=i(q);g=a(R,"notebook"),R.forEach(t),I=a(f,` Colab avec tous les exemples de code de cette section. Ce bouton sera pr\xE9sent dans n'importe quelle section contenant des exemples de code.
`),$=r(f,"P",{});var L=i($);C=a(L,"Si vous souhaitez ex\xE9cuter les codes en local, nous vous recommandons de jeter un \u0153il au chapitre "),x=r(L,"A",{href:!0});var Rs=i(x);v=a(Rs,"configuration"),Rs.forEach(t),E=a(L,"."),L.forEach(t),this.h()},h(){d(x,"href","/course/fr/chapter0")},m(f,A){u(f,m,A),u(f,_,A),s(_,h),u(f,b,A),u(f,q,A),s(q,g),u(f,I,A),u(f,$,A),s($,C),s($,x),s(x,v),s($,E)},d(f){f&&t(m),f&&t(_),f&&t(b),f&&t(q),f&&t(I),f&&t($)}}}function qc(T){let m,_,h,b,q,g,I,$,C,x;return{c(){m=n("\u26A0\uFE0F Le "),_=l("i"),h=n("Hub"),b=n(" n'est pas limit\xE9 aux "),q=l("i"),g=n("transformers"),I=n(". Tout le monde peut partager n'importe quel mod\xE8le ou jeu de donn\xE9es s'il le souhaite ! "),$=l("a"),C=n("Cr\xE9ez un compte sur huggingface.co"),x=n(" pour b\xE9n\xE9ficier de toutes les fonctionnalit\xE9s disponibles !"),this.h()},l(v){m=a(v,"\u26A0\uFE0F Le "),_=r(v,"I",{});var E=i(_);h=a(E,"Hub"),E.forEach(t),b=a(v," n'est pas limit\xE9 aux "),q=r(v,"I",{});var f=i(q);g=a(f,"transformers"),f.forEach(t),I=a(v,". Tout le monde peut partager n'importe quel mod\xE8le ou jeu de donn\xE9es s'il le souhaite ! "),$=r(v,"A",{href:!0});var A=i($);C=a(A,"Cr\xE9ez un compte sur huggingface.co"),A.forEach(t),x=a(v," pour b\xE9n\xE9ficier de toutes les fonctionnalit\xE9s disponibles !"),this.h()},h(){d($,"href","https://huggingface.co/join")},m(v,E){u(v,m,E),u(v,_,E),s(_,h),u(v,b,E),u(v,q,E),s(q,g),u(v,I,E),u(v,$,E),s($,C),u(v,x,E)},d(v){v&&t(m),v&&t(_),v&&t(b),v&&t(q),v&&t(I),v&&t($),v&&t(x)}}}function _c(T){let m,_,h,b,q;return{c(){m=l("p"),_=n("\u270F\uFE0F "),h=l("strong"),b=n("Essayez !"),q=n(" Jouez avec vos propres s\xE9quences et labels et voyez comment le mod\xE8le fonctionne.")},l(g){m=r(g,"P",{});var I=i(m);_=a(I,"\u270F\uFE0F "),h=r(I,"STRONG",{});var $=i(h);b=a($,"Essayez !"),$.forEach(t),q=a(I," Jouez avec vos propres s\xE9quences et labels et voyez comment le mod\xE8le fonctionne."),I.forEach(t)},m(g,I){u(g,m,I),s(m,_),s(m,h),s(h,b),s(m,q)},d(g){g&&t(m)}}}function bc(T){let m,_,h,b,q,g,I,$,C,x,v;return{c(){m=l("p"),_=n("\u270F\uFE0F "),h=l("strong"),b=n("Essayez !"),q=n(" Utilisez les arguments "),g=l("code"),I=n("num_return_sequences"),$=n(" et "),C=l("code"),x=n("max_length"),v=n(" pour g\xE9n\xE9rer deux phrases de 15 mots chacune.")},l(E){m=r(E,"P",{});var f=i(m);_=a(f,"\u270F\uFE0F "),h=r(f,"STRONG",{});var A=i(h);b=a(A,"Essayez !"),A.forEach(t),q=a(f," Utilisez les arguments "),g=r(f,"CODE",{});var R=i(g);I=a(R,"num_return_sequences"),R.forEach(t),$=a(f," et "),C=r(f,"CODE",{});var L=i(C);x=a(L,"max_length"),L.forEach(t),v=a(f," pour g\xE9n\xE9rer deux phrases de 15 mots chacune."),f.forEach(t)},m(E,f){u(E,m,f),s(m,_),s(m,h),s(h,b),s(m,q),s(m,g),s(g,I),s(m,$),s(m,C),s(C,x),s(m,v)},d(E){E&&t(m)}}}function Ec(T){let m,_,h,b,q,g,I,$;return{c(){m=l("p"),_=n("\u270F\uFE0F "),h=l("strong"),b=n("Essayez !"),q=n(" Utilisez les filtres pour trouver un mod\xE8le de g\xE9n\xE9ration de texte pour une autre langue. N\u2019h\xE9sitez pas \xE0 jouer avec le "),g=l("em"),I=n("widget"),$=n(" et l\u2019utiliser dans un pipeline !")},l(C){m=r(C,"P",{});var x=i(m);_=a(x,"\u270F\uFE0F "),h=r(x,"STRONG",{});var v=i(h);b=a(v,"Essayez !"),v.forEach(t),q=a(x," Utilisez les filtres pour trouver un mod\xE8le de g\xE9n\xE9ration de texte pour une autre langue. N\u2019h\xE9sitez pas \xE0 jouer avec le "),g=r(x,"EM",{});var E=i(g);I=a(E,"widget"),E.forEach(t),$=a(x," et l\u2019utiliser dans un pipeline !"),x.forEach(t)},m(C,x){u(C,m,x),s(m,_),s(m,h),s(h,b),s(m,q),s(m,g),s(g,I),s(m,$)},d(C){C&&t(m)}}}function wc(T){let m,_,h,b,q,g,I,$,C,x,v;return{c(){m=l("p"),_=n("\u270F\uFE0F "),h=l("strong"),b=n("Essayez !"),q=n(" Recherchez le mod\xE8le "),g=l("code"),I=n("bert-base-cased"),$=n(" sur le "),C=l("em"),x=n("Hub"),v=n(" et identifiez le mot masqu\xE9 dans l\u2019outil d\u2019inf\xE9rence. Que pr\xE9dit le mod\xE8le pour la phrase dans notre exemple de pipeline au-dessus ?")},l(E){m=r(E,"P",{});var f=i(m);_=a(f,"\u270F\uFE0F "),h=r(f,"STRONG",{});var A=i(h);b=a(A,"Essayez !"),A.forEach(t),q=a(f," Recherchez le mod\xE8le "),g=r(f,"CODE",{});var R=i(g);I=a(R,"bert-base-cased"),R.forEach(t),$=a(f," sur le "),C=r(f,"EM",{});var L=i(C);x=a(L,"Hub"),L.forEach(t),v=a(f," et identifiez le mot masqu\xE9 dans l\u2019outil d\u2019inf\xE9rence. Que pr\xE9dit le mod\xE8le pour la phrase dans notre exemple de pipeline au-dessus ?"),f.forEach(t)},m(E,f){u(E,m,f),s(m,_),s(m,h),s(h,b),s(m,q),s(m,g),s(g,I),s(m,$),s(m,C),s(C,x),s(m,v)},d(E){E&&t(m)}}}function yc(T){let m,_,h,b,q,g,I,$,C,x,v;return{c(){m=l("p"),_=n("\u270F\uFE0F "),h=l("strong"),b=n("Essayez !"),q=n(" Recherchez sur le "),g=l("em"),I=n("Hub"),$=n(" un mod\xE8le capable de reconna\xEEtre les diff\xE9rentes parties du langage (g\xE9n\xE9ralement abr\xE9g\xE9 en POS pour "),C=l("em"),x=n("Part-of-speech"),v=n(") en anglais. Que pr\xE9dit le mod\xE8le pour la phrase dans notre exemple du pipeline au-dessus ?")},l(E){m=r(E,"P",{});var f=i(m);_=a(f,"\u270F\uFE0F "),h=r(f,"STRONG",{});var A=i(h);b=a(A,"Essayez !"),A.forEach(t),q=a(f," Recherchez sur le "),g=r(f,"EM",{});var R=i(g);I=a(R,"Hub"),R.forEach(t),$=a(f," un mod\xE8le capable de reconna\xEEtre les diff\xE9rentes parties du langage (g\xE9n\xE9ralement abr\xE9g\xE9 en POS pour "),C=r(f,"EM",{});var L=i(C);x=a(L,"Part-of-speech"),L.forEach(t),v=a(f,") en anglais. Que pr\xE9dit le mod\xE8le pour la phrase dans notre exemple du pipeline au-dessus ?"),f.forEach(t)},m(E,f){u(E,m,f),s(m,_),s(m,h),s(h,b),s(m,q),s(m,g),s(g,I),s(m,$),s(m,C),s(C,x),s(m,v)},d(E){E&&t(m)}}}function jc(T){let m,_,h,b,q,g,I,$;return{c(){m=l("p"),_=n("\u270F\uFE0F "),h=l("strong"),b=n("Essayez !"),q=n(" Recherchez d\u2019autres mod\xE8les de traduction sur le "),g=l("em"),I=n("Hub"),$=n(" et essayez de traduire la phrase pr\xE9c\xE9dente en plusieurs langues diff\xE9rentes.")},l(C){m=r(C,"P",{});var x=i(m);_=a(x,"\u270F\uFE0F "),h=r(x,"STRONG",{});var v=i(h);b=a(v,"Essayez !"),v.forEach(t),q=a(x," Recherchez d\u2019autres mod\xE8les de traduction sur le "),g=r(x,"EM",{});var E=i(g);I=a(E,"Hub"),E.forEach(t),$=a(x," et essayez de traduire la phrase pr\xE9c\xE9dente en plusieurs langues diff\xE9rentes."),x.forEach(t)},m(C,x){u(C,m,x),s(m,_),s(m,h),s(h,b),s(m,q),s(m,g),s(g,I),s(m,$)},d(C){C&&t(m)}}}function kc(T){let m,_,h,b,q,g,I,$,C,x,v,E,f,A,R,L,Rs,at,Ol,Tl,lt,Nl,Dl,rt,Rl,Ml,Gn,de,Bn,te,fe,it,Ze,Fl,Ye,Vl,ot,Ul,Gl,Jn,J,Bl,ut,Jl,Ql,pt,Wl,Zl,Qn,he,lu,Wn,F,Yl,ge,Kl,ct,Xl,er,Ke,mt,sr,tr,dt,nr,ar,Zn,ve,Yn,$e,lr,ft,rr,ir,Kn,ne,xe,ht,Xe,or,gt,ur,Xn,es,ea,Q,pr,vt,cr,mr,$t,dr,fr,sa,ss,ta,ts,na,Ms,hr,aa,ns,la,as,ra,qe,gr,xt,vr,$r,ia,Fs,xr,oa,W,qt,qr,_r,_t,br,Er,bt,wr,ua,_e,yr,ls,jr,kr,pa,H,Vs,Et,zr,Pr,Cr,wt,yt,Ir,Ar,be,jt,Lr,Hr,kt,Sr,Or,Tr,zt,Pt,Nr,Dr,Ct,It,Rr,Mr,At,Lt,Fr,Vr,Ht,St,Ur,Gr,Ot,Tt,Br,Jr,Nt,Dt,Qr,ca,Us,Wr,ma,ae,Ee,Rt,rs,Zr,Mt,Ft,Yr,da,we,Kr,Vt,Xr,ei,fa,is,ha,os,ga,ye,si,Ut,ti,ni,va,je,$a,le,ke,Gt,us,ai,Bt,li,xa,Gs,ri,qa,ps,_a,cs,ba,Z,ii,Jt,oi,ui,Qt,pi,ci,Ea,ze,wa,re,Pe,Wt,ms,mi,ds,di,Zt,fi,hi,ya,M,gi,Yt,vi,$i,fs,Kt,xi,qi,Xt,_i,bi,hs,Ei,wi,ja,Ce,yi,gs,en,ji,ki,ka,vs,za,$s,Pa,V,zi,sn,Pi,Ci,tn,Ii,Ai,nn,Li,Hi,Ca,Bs,Si,Ia,Ie,Aa,ie,Ae,an,xs,Oi,ln,Ti,La,Le,Ni,qs,Di,Ri,Ha,Y,Mi,rn,Fi,Vi,_s,Ui,Gi,Sa,oe,He,on,bs,Bi,un,Ji,Oa,Se,Qi,pn,Wi,Zi,Ta,Es,Na,ws,Da,U,Yi,cn,Ki,Xi,mn,eo,so,dn,to,no,Ra,Oe,Ma,ue,Te,fn,ys,ao,hn,lo,Fa,Ne,ro,gn,io,oo,Va,js,Ua,ks,Ga,Js,uo,Ba,S,po,vn,co,mo,$n,fo,ho,xn,go,vo,qn,$o,xo,_n,qo,_o,bn,bo,Eo,En,wo,yo,wn,jo,ko,Ja,De,Qa,pe,Re,yn,zs,zo,jn,Po,Wa,Me,Co,kn,Io,Ao,Za,Ps,Ya,Cs,Ka,Qs,Lo,Xa,ce,Fe,zn,Is,Ho,Pn,So,el,Ws,Oo,sl,As,tl,Ls,nl,K,To,Cn,No,Do,In,Ro,Mo,al,me,Ve,An,Hs,Fo,Ln,Vo,ll,X,Uo,Hn,Go,Bo,Ss,Sn,Jo,Qo,rl,Os,il,Ts,ol,ee,Wo,On,Zo,Yo,Tn,Ko,Xo,ul,Ue,pl,Ge,eu,Nn,su,tu,cl;return g=new G({}),A=new $c({props:{chapter:1,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/fr/chapter1/section3.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/fr/chapter1/section3.ipynb"}]}}),de=new We({props:{$$slots:{default:[xc]},$$scope:{ctx:T}}}),Ze=new G({}),ve=new We({props:{$$slots:{default:[qc]},$$scope:{ctx:T}}}),Xe=new G({}),es=new vc({props:{id:"tiZFewofSLM"}}),ss=new O({props:{code:`from transformers import pipeline

classifier = pipeline("sentiment-analysis")
classifier(
    "I've been waiting for a HuggingFace course my whole life."
)  # J'ai attendu un cours d'HuggingFace toute ma vie.`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

classifier = pipeline(<span class="hljs-string">&quot;sentiment-analysis&quot;</span>)
classifier(
    <span class="hljs-string">&quot;I&#x27;ve been waiting for a HuggingFace course my whole life.&quot;</span>
)  <span class="hljs-comment"># J&#x27;ai attendu un cours d&#x27;HuggingFace toute ma vie.</span>`}}),ts=new O({props:{code:"[{'label': 'POSITIVE', 'score': 0.9598047137260437}]",highlighted:'[{<span class="hljs-string">&#x27;label&#x27;</span>: <span class="hljs-string">&#x27;POSITIVE&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.9598047137260437</span>}]'}}),ns=new O({props:{code:`classifier(
    [
        "I've been waiting for a HuggingFace course my whole life.",
        "I hate this so much!",
    ]  # \xAB J'ai attendu un cours d'HuggingFace toute ma vie. \xBB,  \xAB Je d\xE9teste tellement \xE7a ! \xBB
)`,highlighted:`classifier(
    [
        <span class="hljs-string">&quot;I&#x27;ve been waiting for a HuggingFace course my whole life.&quot;</span>,
        <span class="hljs-string">&quot;I hate this so much!&quot;</span>,
    ]  <span class="hljs-comment"># \xAB J&#x27;ai attendu un cours d&#x27;HuggingFace toute ma vie. \xBB,  \xAB Je d\xE9teste tellement \xE7a ! \xBB</span>
)`}}),as=new O({props:{code:`[{'label': 'POSITIVE', 'score': 0.9598047137260437},
 {'label': 'NEGATIVE', 'score': 0.9994558095932007}]`,highlighted:`[{<span class="hljs-string">&#x27;label&#x27;</span>: <span class="hljs-string">&#x27;POSITIVE&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.9598047137260437</span>},
 {<span class="hljs-string">&#x27;label&#x27;</span>: <span class="hljs-string">&#x27;NEGATIVE&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.9994558095932007</span>}]`}}),rs=new G({}),is=new O({props:{code:`from transformers import pipeline

classifier = pipeline("zero-shot-classification")
classifier(
    "This is a course about the Transformers library",
    # C'est un cours sur la biblioth\xE8que Transformers
    candidate_labels=["education", "politics", "business"],
)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

classifier = pipeline(<span class="hljs-string">&quot;zero-shot-classification&quot;</span>)
classifier(
    <span class="hljs-string">&quot;This is a course about the Transformers library&quot;</span>,
    <span class="hljs-comment"># C&#x27;est un cours sur la biblioth\xE8que Transformers</span>
    candidate_labels=[<span class="hljs-string">&quot;education&quot;</span>, <span class="hljs-string">&quot;politics&quot;</span>, <span class="hljs-string">&quot;business&quot;</span>],
)`}}),os=new O({props:{code:`{'sequence': 'This is a course about the Transformers library', 
# C'est un cours sur la biblioth\xE8que Transformers
 'labels': ['education', 'business', 'politics'],
 'scores': [0.8445963859558105, 0.111976258456707, 0.043427448719739914]}`,highlighted:`{<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;This is a course about the Transformers library&#x27;</span>, 
<span class="hljs-comment"># C&#x27;est un cours sur la biblioth\xE8que Transformers</span>
 <span class="hljs-string">&#x27;labels&#x27;</span>: [<span class="hljs-string">&#x27;education&#x27;</span>, <span class="hljs-string">&#x27;business&#x27;</span>, <span class="hljs-string">&#x27;politics&#x27;</span>],
 <span class="hljs-string">&#x27;scores&#x27;</span>: [<span class="hljs-number">0.8445963859558105</span>, <span class="hljs-number">0.111976258456707</span>, <span class="hljs-number">0.043427448719739914</span>]}`}}),je=new We({props:{$$slots:{default:[_c]},$$scope:{ctx:T}}}),us=new G({}),ps=new O({props:{code:`from transformers import pipeline

generator = pipeline("text-generation")
generator(
    "In this course, we will teach you how to"
)  # Dans ce cours, nous vous enseignerons comment`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

generator = pipeline(<span class="hljs-string">&quot;text-generation&quot;</span>)
generator(
    <span class="hljs-string">&quot;In this course, we will teach you how to&quot;</span>
)  <span class="hljs-comment"># Dans ce cours, nous vous enseignerons comment</span>`}}),cs=new O({props:{code:`[{'generated_text': 'In this course, we will teach you how to understand and use ' 
					# Dans ce cours, nous vous enseignerons comment comprendre et utiliser
                    'data flow and data interchange when handling user data. We '
					# flux de donn\xE9es et l'\xE9change de donn\xE9es lors de la manipulation des donn\xE9es utilisateur. Nous 
                    'will be working with one or more of the most commonly used ' 
					# travailleront avec un ou plusieurs des plus couramment utilis\xE9s
                    'data flows \u2014 data flows of various types, as seen by the ' 
					# flux de donn\xE9es - flux de donn\xE9es de diff\xE9rents types, tels qu'ils sont vus par
                    'HTTP'}] # HTTP`,highlighted:`[{<span class="hljs-string">&#x27;generated_text&#x27;</span>: <span class="hljs-string">&#x27;In this course, we will teach you how to understand and use &#x27;</span> 
					<span class="hljs-comment"># Dans ce cours, nous vous enseignerons comment comprendre et utiliser</span>
                    <span class="hljs-string">&#x27;data flow and data interchange when handling user data. We &#x27;</span>
					<span class="hljs-comment"># flux de donn\xE9es et l&#x27;\xE9change de donn\xE9es lors de la manipulation des donn\xE9es utilisateur. Nous </span>
                    <span class="hljs-string">&#x27;will be working with one or more of the most commonly used &#x27;</span> 
					<span class="hljs-comment"># travailleront avec un ou plusieurs des plus couramment utilis\xE9s</span>
                    <span class="hljs-string">&#x27;data flows \u2014 data flows of various types, as seen by the &#x27;</span> 
					<span class="hljs-comment"># flux de donn\xE9es - flux de donn\xE9es de diff\xE9rents types, tels qu&#x27;ils sont vus par</span>
                    <span class="hljs-string">&#x27;HTTP&#x27;</span>}] <span class="hljs-comment"># HTTP</span>`}}),ze=new We({props:{$$slots:{default:[bc]},$$scope:{ctx:T}}}),ms=new G({}),vs=new O({props:{code:`from transformers import pipeline

generator = pipeline("text-generation", model="distilgpt2")
generator(
    "In this course, we will teach you how to",
    # Dans ce cours, nous vous enseignerons comment
    max_length=30,
    num_return_sequences=2,
)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

generator = pipeline(<span class="hljs-string">&quot;text-generation&quot;</span>, model=<span class="hljs-string">&quot;distilgpt2&quot;</span>)
generator(
    <span class="hljs-string">&quot;In this course, we will teach you how to&quot;</span>,
    <span class="hljs-comment"># Dans ce cours, nous vous enseignerons comment</span>
    max_length=<span class="hljs-number">30</span>,
    num_return_sequences=<span class="hljs-number">2</span>,
)`}}),$s=new O({props:{code:`[{'generated_text': 'In this course, we will teach you how to manipulate the world and ' 
					# Dans ce cours, nous vous enseignerons comment manipuler le monde et
                    'move your mental and physical capabilities to your advantage.'}, 
					# utiliser vos capacit\xE9s mentales et physiques \xE0 votre avantage.
 {'generated_text': 'In this course, we will teach you how to become an expert and ' 
					# Dans ce cours, nous vous apprendrons comment devenir un expert et
                    'practice realtime, and with a hands on experience on both real ' 
					# pratique en temps r\xE9el, et avec une exp\xE9rience pratique \xE0 la fois sur de vrais
                    'time and real'}] 
					# temps et r\xE9el`,highlighted:`[{<span class="hljs-string">&#x27;generated_text&#x27;</span>: <span class="hljs-string">&#x27;In this course, we will teach you how to manipulate the world and &#x27;</span> 
					<span class="hljs-comment"># Dans ce cours, nous vous enseignerons comment manipuler le monde et</span>
                    <span class="hljs-string">&#x27;move your mental and physical capabilities to your advantage.&#x27;</span>}, 
					<span class="hljs-comment"># utiliser vos capacit\xE9s mentales et physiques \xE0 votre avantage.</span>
 {<span class="hljs-string">&#x27;generated_text&#x27;</span>: <span class="hljs-string">&#x27;In this course, we will teach you how to become an expert and &#x27;</span> 
					<span class="hljs-comment"># Dans ce cours, nous vous apprendrons comment devenir un expert et</span>
                    <span class="hljs-string">&#x27;practice realtime, and with a hands on experience on both real &#x27;</span> 
					<span class="hljs-comment"># pratique en temps r\xE9el, et avec une exp\xE9rience pratique \xE0 la fois sur de vrais</span>
                    <span class="hljs-string">&#x27;time and real&#x27;</span>}] 
					<span class="hljs-comment"># temps et r\xE9el</span>`}}),Ie=new We({props:{$$slots:{default:[Ec]},$$scope:{ctx:T}}}),xs=new G({}),bs=new G({}),Es=new O({props:{code:`from transformers import pipeline

unmasker = pipeline("fill-mask")
unmasker("This course will teach you all about <mask> models.", top_k=2)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

unmasker = pipeline(<span class="hljs-string">&quot;fill-mask&quot;</span>)
unmasker(<span class="hljs-string">&quot;This course will teach you all about &lt;mask&gt; models.&quot;</span>, top_k=<span class="hljs-number">2</span>)`}}),ws=new O({props:{code:`[{'sequence': 'This course will teach you all about mathematical models.', 
# Ce cours vous apprendra tout sur les mod\xE8les math\xE9matiques.
  'score': 0.19619831442832947,
  'token': 30412,
  'token_str': ' mathematical'},
 {'sequence': 'This course will teach you all about computational models.', 
 # Ce cours vous apprendra tout sur les mod\xE8les  de calcul.
  'score': 0.04052725434303284,
  'token': 38163,
  'token_str': ' computational'}]`,highlighted:`[{<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;This course will teach you all about mathematical models.&#x27;</span>, 
<span class="hljs-comment"># Ce cours vous apprendra tout sur les mod\xE8les math\xE9matiques.</span>
  <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.19619831442832947</span>,
  <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">30412</span>,
  <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27; mathematical&#x27;</span>},
 {<span class="hljs-string">&#x27;sequence&#x27;</span>: <span class="hljs-string">&#x27;This course will teach you all about computational models.&#x27;</span>, 
 <span class="hljs-comment"># Ce cours vous apprendra tout sur les mod\xE8les  de calcul.</span>
  <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.04052725434303284</span>,
  <span class="hljs-string">&#x27;token&#x27;</span>: <span class="hljs-number">38163</span>,
  <span class="hljs-string">&#x27;token_str&#x27;</span>: <span class="hljs-string">&#x27; computational&#x27;</span>}]`}}),Oe=new We({props:{$$slots:{default:[wc]},$$scope:{ctx:T}}}),ys=new G({}),js=new O({props:{code:`from transformers import pipeline

ner = pipeline("ner", grouped_entities=True)
ner(
    "My name is Sylvain and I work at Hugging Face in Brooklyn."
)  # Je m'appelle Sylvain et je travaille \xE0 Hugging Face \xE0 Brooklyn.`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

ner = pipeline(<span class="hljs-string">&quot;ner&quot;</span>, grouped_entities=<span class="hljs-literal">True</span>)
ner(
    <span class="hljs-string">&quot;My name is Sylvain and I work at Hugging Face in Brooklyn.&quot;</span>
)  <span class="hljs-comment"># Je m&#x27;appelle Sylvain et je travaille \xE0 Hugging Face \xE0 Brooklyn.</span>`}}),ks=new O({props:{code:`[{'entity_group': 'PER', 'score': 0.99816, 'word': 'Sylvain', 'start': 11, 'end': 18}, 
 {'entity_group': 'ORG', 'score': 0.97960, 'word': 'Hugging Face', 'start': 33, 'end': 45}, 
 {'entity_group': 'LOC', 'score': 0.99321, 'word': 'Brooklyn', 'start': 49, 'end': 57}
]`,highlighted:`[{<span class="hljs-string">&#x27;entity_group&#x27;</span>: <span class="hljs-string">&#x27;PER&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.99816</span>, <span class="hljs-string">&#x27;word&#x27;</span>: <span class="hljs-string">&#x27;Sylvain&#x27;</span>, <span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">11</span>, <span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">18</span>}, 
 {<span class="hljs-string">&#x27;entity_group&#x27;</span>: <span class="hljs-string">&#x27;ORG&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.97960</span>, <span class="hljs-string">&#x27;word&#x27;</span>: <span class="hljs-string">&#x27;Hugging Face&#x27;</span>, <span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">33</span>, <span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">45</span>}, 
 {<span class="hljs-string">&#x27;entity_group&#x27;</span>: <span class="hljs-string">&#x27;LOC&#x27;</span>, <span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.99321</span>, <span class="hljs-string">&#x27;word&#x27;</span>: <span class="hljs-string">&#x27;Brooklyn&#x27;</span>, <span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">49</span>, <span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">57</span>}
]`}}),De=new We({props:{$$slots:{default:[yc]},$$scope:{ctx:T}}}),zs=new G({}),Ps=new O({props:{code:`from transformers import pipeline

question_answerer = pipeline("question-answering")
question_answerer(
    question="Where do I work?",  # O\xF9 est-ce que je travaille ?
    context="My name is Sylvain and I work at Hugging Face in Brooklyn",
    # Je m'appelle Sylvain et je travaille \xE0 Hugging Face \xE0 Brooklyn.
)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

question_answerer = pipeline(<span class="hljs-string">&quot;question-answering&quot;</span>)
question_answerer(
    question=<span class="hljs-string">&quot;Where do I work?&quot;</span>,  <span class="hljs-comment"># O\xF9 est-ce que je travaille ?</span>
    context=<span class="hljs-string">&quot;My name is Sylvain and I work at Hugging Face in Brooklyn&quot;</span>,
    <span class="hljs-comment"># Je m&#x27;appelle Sylvain et je travaille \xE0 Hugging Face \xE0 Brooklyn.</span>
)`}}),Cs=new O({props:{code:"{'score': 0.6385916471481323, 'start': 33, 'end': 45, 'answer': 'Hugging Face'}",highlighted:'{<span class="hljs-string">&#x27;score&#x27;</span>: <span class="hljs-number">0.6385916471481323</span>, <span class="hljs-string">&#x27;start&#x27;</span>: <span class="hljs-number">33</span>, <span class="hljs-string">&#x27;end&#x27;</span>: <span class="hljs-number">45</span>, <span class="hljs-string">&#x27;answer&#x27;</span>: <span class="hljs-string">&#x27;Hugging Face&#x27;</span>}'}}),Is=new G({}),As=new O({props:{code:`from transformers import pipeline

summarizer = pipeline("summarization")
summarizer(
    """
    America has changed dramatically during recent years. Not only has the number of 
    graduates in traditional engineering disciplines such as mechanical, civil, 
    electrical, chemical, and aeronautical engineering declined, but in most of 
    the premier American universities engineering curricula now concentrate on 
    and encourage largely the study of engineering science. As a result, there 
    are declining offerings in engineering subjects dealing with infrastructure, 
    the environment, and related issues, and greater concentration on high 
    technology subjects, largely supporting increasingly complex scientific 
    developments. While the latter is important, it should not be at the expense 
    of more traditional engineering.

    Rapidly developing economies such as China and India, as well as other 
    industrial countries in Europe and Asia, continue to encourage and advance 
    the teaching of engineering. Both China and India, respectively, graduate 
    six and eight times as many traditional engineers as does the United States. 
    Other industrial countries at minimum maintain their output, while America 
    suffers an increasingly serious decline in the number of engineering graduates 
    and a lack of well-educated engineers.
"""
)

"""
    L'Am\xE9rique a chang\xE9 de fa\xE7on spectaculaire au cours des derni\xE8res ann\xE9es. Non seulement le nombre de 
    dipl\xF4m\xE9s dans les disciplines traditionnelles de l'ing\xE9nierie telles que le g\xE9nie m\xE9canique, civil, 
    l'\xE9lectricit\xE9, la chimie et l'a\xE9ronautique a diminu\xE9, mais dans la plupart 
    des grandes universit\xE9s am\xE9ricaines, les programmes d'\xE9tudes d'ing\xE9nierie se concentrent d\xE9sormais sur 
    et encouragent largement l'\xE9tude des sciences de l'ing\xE9nieur. Par cons\xE9quent, il y a 
    de moins en moins d'offres dans les sujets d'ing\xE9nierie traitant de l'infrastructure, 
    l'environnement et les questions connexes, et une plus grande concentration sur les sujets de haute 
    technologie, qui soutiennent en grande partie des d\xE9veloppements scientifiques de plus en plus 
    complexes. Si cette derni\xE8re est importante, elle ne doit pas se faire au d\xE9triment
    de l'ing\xE9nierie plus traditionnelle.

    Les \xE9conomies en d\xE9veloppement rapide telles que la Chine et l'Inde, ainsi que d'autres 
    pays industrialis\xE9s d'Europe et d'Asie, continuent d'encourager et de promouvoir
    l'enseignement de l'ing\xE9nierie. La Chine et l'Inde, respectivement, dipl\xF4ment 
    six et huit fois plus d'ing\xE9nieurs traditionnels que les \xC9tats-Unis. 
    Les autres pays industriels maintiennent au minimum leur production, tandis que l'Am\xE9rique 
    souffre d'une baisse de plus en plus importante du nombre de dipl\xF4m\xE9s en ing\xE9nierie
    et un manque d'ing\xE9nieurs bien form\xE9s.
"""`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

summarizer = pipeline(<span class="hljs-string">&quot;summarization&quot;</span>)
summarizer(
    <span class="hljs-string">&quot;&quot;&quot;
    America has changed dramatically during recent years. Not only has the number of 
    graduates in traditional engineering disciplines such as mechanical, civil, 
    electrical, chemical, and aeronautical engineering declined, but in most of 
    the premier American universities engineering curricula now concentrate on 
    and encourage largely the study of engineering science. As a result, there 
    are declining offerings in engineering subjects dealing with infrastructure, 
    the environment, and related issues, and greater concentration on high 
    technology subjects, largely supporting increasingly complex scientific 
    developments. While the latter is important, it should not be at the expense 
    of more traditional engineering.

    Rapidly developing economies such as China and India, as well as other 
    industrial countries in Europe and Asia, continue to encourage and advance 
    the teaching of engineering. Both China and India, respectively, graduate 
    six and eight times as many traditional engineers as does the United States. 
    Other industrial countries at minimum maintain their output, while America 
    suffers an increasingly serious decline in the number of engineering graduates 
    and a lack of well-educated engineers.
&quot;&quot;&quot;</span>
)

<span class="hljs-string">&quot;&quot;&quot;
    L&#x27;Am\xE9rique a chang\xE9 de fa\xE7on spectaculaire au cours des derni\xE8res ann\xE9es. Non seulement le nombre de 
    dipl\xF4m\xE9s dans les disciplines traditionnelles de l&#x27;ing\xE9nierie telles que le g\xE9nie m\xE9canique, civil, 
    l&#x27;\xE9lectricit\xE9, la chimie et l&#x27;a\xE9ronautique a diminu\xE9, mais dans la plupart 
    des grandes universit\xE9s am\xE9ricaines, les programmes d&#x27;\xE9tudes d&#x27;ing\xE9nierie se concentrent d\xE9sormais sur 
    et encouragent largement l&#x27;\xE9tude des sciences de l&#x27;ing\xE9nieur. Par cons\xE9quent, il y a 
    de moins en moins d&#x27;offres dans les sujets d&#x27;ing\xE9nierie traitant de l&#x27;infrastructure, 
    l&#x27;environnement et les questions connexes, et une plus grande concentration sur les sujets de haute 
    technologie, qui soutiennent en grande partie des d\xE9veloppements scientifiques de plus en plus 
    complexes. Si cette derni\xE8re est importante, elle ne doit pas se faire au d\xE9triment
    de l&#x27;ing\xE9nierie plus traditionnelle.

    Les \xE9conomies en d\xE9veloppement rapide telles que la Chine et l&#x27;Inde, ainsi que d&#x27;autres 
    pays industrialis\xE9s d&#x27;Europe et d&#x27;Asie, continuent d&#x27;encourager et de promouvoir
    l&#x27;enseignement de l&#x27;ing\xE9nierie. La Chine et l&#x27;Inde, respectivement, dipl\xF4ment 
    six et huit fois plus d&#x27;ing\xE9nieurs traditionnels que les \xC9tats-Unis. 
    Les autres pays industriels maintiennent au minimum leur production, tandis que l&#x27;Am\xE9rique 
    souffre d&#x27;une baisse de plus en plus importante du nombre de dipl\xF4m\xE9s en ing\xE9nierie
    et un manque d&#x27;ing\xE9nieurs bien form\xE9s.
&quot;&quot;&quot;</span>`}}),Ls=new O({props:{code:`[{'summary_text': ' America has changed dramatically during recent years . The ' 
				  # L'Am\xE9rique a chang\xE9 de fa\xE7on spectaculaire au cours des derni\xE8res ann\xE9es. Le
                  'number of engineering graduates in the U.S. has declined in ' 
				  # nombre de dipl\xF4m\xE9s en ing\xE9nierie aux \xC9tats-Unis a diminu\xE9 dans
                  'traditional engineering disciplines such as mechanical, civil ' 
				  # dans les disciplines traditionnelles de l'ing\xE9nierie, telles que le g\xE9nie m\xE9canique, civil
                  ', electrical, chemical, and aeronautical engineering . Rapidly ' 
				  # l'\xE9lectricit\xE9, la chimie et l'a\xE9ronautique. Les \xE9conomies
                  'developing economies such as China and India, as well as other ' 
				  # en d\xE9veloppement rapide comme la Chine et l'Inde, ainsi que d'autres
                  'industrial countries in Europe and Asia, continue to encourage ' 
				  # pays industriels d'Europe et d'Asie, continuent d'encourager
                  'and advance engineering.'}] 
				  # et \xE0 faire progresser l'ing\xE9nierie.`,highlighted:`[{<span class="hljs-string">&#x27;summary_text&#x27;</span>: <span class="hljs-string">&#x27; America has changed dramatically during recent years . The &#x27;</span> 
				  <span class="hljs-comment"># L&#x27;Am\xE9rique a chang\xE9 de fa\xE7on spectaculaire au cours des derni\xE8res ann\xE9es. Le</span>
                  <span class="hljs-string">&#x27;number of engineering graduates in the U.S. has declined in &#x27;</span> 
				  <span class="hljs-comment"># nombre de dipl\xF4m\xE9s en ing\xE9nierie aux \xC9tats-Unis a diminu\xE9 dans</span>
                  <span class="hljs-string">&#x27;traditional engineering disciplines such as mechanical, civil &#x27;</span> 
				  <span class="hljs-comment"># dans les disciplines traditionnelles de l&#x27;ing\xE9nierie, telles que le g\xE9nie m\xE9canique, civil</span>
                  <span class="hljs-string">&#x27;, electrical, chemical, and aeronautical engineering . Rapidly &#x27;</span> 
				  <span class="hljs-comment"># l&#x27;\xE9lectricit\xE9, la chimie et l&#x27;a\xE9ronautique. Les \xE9conomies</span>
                  <span class="hljs-string">&#x27;developing economies such as China and India, as well as other &#x27;</span> 
				  <span class="hljs-comment"># en d\xE9veloppement rapide comme la Chine et l&#x27;Inde, ainsi que d&#x27;autres</span>
                  <span class="hljs-string">&#x27;industrial countries in Europe and Asia, continue to encourage &#x27;</span> 
				  <span class="hljs-comment"># pays industriels d&#x27;Europe et d&#x27;Asie, continuent d&#x27;encourager</span>
                  <span class="hljs-string">&#x27;and advance engineering.&#x27;</span>}] 
				  <span class="hljs-comment"># et \xE0 faire progresser l&#x27;ing\xE9nierie.</span>`}}),Hs=new G({}),Os=new O({props:{code:`from transformers import pipeline

translator = pipeline("translation", model="Helsinki-NLP/opus-mt-fr-en")
translator("Ce cours est produit par Hugging Face.")`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

translator = pipeline(<span class="hljs-string">&quot;translation&quot;</span>, model=<span class="hljs-string">&quot;Helsinki-NLP/opus-mt-fr-en&quot;</span>)
translator(<span class="hljs-string">&quot;Ce cours est produit par Hugging Face.&quot;</span>)`}}),Ts=new O({props:{code:"[{'translation_text': 'This course is produced by Hugging Face.'}]",highlighted:'[{<span class="hljs-string">&#x27;translation_text&#x27;</span>: <span class="hljs-string">&#x27;This course is produced by Hugging Face.&#x27;</span>}]'}}),Ue=new We({props:{$$slots:{default:[jc]},$$scope:{ctx:T}}}),{c(){m=l("meta"),_=p(),h=l("h1"),b=l("a"),q=l("span"),w(g.$$.fragment),I=p(),$=l("span"),C=n("Que peuvent faire les "),x=l("i"),v=n("transformers"),E=n(" ?"),f=p(),w(A.$$.fragment),R=p(),L=l("p"),Rs=n("Dans cette section, nous allons voir ce que peuvent faire les "),at=l("em"),Ol=n("transformers"),Tl=n(" et utiliser notre premier outil de la biblioth\xE8que \u{1F917} "),lt=l("em"),Nl=n("Transformers"),Dl=n(" : la fonction "),rt=l("code"),Rl=n("pipeline()"),Ml=n("."),Gn=p(),w(de.$$.fragment),Bn=p(),te=l("h2"),fe=l("a"),it=l("span"),w(Ze.$$.fragment),Fl=p(),Ye=l("span"),Vl=n("Les "),ot=l("i"),Ul=n("transformers"),Gl=n(" sont partout !"),Jn=p(),J=l("p"),Bl=n("Les "),ut=l("em"),Jl=n("transformers"),Ql=n(" sont utilis\xE9s pour r\xE9soudre toute sorte de t\xE2ches de NLP comme celles mentionn\xE9es dans la section pr\xE9c\xE9dente. Voici quelques-unes des entreprises et organisations qui utilisent Hugging Face, les "),pt=l("em"),Wl=n("transformers"),Zl=n(" et qui contribuent aussi \xE0 la communaut\xE9 en partageant leurs mod\xE8les :"),Qn=p(),he=l("img"),Wn=p(),F=l("p"),Yl=n("La biblioth\xE8que "),ge=l("a"),Kl=n("\u{1F917} "),ct=l("em"),Xl=n("Transformers"),er=n(" fournit toutes les fonctionnalit\xE9s n\xE9cessaires pour cr\xE9er et utiliser les mod\xE8les partag\xE9s. Le "),Ke=l("a"),mt=l("em"),sr=n("Hub"),tr=n(" contient des milliers de mod\xE8les pr\xE9-entra\xEEn\xE9s que n\u2019importe qui peut t\xE9l\xE9charger et utiliser. Vous pouvez \xE9galement transf\xE9rer vos propres mod\xE8les vers le "),dt=l("em"),nr=n("Hub"),ar=n(" !"),Zn=p(),w(ve.$$.fragment),Yn=p(),$e=l("p"),lr=n("Avant de d\xE9couvrir en d\xE9tail comment les "),ft=l("em"),rr=n("transformers"),ir=n(" fonctionnent, nous allons voir quelques exemples de comment ils peuvent \xEAtre utilis\xE9s pour r\xE9soudre des probl\xE8mes int\xE9ressants de NLP."),Kn=p(),ne=l("h2"),xe=l("a"),ht=l("span"),w(Xe.$$.fragment),or=p(),gt=l("span"),ur=n("Travailler avec les pipelines"),Xn=p(),w(es.$$.fragment),ea=p(),Q=l("p"),pr=n("L\u2019outil le plus basique de la biblioth\xE8que \u{1F917} "),vt=l("em"),cr=n("Transformers"),mr=n(" est la fonction "),$t=l("code"),dr=n("pipeline()"),fr=n(". Elle relie un mod\xE8le avec ses \xE9tapes de pr\xE9-traitement et de post-traitement, permettant d\u2019entrer n\u2019importe quel texte et d\u2019obtenir une r\xE9ponse compr\xE9hensible :"),sa=p(),w(ss.$$.fragment),ta=p(),w(ts.$$.fragment),na=p(),Ms=l("p"),hr=n("On peut m\xEAme passer plusieurs phrases !"),aa=p(),w(ns.$$.fragment),la=p(),w(as.$$.fragment),ra=p(),qe=l("p"),gr=n("Par d\xE9faut, ce pipeline s\xE9lectionne un mod\xE8le pr\xE9-entra\xEEn\xE9 qui a \xE9t\xE9 sp\xE9cifiquement entra\xEEn\xE9 pour l\u2019analyse de sentiment en anglais. Le mod\xE8le est t\xE9l\xE9charg\xE9 et mis en cache lorsque vous cr\xE9ez l\u2019objet "),xt=l("code"),vr=n("classifier"),$r=n(". Si vous r\xE9ex\xE9cutez la commande, c\u2019est le mod\xE8le mis en cache qui sera utilis\xE9 et il n\u2019y a pas besoin de t\xE9l\xE9charger le mod\xE8le \xE0 nouveau."),ia=p(),Fs=l("p"),xr=n("Il y a trois \xE9tapes principales lorsque vous passez du texte \xE0 un pipeline :"),oa=p(),W=l("ol"),qt=l("li"),qr=n("le texte est pr\xE9trait\xE9 pour qu\u2019il ait un format compr\xE9hensible par le mod\xE8le,"),_r=p(),_t=l("li"),br=n("les donn\xE9es pr\xE9trait\xE9es sont pass\xE9es au mod\xE8le,"),Er=p(),bt=l("li"),wr=n("les pr\xE9dictions du mod\xE8le sont post-trait\xE9es de sorte que vous puissiez les comprendre."),ua=p(),_e=l("p"),yr=n("Voici une liste non-exhaustive des "),ls=l("a"),jr=n("pipelines disponibles"),kr=n(" :"),pa=p(),H=l("ul"),Vs=l("li"),Et=l("code"),zr=n("feature-extraction"),Pr=n(" (pour obtenir la repr\xE9sentation vectorielle d\u2019un texte)"),Cr=p(),wt=l("li"),yt=l("code"),Ir=n("fill-mask"),Ar=p(),be=l("li"),jt=l("code"),Lr=n("ner"),Hr=n(" ("),kt=l("em"),Sr=n("named entity recognition"),Or=n(" ou reconnaissance d\u2019entit\xE9s nomm\xE9es en fran\xE7ais)"),Tr=p(),zt=l("li"),Pt=l("code"),Nr=n("question-answering"),Dr=p(),Ct=l("li"),It=l("code"),Rr=n("sentiment-analysis"),Mr=p(),At=l("li"),Lt=l("code"),Fr=n("summarization"),Vr=p(),Ht=l("li"),St=l("code"),Ur=n("text-generation"),Gr=p(),Ot=l("li"),Tt=l("code"),Br=n("translation"),Jr=p(),Nt=l("li"),Dt=l("code"),Qr=n("zero-shot-classification"),ca=p(),Us=l("p"),Wr=n("Regardons de plus pr\xE8s certains d\u2019entre eux !"),ma=p(),ae=l("h2"),Ee=l("a"),Rt=l("span"),w(rs.$$.fragment),Zr=p(),Mt=l("span"),Ft=l("i"),Yr=n("Zero-shot classification"),da=p(),we=l("p"),Kr=n("Nous allons commencer par nous attaquer \xE0 une t\xE2che plus difficile o\xF9 nous devons classer des textes qui n\u2019ont pas \xE9t\xE9 annot\xE9s. C\u2019est un sc\xE9nario tr\xE8s r\xE9pandu dans les projets r\xE9els car l\u2019annotation de textes est g\xE9n\xE9ralement longue et n\xE9cessite parfois une expertise dans un domaine. Pour ce cas d\u2019usage, le pipeline "),Vt=l("code"),Xr=n("zero-shot-classification"),ei=n(" est tr\xE8s puissant : il vous permet de sp\xE9cifier les labels \xE0 utiliser pour la classification, de sorte que vous n\u2019ayez pas \xE0 vous soucier des labels du mod\xE8le pr\xE9-entra\xEEn\xE9. Nous avons d\xE9j\xE0 vu comment le mod\xE8le peut classer un texte comme positif ou n\xE9gatif en utilisant ces deux labels mais il peut \xE9galement classer le texte en utilisant n\u2019importe quel autre ensemble de labels que vous souhaitez."),fa=p(),w(is.$$.fragment),ha=p(),w(os.$$.fragment),ga=p(),ye=l("p"),si=n("Ce pipeline est appel\xE9 "),Ut=l("em"),ti=n("zero-shot"),ni=n(" car vous n\u2019avez pas besoin d\u2019entra\xEEner sp\xE9cifiquement le mod\xE8le sur vos donn\xE9es pour l\u2019utiliser. Il peut directement retourner des scores de probabilit\xE9 pour n\u2019importe quel ensemble de labels que vous choisissez !"),va=p(),w(je.$$.fragment),$a=p(),le=l("h2"),ke=l("a"),Gt=l("span"),w(us.$$.fragment),ai=p(),Bt=l("span"),li=n("G\xE9n\xE9ration de texte"),xa=p(),Gs=l("p"),ri=n("Maintenant, nous allons voir comment utiliser un pipeline pour g\xE9n\xE9rer du texte. L\u2019id\xE9e principale ici est que vous fournissez seulement un extrait de texte qui va \xEAtre compl\xE9t\xE9 par du texte g\xE9n\xE9r\xE9 automatiquement par le mod\xE8le. Cette fonction est similaire \xE0 la fonction de texte pr\xE9dictif que l\u2019on trouve sur de nombreux t\xE9l\xE9phones portables. La g\xE9n\xE9ration de texte implique de l\u2019al\xE9atoire, donc il est normal que vous n\u2019obteniez pas les m\xEAmes r\xE9sultats que ceux pr\xE9sent\xE9s ci-dessous."),qa=p(),w(ps.$$.fragment),_a=p(),w(cs.$$.fragment),ba=p(),Z=l("p"),ii=n("Il est possible de contr\xF4ler le nombre de s\xE9quences g\xE9n\xE9r\xE9es avec l\u2019argument "),Jt=l("code"),oi=n("num_return_sequences"),ui=n(" et la longueur totale du texte g\xE9n\xE9r\xE9 avec l\u2019argument "),Qt=l("code"),pi=n("max_length"),ci=n("."),Ea=p(),w(ze.$$.fragment),wa=p(),re=l("h2"),Pe=l("a"),Wt=l("span"),w(ms.$$.fragment),mi=p(),ds=l("span"),di=n("Utiliser n'importe quel mod\xE8le du "),Zt=l("i"),fi=n("Hub"),hi=n(" dans un pipeline"),ya=p(),M=l("p"),gi=n("Les exemples pr\xE9c\xE9dents utilisaient le mod\xE8le par d\xE9faut pour la t\xE2che en question mais vous pouvez aussi choisir un mod\xE8le particulier du "),Yt=l("em"),vi=n("Hub"),$i=n(" et l\u2019utiliser dans un pipeline pour une t\xE2che sp\xE9cifique comme par exemple la g\xE9n\xE9ration de texte. Rendez-vous sur le "),fs=l("a"),Kt=l("em"),xi=n("Hub"),qi=n(" et cliquez sur le "),Xt=l("em"),_i=n("filtre"),bi=n(" correspondant sur la gauche pour afficher seulement les mod\xE8les support\xE9s pour cette t\xE2che. Vous devriez arriver sur une page comme "),hs=l("a"),Ei=n("celle-ci"),wi=n("."),ja=p(),Ce=l("p"),yi=n("Essayons le mod\xE8le "),gs=l("a"),en=l("code"),ji=n("distilgpt2"),ki=n(" ! Voici comment charger le mod\xE8le dans le m\xEAme pipeline que pr\xE9c\xE9demment :"),ka=p(),w(vs.$$.fragment),za=p(),w($s.$$.fragment),Pa=p(),V=l("p"),zi=n("Vous pouvez am\xE9liorer votre recherche de mod\xE8le en cliquant sur les "),sn=l("em"),Pi=n("filtres"),Ci=n(" de langue et choisir un mod\xE8le qui g\xE9n\xE8re du texte dans une autre langue. Le "),tn=l("em"),Ii=n("Hub"),Ai=n(" contient \xE9galement des "),nn=l("em"),Li=n("checkpoints"),Hi=n(" pour des mod\xE8les multilingues qui supportent plusieurs langues."),Ca=p(),Bs=l("p"),Si=n("Une fois que vous avez choisi un mod\xE8le, vous verrez que vous pouvez tester son fonctionnement en ligne directement. Cela vous permet de tester rapidement les capacit\xE9s du mod\xE8le avant de le t\xE9l\xE9charger."),Ia=p(),w(Ie.$$.fragment),Aa=p(),ie=l("h3"),Ae=l("a"),an=l("span"),w(xs.$$.fragment),Oi=p(),ln=l("span"),Ti=n("L'API d'inf\xE9rence"),La=p(),Le=l("p"),Ni=n("Tous les mod\xE8les peuvent \xEAtre test\xE9 directement depuis votre navigateur en utilisant l\u2019API d\u2019inf\xE9rence qui est disponible sur le site "),qs=l("a"),Di=n("Hugging Face"),Ri=n(". Vous pouvez jouer avec le mod\xE8le directement sur sa page en entrant du texte personnalis\xE9 et en regardant le mod\xE8le traiter les donn\xE9es d\u2019entr\xE9e."),Ha=p(),Y=l("p"),Mi=n("L\u2019API d\u2019inf\xE9rence qui est utilis\xE9e par le "),rn=l("em"),Fi=n("widget"),Vi=n(" est \xE9galement disponible en tant que produit payant si vous avez besoin de l\u2019API pour votre travail. Consultez la "),_s=l("a"),Ui=n("page des prix"),Gi=n(" pour plus de d\xE9tails."),Sa=p(),oe=l("h2"),He=l("a"),on=l("span"),w(bs.$$.fragment),Bi=p(),un=l("span"),Ji=n("Remplacement des mots manqu\xE9s"),Oa=p(),Se=l("p"),Qi=n("Le prochain pipeline que vous allez essayer est celui de "),pn=l("code"),Wi=n("fill-mask"),Zi=n(". L\u2019id\xE9e de cette t\xE2che est de remplir les mots manqu\xE9s d\u2019un texte donn\xE9 :"),Ta=p(),w(Es.$$.fragment),Na=p(),w(ws.$$.fragment),Da=p(),U=l("p"),Yi=n("L\u2019argument "),cn=l("code"),Ki=n("top_k"),Xi=n(" permet de contr\xF4ler le nombre de possibilit\xE9s que vous souhaitez afficher. Notez que dans ce cas, le mod\xE8le remplace le mot sp\xE9cial "),mn=l("code"),eo=n("<mask>"),so=n(", qui est souvent appel\xE9 un "),dn=l("em"),to=n("mot masqu\xE9"),no=n(". D\u2019autres mod\xE8les permettant de remplacer les mots manquants peuvent avoir des mots masqu\xE9s diff\xE9rents, donc il est toujours bon de v\xE9rifier le mot masqu\xE9 appropri\xE9 lorsque vous comparez d\u2019autres mod\xE8les. Une fa\xE7on de le v\xE9rifier est de regarder le mot masqu\xE9 utilis\xE9 dans l\u2019outil de test de la page du mod\xE8le."),Ra=p(),w(Oe.$$.fragment),Ma=p(),ue=l("h2"),Te=l("a"),fn=l("span"),w(ys.$$.fragment),ao=p(),hn=l("span"),lo=n("Reconnaissance d'entit\xE9s nomm\xE9es"),Fa=p(),Ne=l("p"),ro=n("La reconnaissance d\u2019entit\xE9s nomm\xE9es ou NER (pour "),gn=l("em"),io=n("Named Entity Recognition"),oo=n(") est une t\xE2che o\xF9 le mod\xE8le doit trouver les parties du texte d\u2019entr\xE9e qui correspondent \xE0 des entit\xE9s telles que des personnes, des lieux ou des organisations. Voyons un exemple :"),Va=p(),w(js.$$.fragment),Ua=p(),w(ks.$$.fragment),Ga=p(),Js=l("p"),uo=n("Nous pouvons voir que le mod\xE8le a correctement identifi\xE9 Sylvain comme une personne (PER), Hugging Face comme une organisation (ORG) et Brooklyn comme un lieu (LOC)."),Ba=p(),S=l("p"),po=n("Il est possible d\u2019utiliser l\u2019option "),vn=l("code"),co=n("grouped_entities=True"),mo=n(" lors de la cr\xE9ation du pipeline pour regrouper les parties du texte qui correspondent \xE0 la m\xEAme entit\xE9 : ici le mod\xE8le \xE0 correctement regroup\xE9 "),$n=l("code"),fo=n("Hugging"),ho=n(" et "),xn=l("code"),go=n("Face"),vo=n(" comme une seule organisation, m\xEAme si le nom comporte plusieurs mots. En effet, comme nous allons voir dans le prochain chapitre, la pr\xE9traitement du texte s\xE9pare parfois certains mots en plus petites parties. Par exemple, "),qn=l("code"),$o=n("Sylvain"),xo=n(" est s\xE9par\xE9 en quatre morceaux : "),_n=l("code"),qo=n("S"),_o=n(", "),bn=l("code"),bo=n("##yl"),Eo=n(", "),En=l("code"),wo=n("##va"),yo=n(", et "),wn=l("code"),jo=n("##in"),ko=n(". Dans l\u2019\xE9tape de post-traitement, le pipeline a r\xE9ussi \xE0 regrouper ces morceaux."),Ja=p(),w(De.$$.fragment),Qa=p(),pe=l("h2"),Re=l("a"),yn=l("span"),w(zs.$$.fragment),zo=p(),jn=l("span"),Po=n("R\xE9ponse \xE0 des questions"),Wa=p(),Me=l("p"),Co=n("Le pipeline "),kn=l("code"),Io=n("question-answering"),Ao=n(" r\xE9pond \xE0 des questions en utilisant des informations donn\xE9es en contexte :"),Za=p(),w(Ps.$$.fragment),Ya=p(),w(Cs.$$.fragment),Ka=p(),Qs=l("p"),Lo=n("Notez que ce pipeline fonctionne par extraction d\u2019information depuis le contexte fourni, il ne g\xE9n\xE8re pas la r\xE9ponse."),Xa=p(),ce=l("h2"),Fe=l("a"),zn=l("span"),w(Is.$$.fragment),Ho=p(),Pn=l("span"),So=n("R\xE9sum\xE9"),el=p(),Ws=l("p"),Oo=n("Le r\xE9sum\xE9 est une t\xE2che de r\xE9duction d\u2019un texte en un texte plus court, tout en gardant tous (ou presque tous) les aspects importants r\xE9f\xE9renc\xE9s dans le texte. Voici un exemple :"),sl=p(),w(As.$$.fragment),tl=p(),w(Ls.$$.fragment),nl=p(),K=l("p"),To=n("Comme pour la g\xE9n\xE9ration de texte, vous pouvez sp\xE9cifier une "),Cn=l("code"),No=n("max_length"),Do=n(" (longueur maximale) ou une "),In=l("code"),Ro=n("min_length"),Mo=n(" (longueur minimale) pour le r\xE9sultat."),al=p(),me=l("h2"),Ve=l("a"),An=l("span"),w(Hs.$$.fragment),Fo=p(),Ln=l("span"),Vo=n("Traduction"),ll=p(),X=l("p"),Uo=n("Pour la traduction, vous pouvez utiliser un mod\xE8le par d\xE9faut si vous fournissez un couple de langues dans le nom de la t\xE2che (comme "),Hn=l("code"),Go=n('"translation_en_to_fr"'),Bo=n("), mais le plus simple reste d\u2019utiliser un mod\xE8le ad\xE9quat disponible sur le "),Ss=l("a"),Sn=l("em"),Jo=n("Hub"),Qo=n(". Ici, nous allons essayer de traduire du fran\xE7ais en anglais :"),rl=p(),w(Os.$$.fragment),il=p(),w(Ts.$$.fragment),ol=p(),ee=l("p"),Wo=n("Comme pour la g\xE9n\xE9ration de texte et le r\xE9sum\xE9 de texte, il est possible de sp\xE9cifier une "),On=l("code"),Zo=n("max_length"),Yo=n(" (longueur maximale) ou une "),Tn=l("code"),Ko=n("min_length"),Xo=n(" (longueur minimale) pour le r\xE9sultat."),ul=p(),w(Ue.$$.fragment),pl=p(),Ge=l("p"),eu=n("Les pipelines pr\xE9sent\xE9s jusqu\u2019ici sont principalement destin\xE9s \xE0 des fins de d\xE9monstration. Ils ont \xE9t\xE9 programm\xE9s pour des t\xE2ches sp\xE9cifiques et ne peuvent pas effectuer de variations de celles-ci. Dans le chapitre suivant, vous apprendrez ce qu\u2019il y a dans un "),Nn=l("code"),su=n("pipeline()"),tu=n(" et comment modifier son comportement."),this.h()},l(e){const o=fc('[data-svelte="svelte-1phssyn"]',document.head);m=r(o,"META",{name:!0,content:!0}),o.forEach(t),_=c(e),h=r(e,"H1",{class:!0});var Ns=i(h);b=r(Ns,"A",{id:!0,class:!0,href:!0});var Dn=i(b);q=r(Dn,"SPAN",{});var Rn=i(q);y(g.$$.fragment,Rn),Rn.forEach(t),Dn.forEach(t),I=c(Ns),$=r(Ns,"SPAN",{});var Ds=i($);C=a(Ds,"Que peuvent faire les "),x=r(Ds,"I",{});var Mn=i(x);v=a(Mn,"transformers"),Mn.forEach(t),E=a(Ds," ?"),Ds.forEach(t),Ns.forEach(t),f=c(e),y(A.$$.fragment,e),R=c(e),L=r(e,"P",{});var B=i(L);Rs=a(B,"Dans cette section, nous allons voir ce que peuvent faire les "),at=r(B,"EM",{});var Fn=i(at);Ol=a(Fn,"transformers"),Fn.forEach(t),Tl=a(B," et utiliser notre premier outil de la biblioth\xE8que \u{1F917} "),lt=r(B,"EM",{});var Vn=i(lt);Nl=a(Vn,"Transformers"),Vn.forEach(t),Dl=a(B," : la fonction "),rt=r(B,"CODE",{});var ru=i(rt);Rl=a(ru,"pipeline()"),ru.forEach(t),Ml=a(B,"."),B.forEach(t),Gn=c(e),y(de.$$.fragment,e),Bn=c(e),te=r(e,"H2",{class:!0});var ml=i(te);fe=r(ml,"A",{id:!0,class:!0,href:!0});var iu=i(fe);it=r(iu,"SPAN",{});var ou=i(it);y(Ze.$$.fragment,ou),ou.forEach(t),iu.forEach(t),Fl=c(ml),Ye=r(ml,"SPAN",{});var dl=i(Ye);Vl=a(dl,"Les "),ot=r(dl,"I",{});var uu=i(ot);Ul=a(uu,"transformers"),uu.forEach(t),Gl=a(dl," sont partout !"),dl.forEach(t),ml.forEach(t),Jn=c(e),J=r(e,"P",{});var Zs=i(J);Bl=a(Zs,"Les "),ut=r(Zs,"EM",{});var pu=i(ut);Jl=a(pu,"transformers"),pu.forEach(t),Ql=a(Zs," sont utilis\xE9s pour r\xE9soudre toute sorte de t\xE2ches de NLP comme celles mentionn\xE9es dans la section pr\xE9c\xE9dente. Voici quelques-unes des entreprises et organisations qui utilisent Hugging Face, les "),pt=r(Zs,"EM",{});var cu=i(pt);Wl=a(cu,"transformers"),cu.forEach(t),Zl=a(Zs," et qui contribuent aussi \xE0 la communaut\xE9 en partageant leurs mod\xE8les :"),Zs.forEach(t),Qn=c(e),he=r(e,"IMG",{src:!0,alt:!0,width:!0}),Wn=c(e),F=r(e,"P",{});var Be=i(F);Yl=a(Be,"La biblioth\xE8que "),ge=r(Be,"A",{href:!0,rel:!0});var nu=i(ge);Kl=a(nu,"\u{1F917} "),ct=r(nu,"EM",{});var mu=i(ct);Xl=a(mu,"Transformers"),mu.forEach(t),nu.forEach(t),er=a(Be," fournit toutes les fonctionnalit\xE9s n\xE9cessaires pour cr\xE9er et utiliser les mod\xE8les partag\xE9s. Le "),Ke=r(Be,"A",{href:!0,rel:!0});var du=i(Ke);mt=r(du,"EM",{});var fu=i(mt);sr=a(fu,"Hub"),fu.forEach(t),du.forEach(t),tr=a(Be," contient des milliers de mod\xE8les pr\xE9-entra\xEEn\xE9s que n\u2019importe qui peut t\xE9l\xE9charger et utiliser. Vous pouvez \xE9galement transf\xE9rer vos propres mod\xE8les vers le "),dt=r(Be,"EM",{});var hu=i(dt);nr=a(hu,"Hub"),hu.forEach(t),ar=a(Be," !"),Be.forEach(t),Zn=c(e),y(ve.$$.fragment,e),Yn=c(e),$e=r(e,"P",{});var fl=i($e);lr=a(fl,"Avant de d\xE9couvrir en d\xE9tail comment les "),ft=r(fl,"EM",{});var gu=i(ft);rr=a(gu,"transformers"),gu.forEach(t),ir=a(fl," fonctionnent, nous allons voir quelques exemples de comment ils peuvent \xEAtre utilis\xE9s pour r\xE9soudre des probl\xE8mes int\xE9ressants de NLP."),fl.forEach(t),Kn=c(e),ne=r(e,"H2",{class:!0});var hl=i(ne);xe=r(hl,"A",{id:!0,class:!0,href:!0});var vu=i(xe);ht=r(vu,"SPAN",{});var $u=i(ht);y(Xe.$$.fragment,$u),$u.forEach(t),vu.forEach(t),or=c(hl),gt=r(hl,"SPAN",{});var xu=i(gt);ur=a(xu,"Travailler avec les pipelines"),xu.forEach(t),hl.forEach(t),Xn=c(e),y(es.$$.fragment,e),ea=c(e),Q=r(e,"P",{});var Ys=i(Q);pr=a(Ys,"L\u2019outil le plus basique de la biblioth\xE8que \u{1F917} "),vt=r(Ys,"EM",{});var qu=i(vt);cr=a(qu,"Transformers"),qu.forEach(t),mr=a(Ys," est la fonction "),$t=r(Ys,"CODE",{});var _u=i($t);dr=a(_u,"pipeline()"),_u.forEach(t),fr=a(Ys,". Elle relie un mod\xE8le avec ses \xE9tapes de pr\xE9-traitement et de post-traitement, permettant d\u2019entrer n\u2019importe quel texte et d\u2019obtenir une r\xE9ponse compr\xE9hensible :"),Ys.forEach(t),sa=c(e),y(ss.$$.fragment,e),ta=c(e),y(ts.$$.fragment,e),na=c(e),Ms=r(e,"P",{});var bu=i(Ms);hr=a(bu,"On peut m\xEAme passer plusieurs phrases !"),bu.forEach(t),aa=c(e),y(ns.$$.fragment,e),la=c(e),y(as.$$.fragment,e),ra=c(e),qe=r(e,"P",{});var gl=i(qe);gr=a(gl,"Par d\xE9faut, ce pipeline s\xE9lectionne un mod\xE8le pr\xE9-entra\xEEn\xE9 qui a \xE9t\xE9 sp\xE9cifiquement entra\xEEn\xE9 pour l\u2019analyse de sentiment en anglais. Le mod\xE8le est t\xE9l\xE9charg\xE9 et mis en cache lorsque vous cr\xE9ez l\u2019objet "),xt=r(gl,"CODE",{});var Eu=i(xt);vr=a(Eu,"classifier"),Eu.forEach(t),$r=a(gl,". Si vous r\xE9ex\xE9cutez la commande, c\u2019est le mod\xE8le mis en cache qui sera utilis\xE9 et il n\u2019y a pas besoin de t\xE9l\xE9charger le mod\xE8le \xE0 nouveau."),gl.forEach(t),ia=c(e),Fs=r(e,"P",{});var wu=i(Fs);xr=a(wu,"Il y a trois \xE9tapes principales lorsque vous passez du texte \xE0 un pipeline :"),wu.forEach(t),oa=c(e),W=r(e,"OL",{});var Ks=i(W);qt=r(Ks,"LI",{});var yu=i(qt);qr=a(yu,"le texte est pr\xE9trait\xE9 pour qu\u2019il ait un format compr\xE9hensible par le mod\xE8le,"),yu.forEach(t),_r=c(Ks),_t=r(Ks,"LI",{});var ju=i(_t);br=a(ju,"les donn\xE9es pr\xE9trait\xE9es sont pass\xE9es au mod\xE8le,"),ju.forEach(t),Er=c(Ks),bt=r(Ks,"LI",{});var ku=i(bt);wr=a(ku,"les pr\xE9dictions du mod\xE8le sont post-trait\xE9es de sorte que vous puissiez les comprendre."),ku.forEach(t),Ks.forEach(t),ua=c(e),_e=r(e,"P",{});var vl=i(_e);yr=a(vl,"Voici une liste non-exhaustive des "),ls=r(vl,"A",{href:!0,rel:!0});var zu=i(ls);jr=a(zu,"pipelines disponibles"),zu.forEach(t),kr=a(vl," :"),vl.forEach(t),pa=c(e),H=r(e,"UL",{});var N=i(H);Vs=r(N,"LI",{});var au=i(Vs);Et=r(au,"CODE",{});var Pu=i(Et);zr=a(Pu,"feature-extraction"),Pu.forEach(t),Pr=a(au," (pour obtenir la repr\xE9sentation vectorielle d\u2019un texte)"),au.forEach(t),Cr=c(N),wt=r(N,"LI",{});var Cu=i(wt);yt=r(Cu,"CODE",{});var Iu=i(yt);Ir=a(Iu,"fill-mask"),Iu.forEach(t),Cu.forEach(t),Ar=c(N),be=r(N,"LI",{});var Un=i(be);jt=r(Un,"CODE",{});var Au=i(jt);Lr=a(Au,"ner"),Au.forEach(t),Hr=a(Un," ("),kt=r(Un,"EM",{});var Lu=i(kt);Sr=a(Lu,"named entity recognition"),Lu.forEach(t),Or=a(Un," ou reconnaissance d\u2019entit\xE9s nomm\xE9es en fran\xE7ais)"),Un.forEach(t),Tr=c(N),zt=r(N,"LI",{});var Hu=i(zt);Pt=r(Hu,"CODE",{});var Su=i(Pt);Nr=a(Su,"question-answering"),Su.forEach(t),Hu.forEach(t),Dr=c(N),Ct=r(N,"LI",{});var Ou=i(Ct);It=r(Ou,"CODE",{});var Tu=i(It);Rr=a(Tu,"sentiment-analysis"),Tu.forEach(t),Ou.forEach(t),Mr=c(N),At=r(N,"LI",{});var Nu=i(At);Lt=r(Nu,"CODE",{});var Du=i(Lt);Fr=a(Du,"summarization"),Du.forEach(t),Nu.forEach(t),Vr=c(N),Ht=r(N,"LI",{});var Ru=i(Ht);St=r(Ru,"CODE",{});var Mu=i(St);Ur=a(Mu,"text-generation"),Mu.forEach(t),Ru.forEach(t),Gr=c(N),Ot=r(N,"LI",{});var Fu=i(Ot);Tt=r(Fu,"CODE",{});var Vu=i(Tt);Br=a(Vu,"translation"),Vu.forEach(t),Fu.forEach(t),Jr=c(N),Nt=r(N,"LI",{});var Uu=i(Nt);Dt=r(Uu,"CODE",{});var Gu=i(Dt);Qr=a(Gu,"zero-shot-classification"),Gu.forEach(t),Uu.forEach(t),N.forEach(t),ca=c(e),Us=r(e,"P",{});var Bu=i(Us);Wr=a(Bu,"Regardons de plus pr\xE8s certains d\u2019entre eux !"),Bu.forEach(t),ma=c(e),ae=r(e,"H2",{class:!0});var $l=i(ae);Ee=r($l,"A",{id:!0,class:!0,href:!0});var Ju=i(Ee);Rt=r(Ju,"SPAN",{});var Qu=i(Rt);y(rs.$$.fragment,Qu),Qu.forEach(t),Ju.forEach(t),Zr=c($l),Mt=r($l,"SPAN",{});var Wu=i(Mt);Ft=r(Wu,"I",{});var Zu=i(Ft);Yr=a(Zu,"Zero-shot classification"),Zu.forEach(t),Wu.forEach(t),$l.forEach(t),da=c(e),we=r(e,"P",{});var xl=i(we);Kr=a(xl,"Nous allons commencer par nous attaquer \xE0 une t\xE2che plus difficile o\xF9 nous devons classer des textes qui n\u2019ont pas \xE9t\xE9 annot\xE9s. C\u2019est un sc\xE9nario tr\xE8s r\xE9pandu dans les projets r\xE9els car l\u2019annotation de textes est g\xE9n\xE9ralement longue et n\xE9cessite parfois une expertise dans un domaine. Pour ce cas d\u2019usage, le pipeline "),Vt=r(xl,"CODE",{});var Yu=i(Vt);Xr=a(Yu,"zero-shot-classification"),Yu.forEach(t),ei=a(xl," est tr\xE8s puissant : il vous permet de sp\xE9cifier les labels \xE0 utiliser pour la classification, de sorte que vous n\u2019ayez pas \xE0 vous soucier des labels du mod\xE8le pr\xE9-entra\xEEn\xE9. Nous avons d\xE9j\xE0 vu comment le mod\xE8le peut classer un texte comme positif ou n\xE9gatif en utilisant ces deux labels mais il peut \xE9galement classer le texte en utilisant n\u2019importe quel autre ensemble de labels que vous souhaitez."),xl.forEach(t),fa=c(e),y(is.$$.fragment,e),ha=c(e),y(os.$$.fragment,e),ga=c(e),ye=r(e,"P",{});var ql=i(ye);si=a(ql,"Ce pipeline est appel\xE9 "),Ut=r(ql,"EM",{});var Ku=i(Ut);ti=a(Ku,"zero-shot"),Ku.forEach(t),ni=a(ql," car vous n\u2019avez pas besoin d\u2019entra\xEEner sp\xE9cifiquement le mod\xE8le sur vos donn\xE9es pour l\u2019utiliser. Il peut directement retourner des scores de probabilit\xE9 pour n\u2019importe quel ensemble de labels que vous choisissez !"),ql.forEach(t),va=c(e),y(je.$$.fragment,e),$a=c(e),le=r(e,"H2",{class:!0});var _l=i(le);ke=r(_l,"A",{id:!0,class:!0,href:!0});var Xu=i(ke);Gt=r(Xu,"SPAN",{});var ep=i(Gt);y(us.$$.fragment,ep),ep.forEach(t),Xu.forEach(t),ai=c(_l),Bt=r(_l,"SPAN",{});var sp=i(Bt);li=a(sp,"G\xE9n\xE9ration de texte"),sp.forEach(t),_l.forEach(t),xa=c(e),Gs=r(e,"P",{});var tp=i(Gs);ri=a(tp,"Maintenant, nous allons voir comment utiliser un pipeline pour g\xE9n\xE9rer du texte. L\u2019id\xE9e principale ici est que vous fournissez seulement un extrait de texte qui va \xEAtre compl\xE9t\xE9 par du texte g\xE9n\xE9r\xE9 automatiquement par le mod\xE8le. Cette fonction est similaire \xE0 la fonction de texte pr\xE9dictif que l\u2019on trouve sur de nombreux t\xE9l\xE9phones portables. La g\xE9n\xE9ration de texte implique de l\u2019al\xE9atoire, donc il est normal que vous n\u2019obteniez pas les m\xEAmes r\xE9sultats que ceux pr\xE9sent\xE9s ci-dessous."),tp.forEach(t),qa=c(e),y(ps.$$.fragment,e),_a=c(e),y(cs.$$.fragment,e),ba=c(e),Z=r(e,"P",{});var Xs=i(Z);ii=a(Xs,"Il est possible de contr\xF4ler le nombre de s\xE9quences g\xE9n\xE9r\xE9es avec l\u2019argument "),Jt=r(Xs,"CODE",{});var np=i(Jt);oi=a(np,"num_return_sequences"),np.forEach(t),ui=a(Xs," et la longueur totale du texte g\xE9n\xE9r\xE9 avec l\u2019argument "),Qt=r(Xs,"CODE",{});var ap=i(Qt);pi=a(ap,"max_length"),ap.forEach(t),ci=a(Xs,"."),Xs.forEach(t),Ea=c(e),y(ze.$$.fragment,e),wa=c(e),re=r(e,"H2",{class:!0});var bl=i(re);Pe=r(bl,"A",{id:!0,class:!0,href:!0});var lp=i(Pe);Wt=r(lp,"SPAN",{});var rp=i(Wt);y(ms.$$.fragment,rp),rp.forEach(t),lp.forEach(t),mi=c(bl),ds=r(bl,"SPAN",{});var El=i(ds);di=a(El,"Utiliser n'importe quel mod\xE8le du "),Zt=r(El,"I",{});var ip=i(Zt);fi=a(ip,"Hub"),ip.forEach(t),hi=a(El," dans un pipeline"),El.forEach(t),bl.forEach(t),ya=c(e),M=r(e,"P",{});var se=i(M);gi=a(se,"Les exemples pr\xE9c\xE9dents utilisaient le mod\xE8le par d\xE9faut pour la t\xE2che en question mais vous pouvez aussi choisir un mod\xE8le particulier du "),Yt=r(se,"EM",{});var op=i(Yt);vi=a(op,"Hub"),op.forEach(t),$i=a(se," et l\u2019utiliser dans un pipeline pour une t\xE2che sp\xE9cifique comme par exemple la g\xE9n\xE9ration de texte. Rendez-vous sur le "),fs=r(se,"A",{href:!0,rel:!0});var up=i(fs);Kt=r(up,"EM",{});var pp=i(Kt);xi=a(pp,"Hub"),pp.forEach(t),up.forEach(t),qi=a(se," et cliquez sur le "),Xt=r(se,"EM",{});var cp=i(Xt);_i=a(cp,"filtre"),cp.forEach(t),bi=a(se," correspondant sur la gauche pour afficher seulement les mod\xE8les support\xE9s pour cette t\xE2che. Vous devriez arriver sur une page comme "),hs=r(se,"A",{href:!0,rel:!0});var mp=i(hs);Ei=a(mp,"celle-ci"),mp.forEach(t),wi=a(se,"."),se.forEach(t),ja=c(e),Ce=r(e,"P",{});var wl=i(Ce);yi=a(wl,"Essayons le mod\xE8le "),gs=r(wl,"A",{href:!0,rel:!0});var dp=i(gs);en=r(dp,"CODE",{});var fp=i(en);ji=a(fp,"distilgpt2"),fp.forEach(t),dp.forEach(t),ki=a(wl," ! Voici comment charger le mod\xE8le dans le m\xEAme pipeline que pr\xE9c\xE9demment :"),wl.forEach(t),ka=c(e),y(vs.$$.fragment,e),za=c(e),y($s.$$.fragment,e),Pa=c(e),V=r(e,"P",{});var Je=i(V);zi=a(Je,"Vous pouvez am\xE9liorer votre recherche de mod\xE8le en cliquant sur les "),sn=r(Je,"EM",{});var hp=i(sn);Pi=a(hp,"filtres"),hp.forEach(t),Ci=a(Je," de langue et choisir un mod\xE8le qui g\xE9n\xE8re du texte dans une autre langue. Le "),tn=r(Je,"EM",{});var gp=i(tn);Ii=a(gp,"Hub"),gp.forEach(t),Ai=a(Je," contient \xE9galement des "),nn=r(Je,"EM",{});var vp=i(nn);Li=a(vp,"checkpoints"),vp.forEach(t),Hi=a(Je," pour des mod\xE8les multilingues qui supportent plusieurs langues."),Je.forEach(t),Ca=c(e),Bs=r(e,"P",{});var $p=i(Bs);Si=a($p,"Une fois que vous avez choisi un mod\xE8le, vous verrez que vous pouvez tester son fonctionnement en ligne directement. Cela vous permet de tester rapidement les capacit\xE9s du mod\xE8le avant de le t\xE9l\xE9charger."),$p.forEach(t),Ia=c(e),y(Ie.$$.fragment,e),Aa=c(e),ie=r(e,"H3",{class:!0});var yl=i(ie);Ae=r(yl,"A",{id:!0,class:!0,href:!0});var xp=i(Ae);an=r(xp,"SPAN",{});var qp=i(an);y(xs.$$.fragment,qp),qp.forEach(t),xp.forEach(t),Oi=c(yl),ln=r(yl,"SPAN",{});var _p=i(ln);Ti=a(_p,"L'API d'inf\xE9rence"),_p.forEach(t),yl.forEach(t),La=c(e),Le=r(e,"P",{});var jl=i(Le);Ni=a(jl,"Tous les mod\xE8les peuvent \xEAtre test\xE9 directement depuis votre navigateur en utilisant l\u2019API d\u2019inf\xE9rence qui est disponible sur le site "),qs=r(jl,"A",{href:!0,rel:!0});var bp=i(qs);Di=a(bp,"Hugging Face"),bp.forEach(t),Ri=a(jl,". Vous pouvez jouer avec le mod\xE8le directement sur sa page en entrant du texte personnalis\xE9 et en regardant le mod\xE8le traiter les donn\xE9es d\u2019entr\xE9e."),jl.forEach(t),Ha=c(e),Y=r(e,"P",{});var et=i(Y);Mi=a(et,"L\u2019API d\u2019inf\xE9rence qui est utilis\xE9e par le "),rn=r(et,"EM",{});var Ep=i(rn);Fi=a(Ep,"widget"),Ep.forEach(t),Vi=a(et," est \xE9galement disponible en tant que produit payant si vous avez besoin de l\u2019API pour votre travail. Consultez la "),_s=r(et,"A",{href:!0,rel:!0});var wp=i(_s);Ui=a(wp,"page des prix"),wp.forEach(t),Gi=a(et," pour plus de d\xE9tails."),et.forEach(t),Sa=c(e),oe=r(e,"H2",{class:!0});var kl=i(oe);He=r(kl,"A",{id:!0,class:!0,href:!0});var yp=i(He);on=r(yp,"SPAN",{});var jp=i(on);y(bs.$$.fragment,jp),jp.forEach(t),yp.forEach(t),Bi=c(kl),un=r(kl,"SPAN",{});var kp=i(un);Ji=a(kp,"Remplacement des mots manqu\xE9s"),kp.forEach(t),kl.forEach(t),Oa=c(e),Se=r(e,"P",{});var zl=i(Se);Qi=a(zl,"Le prochain pipeline que vous allez essayer est celui de "),pn=r(zl,"CODE",{});var zp=i(pn);Wi=a(zp,"fill-mask"),zp.forEach(t),Zi=a(zl,". L\u2019id\xE9e de cette t\xE2che est de remplir les mots manqu\xE9s d\u2019un texte donn\xE9 :"),zl.forEach(t),Ta=c(e),y(Es.$$.fragment,e),Na=c(e),y(ws.$$.fragment,e),Da=c(e),U=r(e,"P",{});var Qe=i(U);Yi=a(Qe,"L\u2019argument "),cn=r(Qe,"CODE",{});var Pp=i(cn);Ki=a(Pp,"top_k"),Pp.forEach(t),Xi=a(Qe," permet de contr\xF4ler le nombre de possibilit\xE9s que vous souhaitez afficher. Notez que dans ce cas, le mod\xE8le remplace le mot sp\xE9cial "),mn=r(Qe,"CODE",{});var Cp=i(mn);eo=a(Cp,"<mask>"),Cp.forEach(t),so=a(Qe,", qui est souvent appel\xE9 un "),dn=r(Qe,"EM",{});var Ip=i(dn);to=a(Ip,"mot masqu\xE9"),Ip.forEach(t),no=a(Qe,". D\u2019autres mod\xE8les permettant de remplacer les mots manquants peuvent avoir des mots masqu\xE9s diff\xE9rents, donc il est toujours bon de v\xE9rifier le mot masqu\xE9 appropri\xE9 lorsque vous comparez d\u2019autres mod\xE8les. Une fa\xE7on de le v\xE9rifier est de regarder le mot masqu\xE9 utilis\xE9 dans l\u2019outil de test de la page du mod\xE8le."),Qe.forEach(t),Ra=c(e),y(Oe.$$.fragment,e),Ma=c(e),ue=r(e,"H2",{class:!0});var Pl=i(ue);Te=r(Pl,"A",{id:!0,class:!0,href:!0});var Ap=i(Te);fn=r(Ap,"SPAN",{});var Lp=i(fn);y(ys.$$.fragment,Lp),Lp.forEach(t),Ap.forEach(t),ao=c(Pl),hn=r(Pl,"SPAN",{});var Hp=i(hn);lo=a(Hp,"Reconnaissance d'entit\xE9s nomm\xE9es"),Hp.forEach(t),Pl.forEach(t),Fa=c(e),Ne=r(e,"P",{});var Cl=i(Ne);ro=a(Cl,"La reconnaissance d\u2019entit\xE9s nomm\xE9es ou NER (pour "),gn=r(Cl,"EM",{});var Sp=i(gn);io=a(Sp,"Named Entity Recognition"),Sp.forEach(t),oo=a(Cl,") est une t\xE2che o\xF9 le mod\xE8le doit trouver les parties du texte d\u2019entr\xE9e qui correspondent \xE0 des entit\xE9s telles que des personnes, des lieux ou des organisations. Voyons un exemple :"),Cl.forEach(t),Va=c(e),y(js.$$.fragment,e),Ua=c(e),y(ks.$$.fragment,e),Ga=c(e),Js=r(e,"P",{});var Op=i(Js);uo=a(Op,"Nous pouvons voir que le mod\xE8le a correctement identifi\xE9 Sylvain comme une personne (PER), Hugging Face comme une organisation (ORG) et Brooklyn comme un lieu (LOC)."),Op.forEach(t),Ba=c(e),S=r(e,"P",{});var D=i(S);po=a(D,"Il est possible d\u2019utiliser l\u2019option "),vn=r(D,"CODE",{});var Tp=i(vn);co=a(Tp,"grouped_entities=True"),Tp.forEach(t),mo=a(D," lors de la cr\xE9ation du pipeline pour regrouper les parties du texte qui correspondent \xE0 la m\xEAme entit\xE9 : ici le mod\xE8le \xE0 correctement regroup\xE9 "),$n=r(D,"CODE",{});var Np=i($n);fo=a(Np,"Hugging"),Np.forEach(t),ho=a(D," et "),xn=r(D,"CODE",{});var Dp=i(xn);go=a(Dp,"Face"),Dp.forEach(t),vo=a(D," comme une seule organisation, m\xEAme si le nom comporte plusieurs mots. En effet, comme nous allons voir dans le prochain chapitre, la pr\xE9traitement du texte s\xE9pare parfois certains mots en plus petites parties. Par exemple, "),qn=r(D,"CODE",{});var Rp=i(qn);$o=a(Rp,"Sylvain"),Rp.forEach(t),xo=a(D," est s\xE9par\xE9 en quatre morceaux : "),_n=r(D,"CODE",{});var Mp=i(_n);qo=a(Mp,"S"),Mp.forEach(t),_o=a(D,", "),bn=r(D,"CODE",{});var Fp=i(bn);bo=a(Fp,"##yl"),Fp.forEach(t),Eo=a(D,", "),En=r(D,"CODE",{});var Vp=i(En);wo=a(Vp,"##va"),Vp.forEach(t),yo=a(D,", et "),wn=r(D,"CODE",{});var Up=i(wn);jo=a(Up,"##in"),Up.forEach(t),ko=a(D,". Dans l\u2019\xE9tape de post-traitement, le pipeline a r\xE9ussi \xE0 regrouper ces morceaux."),D.forEach(t),Ja=c(e),y(De.$$.fragment,e),Qa=c(e),pe=r(e,"H2",{class:!0});var Il=i(pe);Re=r(Il,"A",{id:!0,class:!0,href:!0});var Gp=i(Re);yn=r(Gp,"SPAN",{});var Bp=i(yn);y(zs.$$.fragment,Bp),Bp.forEach(t),Gp.forEach(t),zo=c(Il),jn=r(Il,"SPAN",{});var Jp=i(jn);Po=a(Jp,"R\xE9ponse \xE0 des questions"),Jp.forEach(t),Il.forEach(t),Wa=c(e),Me=r(e,"P",{});var Al=i(Me);Co=a(Al,"Le pipeline "),kn=r(Al,"CODE",{});var Qp=i(kn);Io=a(Qp,"question-answering"),Qp.forEach(t),Ao=a(Al," r\xE9pond \xE0 des questions en utilisant des informations donn\xE9es en contexte :"),Al.forEach(t),Za=c(e),y(Ps.$$.fragment,e),Ya=c(e),y(Cs.$$.fragment,e),Ka=c(e),Qs=r(e,"P",{});var Wp=i(Qs);Lo=a(Wp,"Notez que ce pipeline fonctionne par extraction d\u2019information depuis le contexte fourni, il ne g\xE9n\xE8re pas la r\xE9ponse."),Wp.forEach(t),Xa=c(e),ce=r(e,"H2",{class:!0});var Ll=i(ce);Fe=r(Ll,"A",{id:!0,class:!0,href:!0});var Zp=i(Fe);zn=r(Zp,"SPAN",{});var Yp=i(zn);y(Is.$$.fragment,Yp),Yp.forEach(t),Zp.forEach(t),Ho=c(Ll),Pn=r(Ll,"SPAN",{});var Kp=i(Pn);So=a(Kp,"R\xE9sum\xE9"),Kp.forEach(t),Ll.forEach(t),el=c(e),Ws=r(e,"P",{});var Xp=i(Ws);Oo=a(Xp,"Le r\xE9sum\xE9 est une t\xE2che de r\xE9duction d\u2019un texte en un texte plus court, tout en gardant tous (ou presque tous) les aspects importants r\xE9f\xE9renc\xE9s dans le texte. Voici un exemple :"),Xp.forEach(t),sl=c(e),y(As.$$.fragment,e),tl=c(e),y(Ls.$$.fragment,e),nl=c(e),K=r(e,"P",{});var st=i(K);To=a(st,"Comme pour la g\xE9n\xE9ration de texte, vous pouvez sp\xE9cifier une "),Cn=r(st,"CODE",{});var ec=i(Cn);No=a(ec,"max_length"),ec.forEach(t),Do=a(st," (longueur maximale) ou une "),In=r(st,"CODE",{});var sc=i(In);Ro=a(sc,"min_length"),sc.forEach(t),Mo=a(st," (longueur minimale) pour le r\xE9sultat."),st.forEach(t),al=c(e),me=r(e,"H2",{class:!0});var Hl=i(me);Ve=r(Hl,"A",{id:!0,class:!0,href:!0});var tc=i(Ve);An=r(tc,"SPAN",{});var nc=i(An);y(Hs.$$.fragment,nc),nc.forEach(t),tc.forEach(t),Fo=c(Hl),Ln=r(Hl,"SPAN",{});var ac=i(Ln);Vo=a(ac,"Traduction"),ac.forEach(t),Hl.forEach(t),ll=c(e),X=r(e,"P",{});var tt=i(X);Uo=a(tt,"Pour la traduction, vous pouvez utiliser un mod\xE8le par d\xE9faut si vous fournissez un couple de langues dans le nom de la t\xE2che (comme "),Hn=r(tt,"CODE",{});var lc=i(Hn);Go=a(lc,'"translation_en_to_fr"'),lc.forEach(t),Bo=a(tt,"), mais le plus simple reste d\u2019utiliser un mod\xE8le ad\xE9quat disponible sur le "),Ss=r(tt,"A",{href:!0,rel:!0});var rc=i(Ss);Sn=r(rc,"EM",{});var ic=i(Sn);Jo=a(ic,"Hub"),ic.forEach(t),rc.forEach(t),Qo=a(tt,". Ici, nous allons essayer de traduire du fran\xE7ais en anglais :"),tt.forEach(t),rl=c(e),y(Os.$$.fragment,e),il=c(e),y(Ts.$$.fragment,e),ol=c(e),ee=r(e,"P",{});var nt=i(ee);Wo=a(nt,"Comme pour la g\xE9n\xE9ration de texte et le r\xE9sum\xE9 de texte, il est possible de sp\xE9cifier une "),On=r(nt,"CODE",{});var oc=i(On);Zo=a(oc,"max_length"),oc.forEach(t),Yo=a(nt," (longueur maximale) ou une "),Tn=r(nt,"CODE",{});var uc=i(Tn);Ko=a(uc,"min_length"),uc.forEach(t),Xo=a(nt," (longueur minimale) pour le r\xE9sultat."),nt.forEach(t),ul=c(e),y(Ue.$$.fragment,e),pl=c(e),Ge=r(e,"P",{});var Sl=i(Ge);eu=a(Sl,"Les pipelines pr\xE9sent\xE9s jusqu\u2019ici sont principalement destin\xE9s \xE0 des fins de d\xE9monstration. Ils ont \xE9t\xE9 programm\xE9s pour des t\xE2ches sp\xE9cifiques et ne peuvent pas effectuer de variations de celles-ci. Dans le chapitre suivant, vous apprendrez ce qu\u2019il y a dans un "),Nn=r(Sl,"CODE",{});var pc=i(Nn);su=a(pc,"pipeline()"),pc.forEach(t),tu=a(Sl," et comment modifier son comportement."),Sl.forEach(t),this.h()},h(){d(m,"name","hf:doc:metadata"),d(m,"content",JSON.stringify(zc)),d(b,"id","que-peuvent-faire-les-itransformersi"),d(b,"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"),d(b,"href","#que-peuvent-faire-les-itransformersi"),d(h,"class","relative group"),d(fe,"id","les-itransformersi-sont-partout"),d(fe,"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"),d(fe,"href","#les-itransformersi-sont-partout"),d(te,"class","relative group"),hc(he.src,lu="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter1/companies.PNG")||d(he,"src",lu),d(he,"alt","Companies using Hugging Face"),d(he,"width","100%"),d(ge,"href","https://github.com/huggingface/transformers"),d(ge,"rel","nofollow"),d(Ke,"href","https://huggingface.co/models"),d(Ke,"rel","nofollow"),d(xe,"id","travailler-avec-les-pipelines"),d(xe,"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"),d(xe,"href","#travailler-avec-les-pipelines"),d(ne,"class","relative group"),d(ls,"href","https://huggingface.co/transformers/main_classes/pipelines.html"),d(ls,"rel","nofollow"),d(Ee,"id","izeroshot-classificationi"),d(Ee,"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"),d(Ee,"href","#izeroshot-classificationi"),d(ae,"class","relative group"),d(ke,"id","gnration-de-texte"),d(ke,"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"),d(ke,"href","#gnration-de-texte"),d(le,"class","relative group"),d(Pe,"id","utiliser-nimporte-quel-modle-du-ihubi-dans-un-pipeline"),d(Pe,"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"),d(Pe,"href","#utiliser-nimporte-quel-modle-du-ihubi-dans-un-pipeline"),d(re,"class","relative group"),d(fs,"href","https://huggingface.co/models"),d(fs,"rel","nofollow"),d(hs,"href","https://huggingface.co/models?pipeline_tag=text-generation"),d(hs,"rel","nofollow"),d(gs,"href","https://huggingface.co/distilgpt2"),d(gs,"rel","nofollow"),d(Ae,"id","lapi-dinfrence"),d(Ae,"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"),d(Ae,"href","#lapi-dinfrence"),d(ie,"class","relative group"),d(qs,"href","https://huggingface.co/"),d(qs,"rel","nofollow"),d(_s,"href","https://huggingface.co/pricing"),d(_s,"rel","nofollow"),d(He,"id","remplacement-des-mots-manqus"),d(He,"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"),d(He,"href","#remplacement-des-mots-manqus"),d(oe,"class","relative group"),d(Te,"id","reconnaissance-dentits-nommes"),d(Te,"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"),d(Te,"href","#reconnaissance-dentits-nommes"),d(ue,"class","relative group"),d(Re,"id","rponse-des-questions"),d(Re,"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"),d(Re,"href","#rponse-des-questions"),d(pe,"class","relative group"),d(Fe,"id","rsum"),d(Fe,"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"),d(Fe,"href","#rsum"),d(ce,"class","relative group"),d(Ve,"id","traduction"),d(Ve,"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"),d(Ve,"href","#traduction"),d(me,"class","relative group"),d(Ss,"href","https://huggingface.co/models"),d(Ss,"rel","nofollow")},m(e,o){s(document.head,m),u(e,_,o),u(e,h,o),s(h,b),s(b,q),j(g,q,null),s(h,I),s(h,$),s($,C),s($,x),s(x,v),s($,E),u(e,f,o),j(A,e,o),u(e,R,o),u(e,L,o),s(L,Rs),s(L,at),s(at,Ol),s(L,Tl),s(L,lt),s(lt,Nl),s(L,Dl),s(L,rt),s(rt,Rl),s(L,Ml),u(e,Gn,o),j(de,e,o),u(e,Bn,o),u(e,te,o),s(te,fe),s(fe,it),j(Ze,it,null),s(te,Fl),s(te,Ye),s(Ye,Vl),s(Ye,ot),s(ot,Ul),s(Ye,Gl),u(e,Jn,o),u(e,J,o),s(J,Bl),s(J,ut),s(ut,Jl),s(J,Ql),s(J,pt),s(pt,Wl),s(J,Zl),u(e,Qn,o),u(e,he,o),u(e,Wn,o),u(e,F,o),s(F,Yl),s(F,ge),s(ge,Kl),s(ge,ct),s(ct,Xl),s(F,er),s(F,Ke),s(Ke,mt),s(mt,sr),s(F,tr),s(F,dt),s(dt,nr),s(F,ar),u(e,Zn,o),j(ve,e,o),u(e,Yn,o),u(e,$e,o),s($e,lr),s($e,ft),s(ft,rr),s($e,ir),u(e,Kn,o),u(e,ne,o),s(ne,xe),s(xe,ht),j(Xe,ht,null),s(ne,or),s(ne,gt),s(gt,ur),u(e,Xn,o),j(es,e,o),u(e,ea,o),u(e,Q,o),s(Q,pr),s(Q,vt),s(vt,cr),s(Q,mr),s(Q,$t),s($t,dr),s(Q,fr),u(e,sa,o),j(ss,e,o),u(e,ta,o),j(ts,e,o),u(e,na,o),u(e,Ms,o),s(Ms,hr),u(e,aa,o),j(ns,e,o),u(e,la,o),j(as,e,o),u(e,ra,o),u(e,qe,o),s(qe,gr),s(qe,xt),s(xt,vr),s(qe,$r),u(e,ia,o),u(e,Fs,o),s(Fs,xr),u(e,oa,o),u(e,W,o),s(W,qt),s(qt,qr),s(W,_r),s(W,_t),s(_t,br),s(W,Er),s(W,bt),s(bt,wr),u(e,ua,o),u(e,_e,o),s(_e,yr),s(_e,ls),s(ls,jr),s(_e,kr),u(e,pa,o),u(e,H,o),s(H,Vs),s(Vs,Et),s(Et,zr),s(Vs,Pr),s(H,Cr),s(H,wt),s(wt,yt),s(yt,Ir),s(H,Ar),s(H,be),s(be,jt),s(jt,Lr),s(be,Hr),s(be,kt),s(kt,Sr),s(be,Or),s(H,Tr),s(H,zt),s(zt,Pt),s(Pt,Nr),s(H,Dr),s(H,Ct),s(Ct,It),s(It,Rr),s(H,Mr),s(H,At),s(At,Lt),s(Lt,Fr),s(H,Vr),s(H,Ht),s(Ht,St),s(St,Ur),s(H,Gr),s(H,Ot),s(Ot,Tt),s(Tt,Br),s(H,Jr),s(H,Nt),s(Nt,Dt),s(Dt,Qr),u(e,ca,o),u(e,Us,o),s(Us,Wr),u(e,ma,o),u(e,ae,o),s(ae,Ee),s(Ee,Rt),j(rs,Rt,null),s(ae,Zr),s(ae,Mt),s(Mt,Ft),s(Ft,Yr),u(e,da,o),u(e,we,o),s(we,Kr),s(we,Vt),s(Vt,Xr),s(we,ei),u(e,fa,o),j(is,e,o),u(e,ha,o),j(os,e,o),u(e,ga,o),u(e,ye,o),s(ye,si),s(ye,Ut),s(Ut,ti),s(ye,ni),u(e,va,o),j(je,e,o),u(e,$a,o),u(e,le,o),s(le,ke),s(ke,Gt),j(us,Gt,null),s(le,ai),s(le,Bt),s(Bt,li),u(e,xa,o),u(e,Gs,o),s(Gs,ri),u(e,qa,o),j(ps,e,o),u(e,_a,o),j(cs,e,o),u(e,ba,o),u(e,Z,o),s(Z,ii),s(Z,Jt),s(Jt,oi),s(Z,ui),s(Z,Qt),s(Qt,pi),s(Z,ci),u(e,Ea,o),j(ze,e,o),u(e,wa,o),u(e,re,o),s(re,Pe),s(Pe,Wt),j(ms,Wt,null),s(re,mi),s(re,ds),s(ds,di),s(ds,Zt),s(Zt,fi),s(ds,hi),u(e,ya,o),u(e,M,o),s(M,gi),s(M,Yt),s(Yt,vi),s(M,$i),s(M,fs),s(fs,Kt),s(Kt,xi),s(M,qi),s(M,Xt),s(Xt,_i),s(M,bi),s(M,hs),s(hs,Ei),s(M,wi),u(e,ja,o),u(e,Ce,o),s(Ce,yi),s(Ce,gs),s(gs,en),s(en,ji),s(Ce,ki),u(e,ka,o),j(vs,e,o),u(e,za,o),j($s,e,o),u(e,Pa,o),u(e,V,o),s(V,zi),s(V,sn),s(sn,Pi),s(V,Ci),s(V,tn),s(tn,Ii),s(V,Ai),s(V,nn),s(nn,Li),s(V,Hi),u(e,Ca,o),u(e,Bs,o),s(Bs,Si),u(e,Ia,o),j(Ie,e,o),u(e,Aa,o),u(e,ie,o),s(ie,Ae),s(Ae,an),j(xs,an,null),s(ie,Oi),s(ie,ln),s(ln,Ti),u(e,La,o),u(e,Le,o),s(Le,Ni),s(Le,qs),s(qs,Di),s(Le,Ri),u(e,Ha,o),u(e,Y,o),s(Y,Mi),s(Y,rn),s(rn,Fi),s(Y,Vi),s(Y,_s),s(_s,Ui),s(Y,Gi),u(e,Sa,o),u(e,oe,o),s(oe,He),s(He,on),j(bs,on,null),s(oe,Bi),s(oe,un),s(un,Ji),u(e,Oa,o),u(e,Se,o),s(Se,Qi),s(Se,pn),s(pn,Wi),s(Se,Zi),u(e,Ta,o),j(Es,e,o),u(e,Na,o),j(ws,e,o),u(e,Da,o),u(e,U,o),s(U,Yi),s(U,cn),s(cn,Ki),s(U,Xi),s(U,mn),s(mn,eo),s(U,so),s(U,dn),s(dn,to),s(U,no),u(e,Ra,o),j(Oe,e,o),u(e,Ma,o),u(e,ue,o),s(ue,Te),s(Te,fn),j(ys,fn,null),s(ue,ao),s(ue,hn),s(hn,lo),u(e,Fa,o),u(e,Ne,o),s(Ne,ro),s(Ne,gn),s(gn,io),s(Ne,oo),u(e,Va,o),j(js,e,o),u(e,Ua,o),j(ks,e,o),u(e,Ga,o),u(e,Js,o),s(Js,uo),u(e,Ba,o),u(e,S,o),s(S,po),s(S,vn),s(vn,co),s(S,mo),s(S,$n),s($n,fo),s(S,ho),s(S,xn),s(xn,go),s(S,vo),s(S,qn),s(qn,$o),s(S,xo),s(S,_n),s(_n,qo),s(S,_o),s(S,bn),s(bn,bo),s(S,Eo),s(S,En),s(En,wo),s(S,yo),s(S,wn),s(wn,jo),s(S,ko),u(e,Ja,o),j(De,e,o),u(e,Qa,o),u(e,pe,o),s(pe,Re),s(Re,yn),j(zs,yn,null),s(pe,zo),s(pe,jn),s(jn,Po),u(e,Wa,o),u(e,Me,o),s(Me,Co),s(Me,kn),s(kn,Io),s(Me,Ao),u(e,Za,o),j(Ps,e,o),u(e,Ya,o),j(Cs,e,o),u(e,Ka,o),u(e,Qs,o),s(Qs,Lo),u(e,Xa,o),u(e,ce,o),s(ce,Fe),s(Fe,zn),j(Is,zn,null),s(ce,Ho),s(ce,Pn),s(Pn,So),u(e,el,o),u(e,Ws,o),s(Ws,Oo),u(e,sl,o),j(As,e,o),u(e,tl,o),j(Ls,e,o),u(e,nl,o),u(e,K,o),s(K,To),s(K,Cn),s(Cn,No),s(K,Do),s(K,In),s(In,Ro),s(K,Mo),u(e,al,o),u(e,me,o),s(me,Ve),s(Ve,An),j(Hs,An,null),s(me,Fo),s(me,Ln),s(Ln,Vo),u(e,ll,o),u(e,X,o),s(X,Uo),s(X,Hn),s(Hn,Go),s(X,Bo),s(X,Ss),s(Ss,Sn),s(Sn,Jo),s(X,Qo),u(e,rl,o),j(Os,e,o),u(e,il,o),j(Ts,e,o),u(e,ol,o),u(e,ee,o),s(ee,Wo),s(ee,On),s(On,Zo),s(ee,Yo),s(ee,Tn),s(Tn,Ko),s(ee,Xo),u(e,ul,o),j(Ue,e,o),u(e,pl,o),u(e,Ge,o),s(Ge,eu),s(Ge,Nn),s(Nn,su),s(Ge,tu),cl=!0},p(e,[o]){const Ns={};o&2&&(Ns.$$scope={dirty:o,ctx:e}),de.$set(Ns);const Dn={};o&2&&(Dn.$$scope={dirty:o,ctx:e}),ve.$set(Dn);const Rn={};o&2&&(Rn.$$scope={dirty:o,ctx:e}),je.$set(Rn);const Ds={};o&2&&(Ds.$$scope={dirty:o,ctx:e}),ze.$set(Ds);const Mn={};o&2&&(Mn.$$scope={dirty:o,ctx:e}),Ie.$set(Mn);const B={};o&2&&(B.$$scope={dirty:o,ctx:e}),Oe.$set(B);const Fn={};o&2&&(Fn.$$scope={dirty:o,ctx:e}),De.$set(Fn);const Vn={};o&2&&(Vn.$$scope={dirty:o,ctx:e}),Ue.$set(Vn)},i(e){cl||(k(g.$$.fragment,e),k(A.$$.fragment,e),k(de.$$.fragment,e),k(Ze.$$.fragment,e),k(ve.$$.fragment,e),k(Xe.$$.fragment,e),k(es.$$.fragment,e),k(ss.$$.fragment,e),k(ts.$$.fragment,e),k(ns.$$.fragment,e),k(as.$$.fragment,e),k(rs.$$.fragment,e),k(is.$$.fragment,e),k(os.$$.fragment,e),k(je.$$.fragment,e),k(us.$$.fragment,e),k(ps.$$.fragment,e),k(cs.$$.fragment,e),k(ze.$$.fragment,e),k(ms.$$.fragment,e),k(vs.$$.fragment,e),k($s.$$.fragment,e),k(Ie.$$.fragment,e),k(xs.$$.fragment,e),k(bs.$$.fragment,e),k(Es.$$.fragment,e),k(ws.$$.fragment,e),k(Oe.$$.fragment,e),k(ys.$$.fragment,e),k(js.$$.fragment,e),k(ks.$$.fragment,e),k(De.$$.fragment,e),k(zs.$$.fragment,e),k(Ps.$$.fragment,e),k(Cs.$$.fragment,e),k(Is.$$.fragment,e),k(As.$$.fragment,e),k(Ls.$$.fragment,e),k(Hs.$$.fragment,e),k(Os.$$.fragment,e),k(Ts.$$.fragment,e),k(Ue.$$.fragment,e),cl=!0)},o(e){z(g.$$.fragment,e),z(A.$$.fragment,e),z(de.$$.fragment,e),z(Ze.$$.fragment,e),z(ve.$$.fragment,e),z(Xe.$$.fragment,e),z(es.$$.fragment,e),z(ss.$$.fragment,e),z(ts.$$.fragment,e),z(ns.$$.fragment,e),z(as.$$.fragment,e),z(rs.$$.fragment,e),z(is.$$.fragment,e),z(os.$$.fragment,e),z(je.$$.fragment,e),z(us.$$.fragment,e),z(ps.$$.fragment,e),z(cs.$$.fragment,e),z(ze.$$.fragment,e),z(ms.$$.fragment,e),z(vs.$$.fragment,e),z($s.$$.fragment,e),z(Ie.$$.fragment,e),z(xs.$$.fragment,e),z(bs.$$.fragment,e),z(Es.$$.fragment,e),z(ws.$$.fragment,e),z(Oe.$$.fragment,e),z(ys.$$.fragment,e),z(js.$$.fragment,e),z(ks.$$.fragment,e),z(De.$$.fragment,e),z(zs.$$.fragment,e),z(Ps.$$.fragment,e),z(Cs.$$.fragment,e),z(Is.$$.fragment,e),z(As.$$.fragment,e),z(Ls.$$.fragment,e),z(Hs.$$.fragment,e),z(Os.$$.fragment,e),z(Ts.$$.fragment,e),z(Ue.$$.fragment,e),cl=!1},d(e){t(m),e&&t(_),e&&t(h),P(g),e&&t(f),P(A,e),e&&t(R),e&&t(L),e&&t(Gn),P(de,e),e&&t(Bn),e&&t(te),P(Ze),e&&t(Jn),e&&t(J),e&&t(Qn),e&&t(he),e&&t(Wn),e&&t(F),e&&t(Zn),P(ve,e),e&&t(Yn),e&&t($e),e&&t(Kn),e&&t(ne),P(Xe),e&&t(Xn),P(es,e),e&&t(ea),e&&t(Q),e&&t(sa),P(ss,e),e&&t(ta),P(ts,e),e&&t(na),e&&t(Ms),e&&t(aa),P(ns,e),e&&t(la),P(as,e),e&&t(ra),e&&t(qe),e&&t(ia),e&&t(Fs),e&&t(oa),e&&t(W),e&&t(ua),e&&t(_e),e&&t(pa),e&&t(H),e&&t(ca),e&&t(Us),e&&t(ma),e&&t(ae),P(rs),e&&t(da),e&&t(we),e&&t(fa),P(is,e),e&&t(ha),P(os,e),e&&t(ga),e&&t(ye),e&&t(va),P(je,e),e&&t($a),e&&t(le),P(us),e&&t(xa),e&&t(Gs),e&&t(qa),P(ps,e),e&&t(_a),P(cs,e),e&&t(ba),e&&t(Z),e&&t(Ea),P(ze,e),e&&t(wa),e&&t(re),P(ms),e&&t(ya),e&&t(M),e&&t(ja),e&&t(Ce),e&&t(ka),P(vs,e),e&&t(za),P($s,e),e&&t(Pa),e&&t(V),e&&t(Ca),e&&t(Bs),e&&t(Ia),P(Ie,e),e&&t(Aa),e&&t(ie),P(xs),e&&t(La),e&&t(Le),e&&t(Ha),e&&t(Y),e&&t(Sa),e&&t(oe),P(bs),e&&t(Oa),e&&t(Se),e&&t(Ta),P(Es,e),e&&t(Na),P(ws,e),e&&t(Da),e&&t(U),e&&t(Ra),P(Oe,e),e&&t(Ma),e&&t(ue),P(ys),e&&t(Fa),e&&t(Ne),e&&t(Va),P(js,e),e&&t(Ua),P(ks,e),e&&t(Ga),e&&t(Js),e&&t(Ba),e&&t(S),e&&t(Ja),P(De,e),e&&t(Qa),e&&t(pe),P(zs),e&&t(Wa),e&&t(Me),e&&t(Za),P(Ps,e),e&&t(Ya),P(Cs,e),e&&t(Ka),e&&t(Qs),e&&t(Xa),e&&t(ce),P(Is),e&&t(el),e&&t(Ws),e&&t(sl),P(As,e),e&&t(tl),P(Ls,e),e&&t(nl),e&&t(K),e&&t(al),e&&t(me),P(Hs),e&&t(ll),e&&t(X),e&&t(rl),P(Os,e),e&&t(il),P(Ts,e),e&&t(ol),e&&t(ee),e&&t(ul),P(Ue,e),e&&t(pl),e&&t(Ge)}}}const zc={local:"que-peuvent-faire-les-itransformersi",sections:[{local:"les-itransformersi-sont-partout",title:"Les <i>transformers</i> sont partout !"},{local:"travailler-avec-les-pipelines",title:"Travailler avec les pipelines"},{local:"izeroshot-classificationi",title:"<i>Zero-shot classification</i>"},{local:"gnration-de-texte",title:"G\xE9n\xE9ration de texte"},{local:"utiliser-nimporte-quel-modle-du-ihubi-dans-un-pipeline",sections:[{local:"lapi-dinfrence",title:"L'API d'inf\xE9rence"}],title:"Utiliser n'importe quel mod\xE8le du <i>Hub</i> dans un pipeline"},{local:"remplacement-des-mots-manqus",title:"Remplacement des mots manqu\xE9s"},{local:"reconnaissance-dentits-nommes",title:"Reconnaissance d'entit\xE9s nomm\xE9es"},{local:"rponse-des-questions",title:"R\xE9ponse \xE0 des questions"},{local:"rsum",title:"R\xE9sum\xE9"},{local:"traduction",title:"Traduction"}],title:"Que peuvent faire les <i>transformers</i> ?"};function Pc(T){return gc(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Oc extends cc{constructor(m){super();mc(this,m,Pc,kc,dc,{})}}export{Oc as default,zc as metadata};
