import{S as zu,i as Pu,s as Au,e as r,k as p,w as _,t as l,M as Cu,c as a,d as s,m as c,a as i,x as b,h as o,b as d,N as Lu,F as t,g as u,y as q,q as w,o as E,B as y,v as Iu}from"../../chunks/vendor-1e8b365d.js";import{T as Se}from"../../chunks/Tip-62b14c6e.js";import{Y as Tu}from"../../chunks/Youtube-c2a8cc39.js";import{I as D}from"../../chunks/IconCopyLink-483c28ba.js";import{C}from"../../chunks/CodeBlock-e5764662.js";import{D as Hu}from"../../chunks/DocNotebookDropdown-37d928d3.js";function Ou(I){let m,$,h,x,g,f,v,k,L;return{c(){m=l("\u{1F440} Vous voyez ce bouton "),$=r("em"),h=l("Open in Colab"),x=l(` en haut \xE0 droite ? Cliquez dessus pour ouvrir un notebook 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.
`),g=r("p"),f=l("Si vous souhaitez ex\xE9cuter les exemples de code en local, nous vous recommandons de jetez un oeil \xE0: "),v=r("a"),k=l("configuration"),L=l("."),this.h()},l(j){m=o(j,"\u{1F440} Vous voyez ce bouton "),$=a(j,"EM",{});var z=i($);h=o(z,"Open in Colab"),z.forEach(s),x=o(j,` en haut \xE0 droite ? Cliquez dessus pour ouvrir un notebook 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.
`),g=a(j,"P",{});var T=i(g);f=o(T,"Si vous souhaitez ex\xE9cuter les exemples de code en local, nous vous recommandons de jetez un oeil \xE0: "),v=a(T,"A",{href:!0});var P=i(v);k=o(P,"configuration"),P.forEach(s),L=o(T,"."),T.forEach(s),this.h()},h(){d(v,"href","/course/chapter0")},m(j,z){u(j,m,z),u(j,$,z),t($,h),u(j,x,z),u(j,g,z),t(g,f),t(g,v),t(v,k),t(g,L)},d(j){j&&s(m),j&&s($),j&&s(x),j&&s(g)}}}function Su(I){let m,$,h,x;return{c(){m=l("\u26A0\uFE0F Le Hub Hugging Face n'est pas limit\xE9 aux mod\xE8les Transformers. Tout le monde peut partager n'importe quel mod\xE8le ou jeu de donn\xE9es s'il le souhaite ! "),$=r("a"),h=l("Cr\xE9ez un compte sur huggingface.co"),x=l(" pour b\xE9n\xE9ficier de toutes les fonctionnalit\xE9s disponibles !"),this.h()},l(g){m=o(g,"\u26A0\uFE0F Le Hub Hugging Face n'est pas limit\xE9 aux mod\xE8les Transformers. Tout le monde peut partager n'importe quel mod\xE8le ou jeu de donn\xE9es s'il le souhaite ! "),$=a(g,"A",{href:!0});var f=i($);h=o(f,"Cr\xE9ez un compte sur huggingface.co"),f.forEach(s),x=o(g," pour b\xE9n\xE9ficier de toutes les fonctionnalit\xE9s disponibles !"),this.h()},h(){d($,"href","https://huggingface.co/join")},m(g,f){u(g,m,f),u(g,$,f),t($,h),u(g,x,f)},d(g){g&&s(m),g&&s($),g&&s(x)}}}function Nu(I){let m,$,h,x,g;return{c(){m=r("p"),$=l("\u270F\uFE0F "),h=r("strong"),x=l("Essayez-le !"),g=l(" Jouez avec vos propres s\xE9quences et labels et voyez comment le mod\xE8le fonctionne.")},l(f){m=a(f,"P",{});var v=i(m);$=o(v,"\u270F\uFE0F "),h=a(v,"STRONG",{});var k=i(h);x=o(k,"Essayez-le !"),k.forEach(s),g=o(v," Jouez avec vos propres s\xE9quences et labels et voyez comment le mod\xE8le fonctionne."),v.forEach(s)},m(f,v){u(f,m,v),t(m,$),t(m,h),t(h,x),t(m,g)},d(f){f&&s(m)}}}function Du(I){let m,$,h,x,g,f,v,k,L,j,z;return{c(){m=r("p"),$=l("\u270F\uFE0F "),h=r("strong"),x=l("Essayez-le !"),g=l(" Utilisez les arguments "),f=r("code"),v=l("num_return_sequences"),k=l(" et "),L=r("code"),j=l("max_length"),z=l(" pour g\xE9n\xE9rer deux phrases de 15 mots chacune.")},l(T){m=a(T,"P",{});var P=i(m);$=o(P,"\u270F\uFE0F "),h=a(P,"STRONG",{});var zs=i(h);x=o(zs,"Essayez-le !"),zs.forEach(s),g=o(P," Utilisez les arguments "),f=a(P,"CODE",{});var re=i(f);v=o(re,"num_return_sequences"),re.forEach(s),k=o(P," et "),L=a(P,"CODE",{});var Ps=i(L);j=o(Ps,"max_length"),Ps.forEach(s),z=o(P," pour g\xE9n\xE9rer deux phrases de 15 mots chacune."),P.forEach(s)},m(T,P){u(T,m,P),t(m,$),t(m,h),t(h,x),t(m,g),t(m,f),t(f,v),t(m,k),t(m,L),t(L,j),t(m,z)},d(T){T&&s(m)}}}function Ru(I){let m,$,h,x,g;return{c(){m=r("p"),$=l("\u270F\uFE0F "),h=r("strong"),x=l("Essayez-le !"),g=l(" 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 widget et l\u2019utiliser dans un pipeline !")},l(f){m=a(f,"P",{});var v=i(m);$=o(v,"\u270F\uFE0F "),h=a(v,"STRONG",{});var k=i(h);x=o(k,"Essayez-le !"),k.forEach(s),g=o(v," 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 widget et l\u2019utiliser dans un pipeline !"),v.forEach(s)},m(f,v){u(f,m,v),t(m,$),t(m,h),t(h,x),t(m,g)},d(f){f&&s(m)}}}function Fu(I){let m,$,h,x,g,f,v,k;return{c(){m=r("p"),$=l("\u270F\uFE0F "),h=r("strong"),x=l("Essayez-le !"),g=l(" Recherchez le mod\xE8le "),f=r("code"),v=l("bert-base-cased"),k=l(" sur le Hub 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(L){m=a(L,"P",{});var j=i(m);$=o(j,"\u270F\uFE0F "),h=a(j,"STRONG",{});var z=i(h);x=o(z,"Essayez-le !"),z.forEach(s),g=o(j," Recherchez le mod\xE8le "),f=a(j,"CODE",{});var T=i(f);v=o(T,"bert-base-cased"),T.forEach(s),k=o(j," sur le Hub 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 ?"),j.forEach(s)},m(L,j){u(L,m,j),t(m,$),t(m,h),t(h,x),t(m,g),t(m,f),t(f,v),t(m,k)},d(L){L&&s(m)}}}function Vu(I){let m,$,h,x,g;return{c(){m=r("p"),$=l("\u270F\uFE0F "),h=r("strong"),x=l("Essayez-le !"),g=l(" Recherchez sur le Hub un mod\xE8le capable de reconna\xEEtre les diff\xE9rentes parties du langage (Part-of-speech = POS) en Anglais. Que pr\xE9dit le mod\xE8le pour la phrase dans notre exemple du pipeline au-dessus ?")},l(f){m=a(f,"P",{});var v=i(m);$=o(v,"\u270F\uFE0F "),h=a(v,"STRONG",{});var k=i(h);x=o(k,"Essayez-le !"),k.forEach(s),g=o(v," Recherchez sur le Hub un mod\xE8le capable de reconna\xEEtre les diff\xE9rentes parties du langage (Part-of-speech = POS) en Anglais. Que pr\xE9dit le mod\xE8le pour la phrase dans notre exemple du pipeline au-dessus ?"),v.forEach(s)},m(f,v){u(f,m,v),t(m,$),t(m,h),t(h,x),t(m,g)},d(f){f&&s(m)}}}function Gu(I){let m,$,h,x,g;return{c(){m=r("p"),$=l("\u270F\uFE0F "),h=r("strong"),x=l("Essayez-le !"),g=l(" Recherchez d\u2019autres mod\xE8les de traduction sur le Hub et essayez de traduire la phrase pr\xE9c\xE9dente en plusieurs langues diff\xE9rentes.")},l(f){m=a(f,"P",{});var v=i(m);$=o(v,"\u270F\uFE0F "),h=a(v,"STRONG",{});var k=i(h);x=o(k,"Essayez-le !"),k.forEach(s),g=o(v," Recherchez d\u2019autres mod\xE8les de traduction sur le Hub et essayez de traduire la phrase pr\xE9c\xE9dente en plusieurs langues diff\xE9rentes."),v.forEach(s)},m(f,v){u(f,m,v),t(m,$),t(m,h),t(h,x),t(m,g)},d(f){f&&s(m)}}}function Mu(I){let m,$,h,x,g,f,v,k,L,j,z,T,P,zs,re,Ps,ta,fn,ae,hn,Q,le,Ys,Ne,na,Ks,ra,gn,As,aa,vn,oe,Do,$n,R,la,De,oa,ia,Re,ua,pa,xn,ie,_n,Cs,ca,bn,W,ue,Xs,Fe,ma,et,da,qn,Ve,wn,pe,fa,st,ha,ga,En,Ge,yn,Me,jn,Ls,va,kn,Ue,zn,Be,Pn,ce,$a,tt,xa,_a,An,Is,ba,Cn,F,nt,qa,wa,rt,Ea,ya,at,ja,Ln,me,ka,Qe,za,Pa,In,A,Ts,lt,Aa,Ca,La,ot,it,Ia,Ta,Hs,ut,Ha,Oa,Sa,pt,ct,Na,Da,mt,dt,Ra,Fa,ft,ht,Va,Ga,gt,vt,Ma,Ua,$t,xt,Ba,Qa,_t,bt,Wa,Tn,Os,Za,Hn,Z,de,qt,We,Ja,wt,Ya,On,fe,Ka,Et,Xa,el,Sn,Ze,Nn,Je,Dn,he,sl,yt,tl,nl,Rn,ge,Fn,J,ve,jt,Ye,rl,kt,al,Vn,Ss,ll,Gn,Ke,Mn,Xe,Un,V,ol,zt,il,ul,Pt,pl,cl,Bn,$e,Qn,Y,xe,At,es,ml,Ct,dl,Wn,G,fl,ss,hl,gl,ts,vl,$l,Zn,_e,xl,ns,Lt,_l,bl,Jn,rs,Yn,as,Kn,Ns,ql,Xn,Ds,wl,er,be,sr,K,qe,It,ls,El,Tt,yl,tr,we,jl,os,kl,zl,nr,Ee,Pl,is,Al,Cl,rr,X,ye,Ht,us,Ll,Ot,Il,ar,je,Tl,St,Hl,Ol,lr,ps,or,cs,ir,N,Sl,Nt,Nl,Dl,Dt,Rl,Fl,Rt,Vl,Gl,ur,ke,pr,ee,ze,Ft,ms,Ml,Vt,Ul,cr,Rs,Bl,mr,ds,dr,fs,fr,Fs,Ql,hr,H,Wl,Gt,Zl,Jl,Mt,Yl,Kl,Ut,Xl,eo,Bt,so,to,Qt,no,ro,Wt,ao,lo,gr,Pe,vr,se,Ae,Zt,hs,oo,Jt,io,$r,Ce,uo,Yt,po,co,xr,gs,_r,vs,br,Vs,mo,qr,te,Le,Kt,$s,fo,Xt,ho,wr,Gs,go,Er,xs,yr,_s,jr,M,vo,en,$o,xo,sn,_o,bo,kr,ne,Ie,tn,bs,qo,nn,wo,zr,U,Eo,rn,yo,jo,qs,ko,zo,Pr,ws,Ar,Es,Cr,B,Po,an,Ao,Co,ln,Lo,Io,Lr,Te,Ir,He,To,on,Ho,Oo,Tr;return f=new D({}),z=new Hu({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/chapter1/section3.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/chapter1/section3.ipynb"}]}}),ae=new Se({props:{$$slots:{default:[Ou]},$$scope:{ctx:I}}}),Ne=new D({}),ie=new Se({props:{$$slots:{default:[Su]},$$scope:{ctx:I}}}),Fe=new D({}),Ve=new Tu({props:{id:"tiZFewofSLM"}}),Ge=new C({props:{code:`from transformers import pipeline

classifier = pipeline("sentiment-analysis")
classifier("I've been waiting for a HuggingFace course my whole life.")`,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>)`}}),Me=new C({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>}]'}}),Ue=new C({props:{code:`classifier(
    ["I've been waiting for a HuggingFace course my whole life.", "I hate this so much!"]
)`,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>]
)`}}),Be=new C({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>}]`}}),We=new D({}),Ze=new C({props:{code:`from transformers import pipeline

classifier = pipeline("zero-shot-classification")
classifier(
    "This is a course about the Transformers library",
    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>,
    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>],
)`}}),Je=new C({props:{code:`{'sequence': 'This is a course about the Transformers library',
 '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-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>]}`}}),ge=new Se({props:{$$slots:{default:[Nu]},$$scope:{ctx:I}}}),Ye=new D({}),Ke=new C({props:{code:`from transformers import pipeline

generator = pipeline("text-generation")
generator("In this course, we will teach you how to")`,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>)`}}),Xe=new C({props:{code:`[{'generated_text': 'In this course, we will teach you how to understand and use '
                    'data flow and data interchange when handling user data. We '
                    'will be working with one or more of the most commonly used '
                    'data flows \u2014 data flows of various types, as seen by the '
                    '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-string">&#x27;data flow and data interchange when handling user data. We &#x27;</span>
                    <span class="hljs-string">&#x27;will be working with one or more of the most commonly used &#x27;</span>
                    <span class="hljs-string">&#x27;data flows \u2014 data flows of various types, as seen by the &#x27;</span>
                    <span class="hljs-string">&#x27;HTTP&#x27;</span>}]`}}),$e=new Se({props:{$$slots:{default:[Du]},$$scope:{ctx:I}}}),es=new D({}),rs=new C({props:{code:`from transformers import pipeline

generator = pipeline("text-generation", model="distilgpt2")
generator(
    "In this course, we will teach you how to",
    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>,
    max_length=<span class="hljs-number">30</span>,
    num_return_sequences=<span class="hljs-number">2</span>,
)`}}),as=new C({props:{code:`[{'generated_text': 'In this course, we will teach you how to manipulate the world and '
                    'move your mental and physical capabilities to your advantage.'},
 {'generated_text': 'In this course, we will teach you how to become an expert and '
                    'practice realtime, and with a hands on experience on both real '
                    'time and real'}]`,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-string">&#x27;move your mental and physical capabilities to your advantage.&#x27;</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-string">&#x27;practice realtime, and with a hands on experience on both real &#x27;</span>
                    <span class="hljs-string">&#x27;time and real&#x27;</span>}]`}}),be=new Se({props:{$$slots:{default:[Ru]},$$scope:{ctx:I}}}),ls=new D({}),us=new D({}),ps=new C({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>)`}}),cs=new C({props:{code:`[{'sequence': 'This course will teach you all about mathematical models.',
  'score': 0.19619831442832947,
  'token': 30412,
  'token_str': ' mathematical'},
 {'sequence': 'This course will teach you all about computational models.',
  '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-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-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>}]`}}),ke=new Se({props:{$$slots:{default:[Fu]},$$scope:{ctx:I}}}),ms=new D({}),ds=new C({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.")`,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>)`}}),fs=new C({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>}
]`}}),Pe=new Se({props:{$$slots:{default:[Vu]},$$scope:{ctx:I}}}),hs=new D({}),gs=new C({props:{code:`from transformers import pipeline

question_answerer = pipeline("question-answering")
question_answerer(
    question="Where do I work?",
    context="My name is Sylvain and I work at Hugging Face in 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>,
    context=<span class="hljs-string">&quot;My name is Sylvain and I work at Hugging Face in Brooklyn&quot;</span>,
)`}}),vs=new C({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>}'}}),$s=new D({}),xs=new C({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.
"""
)`,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>
)`}}),_s=new C({props:{code:`[{'summary_text': ' America has changed dramatically during recent years . The '
                  'number of engineering graduates in the U.S. has declined in '
                  'traditional engineering disciplines such as mechanical, civil '
                  ', electrical, chemical, and aeronautical engineering . Rapidly '
                  'developing economies such as China and India, as well as other '
                  'industrial countries in Europe and Asia, continue to encourage '
                  'and advance engineering .'}]`,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-string">&#x27;number of engineering graduates in the U.S. has declined in &#x27;</span>
                  <span class="hljs-string">&#x27;traditional engineering disciplines such as mechanical, civil &#x27;</span>
                  <span class="hljs-string">&#x27;, electrical, chemical, and aeronautical engineering . Rapidly &#x27;</span>
                  <span class="hljs-string">&#x27;developing economies such as China and India, as well as other &#x27;</span>
                  <span class="hljs-string">&#x27;industrial countries in Europe and Asia, continue to encourage &#x27;</span>
                  <span class="hljs-string">&#x27;and advance engineering .&#x27;</span>}]`}}),bs=new D({}),ws=new C({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>)`}}),Es=new C({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>}]'}}),Te=new Se({props:{$$slots:{default:[Gu]},$$scope:{ctx:I}}}),{c(){m=r("meta"),$=p(),h=r("h1"),x=r("a"),g=r("span"),_(f.$$.fragment),v=p(),k=r("span"),L=l("Que peuvent faire les mod\xE8les Transformers ?"),j=p(),_(z.$$.fragment),T=p(),P=r("p"),zs=l("Dans cette section, nous allons voir ce que peuvent faire les mod\xE8les Transformers et utiliser notre premier outil de la librairie \u{1F917} Transformers: la fonction "),re=r("code"),Ps=l("pipeline()"),ta=l("."),fn=p(),_(ae.$$.fragment),hn=p(),Q=r("h2"),le=r("a"),Ys=r("span"),_(Ne.$$.fragment),na=p(),Ks=r("span"),ra=l("Les mod\xE8les Transformers sont partout !"),gn=p(),As=r("p"),aa=l("Les mod\xE8les Transformers 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 et les mod\xE8les Transformers, et qui contribuent aussi \xE0 la communaut\xE9 en partageant leurs mod\xE8les :"),vn=p(),oe=r("img"),$n=p(),R=r("p"),la=l("La librairie "),De=r("a"),oa=l("\u{1F917} Transformers"),ia=l(" fournit toutes les fonctionnalit\xE9s n\xE9cessaires pour cr\xE9er et utiliser les mod\xE8les partag\xE9s. Le "),Re=r("a"),ua=l("Model Hub"),pa=l(" 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 Hub !"),xn=p(),_(ie.$$.fragment),_n=p(),Cs=r("p"),ca=l("Avant de d\xE9couvrir en d\xE9tail comment les mod\xE8les Transformers fonctionnent, nous allons voir quelques exemples de comment ils peuvent \xEAtre utilis\xE9s pour r\xE9soudre des probl\xE8mes NLP int\xE9ressants."),bn=p(),W=r("h2"),ue=r("a"),Xs=r("span"),_(Fe.$$.fragment),ma=p(),et=r("span"),da=l("Travailler avec des pipelines"),qn=p(),_(Ve.$$.fragment),wn=p(),pe=r("p"),fa=l("L\u2019outil le plus basique de la librairie \u{1F917} Transformers est la fonction "),st=r("code"),ha=l("pipeline()"),ga=l(". 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 :"),En=p(),_(Ge.$$.fragment),yn=p(),_(Me.$$.fragment),jn=p(),Ls=r("p"),va=l("On peut m\xEAme passer plusieurs phrases !"),kn=p(),_(Ue.$$.fragment),zn=p(),_(Be.$$.fragment),Pn=p(),ce=r("p"),$a=l("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 "),tt=r("code"),xa=l("classifier"),_a=l(". 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."),An=p(),Is=r("p"),ba=l("Il y a trois \xE9tapes principales lorsque vous passez du texte \xE0 un pipeline :"),Cn=p(),F=r("ol"),nt=r("li"),qa=l("Le texte est pr\xE9-trait\xE9 pour qu\u2019il ait un format compr\xE9hensible par le mod\xE8le."),wa=p(),rt=r("li"),Ea=l("Les donn\xE9es pr\xE9-trait\xE9es sont pass\xE9es au mod\xE8le."),ya=p(),at=r("li"),ja=l("Les pr\xE9dictions du mod\xE8le sont post-trait\xE9s, de sorte que vous puissiez les comprendre."),Ln=p(),me=r("p"),ka=l("Voici une liste non-exhaustive des "),Qe=r("a"),za=l("pipelines disponibles"),Pa=l(" :"),In=p(),A=r("ul"),Ts=r("li"),lt=r("code"),Aa=l("feature-extraction"),Ca=l(" (pour obtenir la repr\xE9sentation vectorielle d\u2019un texte)"),La=p(),ot=r("li"),it=r("code"),Ia=l("fill-mask"),Ta=p(),Hs=r("li"),ut=r("code"),Ha=l("ner"),Oa=l(" (named entity recognition = reconnaissance des entit\xE9s nomm\xE9es)"),Sa=p(),pt=r("li"),ct=r("code"),Na=l("question-answering"),Da=p(),mt=r("li"),dt=r("code"),Ra=l("sentiment-analysis"),Fa=p(),ft=r("li"),ht=r("code"),Va=l("summarization"),Ga=p(),gt=r("li"),vt=r("code"),Ma=l("text-generation"),Ua=p(),$t=r("li"),xt=r("code"),Ba=l("translation"),Qa=p(),_t=r("li"),bt=r("code"),Wa=l("zero-shot-classification"),Tn=p(),Os=r("p"),Za=l("Regardons de plus pr\xE8s certains d\u2019entre-eux !"),Hn=p(),Z=r("h2"),de=r("a"),qt=r("span"),_(We.$$.fragment),Ja=p(),wt=r("span"),Ya=l("Zero-shot classification"),On=p(),fe=r("p"),Ka=l("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 texte est g\xE9n\xE9ralement longue et n\xE9cessite parfois une expertise dans un domaine. Pour ce cas d\u2019usage, le pipeline "),Et=r("code"),Xa=l("zero-shot-classification"),el=l(" 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."),Sn=p(),_(Ze.$$.fragment),Nn=p(),_(Je.$$.fragment),Dn=p(),he=r("p"),sl=l("Ce pipeline est appel\xE9 "),yt=r("em"),tl=l("zero-shot"),nl=l(" 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 !"),Rn=p(),_(ge.$$.fragment),Fn=p(),J=r("h2"),ve=r("a"),jt=r("span"),_(Ye.$$.fragment),rl=p(),kt=r("span"),al=l("G\xE9n\xE9ration de texte"),Vn=p(),Ss=r("p"),ll=l("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. C\u2019est similaire \xE0 la fonctionnalit\xE9 de pr\xE9diction de texte qui est tr\xE8s pr\xE9sente dans les appareils mobiles. 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."),Gn=p(),_(Ke.$$.fragment),Mn=p(),_(Xe.$$.fragment),Un=p(),V=r("p"),ol=l("Il est possible de contr\xF4ler le nombre de s\xE9quences g\xE9n\xE9r\xE9es avec l\u2019argument "),zt=r("code"),il=l("num_return_sequences"),ul=l(" et la longueur totale du texte g\xE9n\xE9r\xE9 avec l\u2019argument "),Pt=r("code"),pl=l("max_length"),cl=l("."),Bn=p(),_($e.$$.fragment),Qn=p(),Y=r("h2"),xe=r("a"),At=r("span"),_(es.$$.fragment),ml=p(),Ct=r("span"),dl=l("Utiliser n'importe quel mod\xE8le du Hub dans un pipeline"),Wn=p(),G=r("p"),fl=l("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 Hub et l\u2019utiliser dans un pipeline pour une t\xE2che sp\xE9cifique \u2014 par exemple, la g\xE9n\xE9ration de texte. Rendez-vous sur la "),ss=r("a"),hl=l("page du Hub de mod\xE8les"),gl=l(" et cliquez sur le tag correspondant sur la gauche pour afficher seulement les mod\xE8les support\xE9s pour cette t\xE2che. Vous devriez arriver sur une page comme "),ts=r("a"),vl=l("celle-ci"),$l=l("."),Zn=p(),_e=r("p"),xl=l("Essayons le mod\xE8le "),ns=r("a"),Lt=r("code"),_l=l("distilgpt2"),bl=l(" ! Voici comment charger le mod\xE8le dans le m\xEAme pipeline que pr\xE9c\xE9demment :"),Jn=p(),_(rs.$$.fragment),Yn=p(),_(as.$$.fragment),Kn=p(),Ns=r("p"),ql=l("Vous pouvez am\xE9liorer votre recherche de mod\xE8le en cliquant sur les tags de langue, et choisir un mod\xE8le qui g\xE9n\xE8re du texte dans une autre langue. Le Hub de mod\xE8les contient \xE9galement des sauvegardes pour des mod\xE8les multilingues qui supportent plusieurs langues."),Xn=p(),Ds=r("p"),wl=l("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."),er=p(),_(be.$$.fragment),sr=p(),K=r("h3"),qe=r("a"),It=r("span"),_(ls.$$.fragment),El=p(),Tt=r("span"),yl=l("L'API d'inf\xE9rence"),tr=p(),we=r("p"),jl=l("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 "),os=r("a"),kl=l("Hugging Face"),zl=l(". 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."),nr=p(),Ee=r("p"),Pl=l("L\u2019API d\u2019inf\xE9rence qui est utilis\xE9e par le widget est \xE9galement disponible en tant que produit payant, qui est utile si vous avez besoin de l\u2019API pour votre travail. Consultez la "),is=r("a"),Al=l("page des prix"),Cl=l(" pour plus de d\xE9tails."),rr=p(),X=r("h2"),ye=r("a"),Ht=r("span"),_(us.$$.fragment),Ll=p(),Ot=r("span"),Il=l("Remplacement des mots manquants"),ar=p(),je=r("p"),Tl=l("Le prochain pipeline que vous allez essayer est celui de "),St=r("code"),Hl=l("fill-mask"),Ol=l(". L\u2019id\xE9e de cette t\xE2che est de remplir les mots manquants d\u2019un texte donn\xE9 :"),lr=p(),_(ps.$$.fragment),or=p(),_(cs.$$.fragment),ir=p(),N=r("p"),Sl=l("L\u2019argument "),Nt=r("code"),Nl=l("top_k"),Dl=l(" 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 "),Dt=r("code"),Rl=l("<mask>"),Fl=l(", qui est souvent appel\xE9 un "),Rt=r("em"),Vl=l("mot masqu\xE9"),Gl=l(". 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."),ur=p(),_(ke.$$.fragment),pr=p(),ee=r("h2"),ze=r("a"),Ft=r("span"),_(ms.$$.fragment),Ml=p(),Vt=r("span"),Ul=l("Reconnaissance d'entit\xE9s nomm\xE9es"),cr=p(),Rs=r("p"),Bl=l("La reconnaissance d\u2019entit\xE9s nomm\xE9es (NER = Named Entity Recognition) 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 :"),mr=p(),_(ds.$$.fragment),dr=p(),_(fs.$$.fragment),fr=p(),Fs=r("p"),Ql=l("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)."),hr=p(),H=r("p"),Wl=l("Il est possible d\u2019utiliser l\u2019option "),Gt=r("code"),Zl=l("grouped_entities=True"),Jl=l(" 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 \u201CHugging\u201D et \u201CFace\u201D comme une seule organisation, m\xEAme si le nom comporte plusieurs mots. En effet, comme nous allons voir dans la prochaine chapitre, la pr\xE9traitement du texte s\xE9pare parfois certains mots en plus petites parties. Par exemple, "),Mt=r("code"),Yl=l("Sylvain"),Kl=l(" est s\xE9par\xE9 en quatre morceaux: "),Ut=r("code"),Xl=l("S"),eo=l(", "),Bt=r("code"),so=l("##yl"),to=l(", "),Qt=r("code"),no=l("##va"),ro=l(", et "),Wt=r("code"),ao=l("##in"),lo=l(". Dans l\u2019\xE9tape de post-traitement, le pipeline a r\xE9ussi \xE0 regrouper ces morceaux."),gr=p(),_(Pe.$$.fragment),vr=p(),se=r("h2"),Ae=r("a"),Zt=r("span"),_(hs.$$.fragment),oo=p(),Jt=r("span"),io=l("R\xE9ponse \xE0 des questions"),$r=p(),Ce=r("p"),uo=l("Le pipeline "),Yt=r("code"),po=l("question-answering"),co=l(" r\xE9pond \xE0 des questions en utilisant des informations donn\xE9es en contexte :"),xr=p(),_(gs.$$.fragment),_r=p(),_(vs.$$.fragment),br=p(),Vs=r("p"),mo=l("Notez que ce pipeline fonctionne par extraction d\u2019information depuis le contexte fourni, il ne g\xE9n\xE8re pas la r\xE9ponse."),qr=p(),te=r("h2"),Le=r("a"),Kt=r("span"),_($s.$$.fragment),fo=p(),Xt=r("span"),ho=l("R\xE9sum\xE9"),wr=p(),Gs=r("p"),go=l("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 :"),Er=p(),_(xs.$$.fragment),yr=p(),_(_s.$$.fragment),jr=p(),M=r("p"),vo=l("Comme pour la g\xE9n\xE9ration de texte, vous pouvez sp\xE9cifier une "),en=r("code"),$o=l("max_length"),xo=l(" (longueur maximale) ou une "),sn=r("code"),_o=l("min_length"),bo=l(" (longueur minimale) pour le r\xE9sultat."),kr=p(),ne=r("h2"),Ie=r("a"),tn=r("span"),_(bs.$$.fragment),qo=p(),nn=r("span"),wo=l("Traduction"),zr=p(),U=r("p"),Eo=l("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 "),rn=r("code"),yo=l('"translation_en_to_fr"'),jo=l("), mais le plus simple reste d\u2019utiliser un mod\xE8le ad\xE9quat disponible sur le "),qs=r("a"),ko=l("Model Hub"),zo=l(". Ici, nous allons essayer de traduire du fran\xE7ais en anglais :"),Pr=p(),_(ws.$$.fragment),Ar=p(),_(Es.$$.fragment),Cr=p(),B=r("p"),Po=l("Comme pour la g\xE9n\xE9ration de texte et le r\xE9sum\xE9 de texte, il est possible de sp\xE9cifier une "),an=r("code"),Ao=l("max_length"),Co=l(" (longueur maximale) ou une "),ln=r("code"),Lo=l("min_length"),Io=l(" (longueur minimale) pour le r\xE9sultat."),Lr=p(),_(Te.$$.fragment),Ir=p(),He=r("p"),To=l("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 "),on=r("code"),Ho=l("pipeline()"),Oo=l(" et comment modifier son comportement."),this.h()},l(e){const n=Cu('[data-svelte="svelte-1phssyn"]',document.head);m=a(n,"META",{name:!0,content:!0}),n.forEach(s),$=c(e),h=a(e,"H1",{class:!0});var ys=i(h);x=a(ys,"A",{id:!0,class:!0,href:!0});var un=i(x);g=a(un,"SPAN",{});var pn=i(g);b(f.$$.fragment,pn),pn.forEach(s),un.forEach(s),v=c(ys),k=a(ys,"SPAN",{});var cn=i(k);L=o(cn,"Que peuvent faire les mod\xE8les Transformers ?"),cn.forEach(s),ys.forEach(s),j=c(e),b(z.$$.fragment,e),T=c(e),P=a(e,"P",{});var js=i(P);zs=o(js,"Dans cette section, nous allons voir ce que peuvent faire les mod\xE8les Transformers et utiliser notre premier outil de la librairie \u{1F917} Transformers: la fonction "),re=a(js,"CODE",{});var mn=i(re);Ps=o(mn,"pipeline()"),mn.forEach(s),ta=o(js,"."),js.forEach(s),fn=c(e),b(ae.$$.fragment,e),hn=c(e),Q=a(e,"H2",{class:!0});var ks=i(Q);le=a(ks,"A",{id:!0,class:!0,href:!0});var dn=i(le);Ys=a(dn,"SPAN",{});var Ro=i(Ys);b(Ne.$$.fragment,Ro),Ro.forEach(s),dn.forEach(s),na=c(ks),Ks=a(ks,"SPAN",{});var Fo=i(Ks);ra=o(Fo,"Les mod\xE8les Transformers sont partout !"),Fo.forEach(s),ks.forEach(s),gn=c(e),As=a(e,"P",{});var Vo=i(As);aa=o(Vo,"Les mod\xE8les Transformers 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 et les mod\xE8les Transformers, et qui contribuent aussi \xE0 la communaut\xE9 en partageant leurs mod\xE8les :"),Vo.forEach(s),vn=c(e),oe=a(e,"IMG",{src:!0,alt:!0,width:!0}),$n=c(e),R=a(e,"P",{});var Ms=i(R);la=o(Ms,"La librairie "),De=a(Ms,"A",{href:!0,rel:!0});var Go=i(De);oa=o(Go,"\u{1F917} Transformers"),Go.forEach(s),ia=o(Ms," fournit toutes les fonctionnalit\xE9s n\xE9cessaires pour cr\xE9er et utiliser les mod\xE8les partag\xE9s. Le "),Re=a(Ms,"A",{href:!0,rel:!0});var Mo=i(Re);ua=o(Mo,"Model Hub"),Mo.forEach(s),pa=o(Ms," 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 Hub !"),Ms.forEach(s),xn=c(e),b(ie.$$.fragment,e),_n=c(e),Cs=a(e,"P",{});var Uo=i(Cs);ca=o(Uo,"Avant de d\xE9couvrir en d\xE9tail comment les mod\xE8les Transformers fonctionnent, nous allons voir quelques exemples de comment ils peuvent \xEAtre utilis\xE9s pour r\xE9soudre des probl\xE8mes NLP int\xE9ressants."),Uo.forEach(s),bn=c(e),W=a(e,"H2",{class:!0});var Hr=i(W);ue=a(Hr,"A",{id:!0,class:!0,href:!0});var Bo=i(ue);Xs=a(Bo,"SPAN",{});var Qo=i(Xs);b(Fe.$$.fragment,Qo),Qo.forEach(s),Bo.forEach(s),ma=c(Hr),et=a(Hr,"SPAN",{});var Wo=i(et);da=o(Wo,"Travailler avec des pipelines"),Wo.forEach(s),Hr.forEach(s),qn=c(e),b(Ve.$$.fragment,e),wn=c(e),pe=a(e,"P",{});var Or=i(pe);fa=o(Or,"L\u2019outil le plus basique de la librairie \u{1F917} Transformers est la fonction "),st=a(Or,"CODE",{});var Zo=i(st);ha=o(Zo,"pipeline()"),Zo.forEach(s),ga=o(Or,". 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 :"),Or.forEach(s),En=c(e),b(Ge.$$.fragment,e),yn=c(e),b(Me.$$.fragment,e),jn=c(e),Ls=a(e,"P",{});var Jo=i(Ls);va=o(Jo,"On peut m\xEAme passer plusieurs phrases !"),Jo.forEach(s),kn=c(e),b(Ue.$$.fragment,e),zn=c(e),b(Be.$$.fragment,e),Pn=c(e),ce=a(e,"P",{});var Sr=i(ce);$a=o(Sr,"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 "),tt=a(Sr,"CODE",{});var Yo=i(tt);xa=o(Yo,"classifier"),Yo.forEach(s),_a=o(Sr,". 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."),Sr.forEach(s),An=c(e),Is=a(e,"P",{});var Ko=i(Is);ba=o(Ko,"Il y a trois \xE9tapes principales lorsque vous passez du texte \xE0 un pipeline :"),Ko.forEach(s),Cn=c(e),F=a(e,"OL",{});var Us=i(F);nt=a(Us,"LI",{});var Xo=i(nt);qa=o(Xo,"Le texte est pr\xE9-trait\xE9 pour qu\u2019il ait un format compr\xE9hensible par le mod\xE8le."),Xo.forEach(s),wa=c(Us),rt=a(Us,"LI",{});var ei=i(rt);Ea=o(ei,"Les donn\xE9es pr\xE9-trait\xE9es sont pass\xE9es au mod\xE8le."),ei.forEach(s),ya=c(Us),at=a(Us,"LI",{});var si=i(at);ja=o(si,"Les pr\xE9dictions du mod\xE8le sont post-trait\xE9s, de sorte que vous puissiez les comprendre."),si.forEach(s),Us.forEach(s),Ln=c(e),me=a(e,"P",{});var Nr=i(me);ka=o(Nr,"Voici une liste non-exhaustive des "),Qe=a(Nr,"A",{href:!0,rel:!0});var ti=i(Qe);za=o(ti,"pipelines disponibles"),ti.forEach(s),Pa=o(Nr," :"),Nr.forEach(s),In=c(e),A=a(e,"UL",{});var O=i(A);Ts=a(O,"LI",{});var So=i(Ts);lt=a(So,"CODE",{});var ni=i(lt);Aa=o(ni,"feature-extraction"),ni.forEach(s),Ca=o(So," (pour obtenir la repr\xE9sentation vectorielle d\u2019un texte)"),So.forEach(s),La=c(O),ot=a(O,"LI",{});var ri=i(ot);it=a(ri,"CODE",{});var ai=i(it);Ia=o(ai,"fill-mask"),ai.forEach(s),ri.forEach(s),Ta=c(O),Hs=a(O,"LI",{});var No=i(Hs);ut=a(No,"CODE",{});var li=i(ut);Ha=o(li,"ner"),li.forEach(s),Oa=o(No," (named entity recognition = reconnaissance des entit\xE9s nomm\xE9es)"),No.forEach(s),Sa=c(O),pt=a(O,"LI",{});var oi=i(pt);ct=a(oi,"CODE",{});var ii=i(ct);Na=o(ii,"question-answering"),ii.forEach(s),oi.forEach(s),Da=c(O),mt=a(O,"LI",{});var ui=i(mt);dt=a(ui,"CODE",{});var pi=i(dt);Ra=o(pi,"sentiment-analysis"),pi.forEach(s),ui.forEach(s),Fa=c(O),ft=a(O,"LI",{});var ci=i(ft);ht=a(ci,"CODE",{});var mi=i(ht);Va=o(mi,"summarization"),mi.forEach(s),ci.forEach(s),Ga=c(O),gt=a(O,"LI",{});var di=i(gt);vt=a(di,"CODE",{});var fi=i(vt);Ma=o(fi,"text-generation"),fi.forEach(s),di.forEach(s),Ua=c(O),$t=a(O,"LI",{});var hi=i($t);xt=a(hi,"CODE",{});var gi=i(xt);Ba=o(gi,"translation"),gi.forEach(s),hi.forEach(s),Qa=c(O),_t=a(O,"LI",{});var vi=i(_t);bt=a(vi,"CODE",{});var $i=i(bt);Wa=o($i,"zero-shot-classification"),$i.forEach(s),vi.forEach(s),O.forEach(s),Tn=c(e),Os=a(e,"P",{});var xi=i(Os);Za=o(xi,"Regardons de plus pr\xE8s certains d\u2019entre-eux !"),xi.forEach(s),Hn=c(e),Z=a(e,"H2",{class:!0});var Dr=i(Z);de=a(Dr,"A",{id:!0,class:!0,href:!0});var _i=i(de);qt=a(_i,"SPAN",{});var bi=i(qt);b(We.$$.fragment,bi),bi.forEach(s),_i.forEach(s),Ja=c(Dr),wt=a(Dr,"SPAN",{});var qi=i(wt);Ya=o(qi,"Zero-shot classification"),qi.forEach(s),Dr.forEach(s),On=c(e),fe=a(e,"P",{});var Rr=i(fe);Ka=o(Rr,"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 texte est g\xE9n\xE9ralement longue et n\xE9cessite parfois une expertise dans un domaine. Pour ce cas d\u2019usage, le pipeline "),Et=a(Rr,"CODE",{});var wi=i(Et);Xa=o(wi,"zero-shot-classification"),wi.forEach(s),el=o(Rr," 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."),Rr.forEach(s),Sn=c(e),b(Ze.$$.fragment,e),Nn=c(e),b(Je.$$.fragment,e),Dn=c(e),he=a(e,"P",{});var Fr=i(he);sl=o(Fr,"Ce pipeline est appel\xE9 "),yt=a(Fr,"EM",{});var Ei=i(yt);tl=o(Ei,"zero-shot"),Ei.forEach(s),nl=o(Fr," 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 !"),Fr.forEach(s),Rn=c(e),b(ge.$$.fragment,e),Fn=c(e),J=a(e,"H2",{class:!0});var Vr=i(J);ve=a(Vr,"A",{id:!0,class:!0,href:!0});var yi=i(ve);jt=a(yi,"SPAN",{});var ji=i(jt);b(Ye.$$.fragment,ji),ji.forEach(s),yi.forEach(s),rl=c(Vr),kt=a(Vr,"SPAN",{});var ki=i(kt);al=o(ki,"G\xE9n\xE9ration de texte"),ki.forEach(s),Vr.forEach(s),Vn=c(e),Ss=a(e,"P",{});var zi=i(Ss);ll=o(zi,"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. C\u2019est similaire \xE0 la fonctionnalit\xE9 de pr\xE9diction de texte qui est tr\xE8s pr\xE9sente dans les appareils mobiles. 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."),zi.forEach(s),Gn=c(e),b(Ke.$$.fragment,e),Mn=c(e),b(Xe.$$.fragment,e),Un=c(e),V=a(e,"P",{});var Bs=i(V);ol=o(Bs,"Il est possible de contr\xF4ler le nombre de s\xE9quences g\xE9n\xE9r\xE9es avec l\u2019argument "),zt=a(Bs,"CODE",{});var Pi=i(zt);il=o(Pi,"num_return_sequences"),Pi.forEach(s),ul=o(Bs," et la longueur totale du texte g\xE9n\xE9r\xE9 avec l\u2019argument "),Pt=a(Bs,"CODE",{});var Ai=i(Pt);pl=o(Ai,"max_length"),Ai.forEach(s),cl=o(Bs,"."),Bs.forEach(s),Bn=c(e),b($e.$$.fragment,e),Qn=c(e),Y=a(e,"H2",{class:!0});var Gr=i(Y);xe=a(Gr,"A",{id:!0,class:!0,href:!0});var Ci=i(xe);At=a(Ci,"SPAN",{});var Li=i(At);b(es.$$.fragment,Li),Li.forEach(s),Ci.forEach(s),ml=c(Gr),Ct=a(Gr,"SPAN",{});var Ii=i(Ct);dl=o(Ii,"Utiliser n'importe quel mod\xE8le du Hub dans un pipeline"),Ii.forEach(s),Gr.forEach(s),Wn=c(e),G=a(e,"P",{});var Qs=i(G);fl=o(Qs,"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 Hub et l\u2019utiliser dans un pipeline pour une t\xE2che sp\xE9cifique \u2014 par exemple, la g\xE9n\xE9ration de texte. Rendez-vous sur la "),ss=a(Qs,"A",{href:!0,rel:!0});var Ti=i(ss);hl=o(Ti,"page du Hub de mod\xE8les"),Ti.forEach(s),gl=o(Qs," et cliquez sur le tag correspondant sur la gauche pour afficher seulement les mod\xE8les support\xE9s pour cette t\xE2che. Vous devriez arriver sur une page comme "),ts=a(Qs,"A",{href:!0,rel:!0});var Hi=i(ts);vl=o(Hi,"celle-ci"),Hi.forEach(s),$l=o(Qs,"."),Qs.forEach(s),Zn=c(e),_e=a(e,"P",{});var Mr=i(_e);xl=o(Mr,"Essayons le mod\xE8le "),ns=a(Mr,"A",{href:!0,rel:!0});var Oi=i(ns);Lt=a(Oi,"CODE",{});var Si=i(Lt);_l=o(Si,"distilgpt2"),Si.forEach(s),Oi.forEach(s),bl=o(Mr," ! Voici comment charger le mod\xE8le dans le m\xEAme pipeline que pr\xE9c\xE9demment :"),Mr.forEach(s),Jn=c(e),b(rs.$$.fragment,e),Yn=c(e),b(as.$$.fragment,e),Kn=c(e),Ns=a(e,"P",{});var Ni=i(Ns);ql=o(Ni,"Vous pouvez am\xE9liorer votre recherche de mod\xE8le en cliquant sur les tags de langue, et choisir un mod\xE8le qui g\xE9n\xE8re du texte dans une autre langue. Le Hub de mod\xE8les contient \xE9galement des sauvegardes pour des mod\xE8les multilingues qui supportent plusieurs langues."),Ni.forEach(s),Xn=c(e),Ds=a(e,"P",{});var Di=i(Ds);wl=o(Di,"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."),Di.forEach(s),er=c(e),b(be.$$.fragment,e),sr=c(e),K=a(e,"H3",{class:!0});var Ur=i(K);qe=a(Ur,"A",{id:!0,class:!0,href:!0});var Ri=i(qe);It=a(Ri,"SPAN",{});var Fi=i(It);b(ls.$$.fragment,Fi),Fi.forEach(s),Ri.forEach(s),El=c(Ur),Tt=a(Ur,"SPAN",{});var Vi=i(Tt);yl=o(Vi,"L'API d'inf\xE9rence"),Vi.forEach(s),Ur.forEach(s),tr=c(e),we=a(e,"P",{});var Br=i(we);jl=o(Br,"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 "),os=a(Br,"A",{href:!0,rel:!0});var Gi=i(os);kl=o(Gi,"Hugging Face"),Gi.forEach(s),zl=o(Br,". 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."),Br.forEach(s),nr=c(e),Ee=a(e,"P",{});var Qr=i(Ee);Pl=o(Qr,"L\u2019API d\u2019inf\xE9rence qui est utilis\xE9e par le widget est \xE9galement disponible en tant que produit payant, qui est utile si vous avez besoin de l\u2019API pour votre travail. Consultez la "),is=a(Qr,"A",{href:!0,rel:!0});var Mi=i(is);Al=o(Mi,"page des prix"),Mi.forEach(s),Cl=o(Qr," pour plus de d\xE9tails."),Qr.forEach(s),rr=c(e),X=a(e,"H2",{class:!0});var Wr=i(X);ye=a(Wr,"A",{id:!0,class:!0,href:!0});var Ui=i(ye);Ht=a(Ui,"SPAN",{});var Bi=i(Ht);b(us.$$.fragment,Bi),Bi.forEach(s),Ui.forEach(s),Ll=c(Wr),Ot=a(Wr,"SPAN",{});var Qi=i(Ot);Il=o(Qi,"Remplacement des mots manquants"),Qi.forEach(s),Wr.forEach(s),ar=c(e),je=a(e,"P",{});var Zr=i(je);Tl=o(Zr,"Le prochain pipeline que vous allez essayer est celui de "),St=a(Zr,"CODE",{});var Wi=i(St);Hl=o(Wi,"fill-mask"),Wi.forEach(s),Ol=o(Zr,". L\u2019id\xE9e de cette t\xE2che est de remplir les mots manquants d\u2019un texte donn\xE9 :"),Zr.forEach(s),lr=c(e),b(ps.$$.fragment,e),or=c(e),b(cs.$$.fragment,e),ir=c(e),N=a(e,"P",{});var Oe=i(N);Sl=o(Oe,"L\u2019argument "),Nt=a(Oe,"CODE",{});var Zi=i(Nt);Nl=o(Zi,"top_k"),Zi.forEach(s),Dl=o(Oe," 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 "),Dt=a(Oe,"CODE",{});var Ji=i(Dt);Rl=o(Ji,"<mask>"),Ji.forEach(s),Fl=o(Oe,", qui est souvent appel\xE9 un "),Rt=a(Oe,"EM",{});var Yi=i(Rt);Vl=o(Yi,"mot masqu\xE9"),Yi.forEach(s),Gl=o(Oe,". 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."),Oe.forEach(s),ur=c(e),b(ke.$$.fragment,e),pr=c(e),ee=a(e,"H2",{class:!0});var Jr=i(ee);ze=a(Jr,"A",{id:!0,class:!0,href:!0});var Ki=i(ze);Ft=a(Ki,"SPAN",{});var Xi=i(Ft);b(ms.$$.fragment,Xi),Xi.forEach(s),Ki.forEach(s),Ml=c(Jr),Vt=a(Jr,"SPAN",{});var eu=i(Vt);Ul=o(eu,"Reconnaissance d'entit\xE9s nomm\xE9es"),eu.forEach(s),Jr.forEach(s),cr=c(e),Rs=a(e,"P",{});var su=i(Rs);Bl=o(su,"La reconnaissance d\u2019entit\xE9s nomm\xE9es (NER = Named Entity Recognition) 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 :"),su.forEach(s),mr=c(e),b(ds.$$.fragment,e),dr=c(e),b(fs.$$.fragment,e),fr=c(e),Fs=a(e,"P",{});var tu=i(Fs);Ql=o(tu,"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)."),tu.forEach(s),hr=c(e),H=a(e,"P",{});var S=i(H);Wl=o(S,"Il est possible d\u2019utiliser l\u2019option "),Gt=a(S,"CODE",{});var nu=i(Gt);Zl=o(nu,"grouped_entities=True"),nu.forEach(s),Jl=o(S," 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 \u201CHugging\u201D et \u201CFace\u201D comme une seule organisation, m\xEAme si le nom comporte plusieurs mots. En effet, comme nous allons voir dans la prochaine chapitre, la pr\xE9traitement du texte s\xE9pare parfois certains mots en plus petites parties. Par exemple, "),Mt=a(S,"CODE",{});var ru=i(Mt);Yl=o(ru,"Sylvain"),ru.forEach(s),Kl=o(S," est s\xE9par\xE9 en quatre morceaux: "),Ut=a(S,"CODE",{});var au=i(Ut);Xl=o(au,"S"),au.forEach(s),eo=o(S,", "),Bt=a(S,"CODE",{});var lu=i(Bt);so=o(lu,"##yl"),lu.forEach(s),to=o(S,", "),Qt=a(S,"CODE",{});var ou=i(Qt);no=o(ou,"##va"),ou.forEach(s),ro=o(S,", et "),Wt=a(S,"CODE",{});var iu=i(Wt);ao=o(iu,"##in"),iu.forEach(s),lo=o(S,". Dans l\u2019\xE9tape de post-traitement, le pipeline a r\xE9ussi \xE0 regrouper ces morceaux."),S.forEach(s),gr=c(e),b(Pe.$$.fragment,e),vr=c(e),se=a(e,"H2",{class:!0});var Yr=i(se);Ae=a(Yr,"A",{id:!0,class:!0,href:!0});var uu=i(Ae);Zt=a(uu,"SPAN",{});var pu=i(Zt);b(hs.$$.fragment,pu),pu.forEach(s),uu.forEach(s),oo=c(Yr),Jt=a(Yr,"SPAN",{});var cu=i(Jt);io=o(cu,"R\xE9ponse \xE0 des questions"),cu.forEach(s),Yr.forEach(s),$r=c(e),Ce=a(e,"P",{});var Kr=i(Ce);uo=o(Kr,"Le pipeline "),Yt=a(Kr,"CODE",{});var mu=i(Yt);po=o(mu,"question-answering"),mu.forEach(s),co=o(Kr," r\xE9pond \xE0 des questions en utilisant des informations donn\xE9es en contexte :"),Kr.forEach(s),xr=c(e),b(gs.$$.fragment,e),_r=c(e),b(vs.$$.fragment,e),br=c(e),Vs=a(e,"P",{});var du=i(Vs);mo=o(du,"Notez que ce pipeline fonctionne par extraction d\u2019information depuis le contexte fourni, il ne g\xE9n\xE8re pas la r\xE9ponse."),du.forEach(s),qr=c(e),te=a(e,"H2",{class:!0});var Xr=i(te);Le=a(Xr,"A",{id:!0,class:!0,href:!0});var fu=i(Le);Kt=a(fu,"SPAN",{});var hu=i(Kt);b($s.$$.fragment,hu),hu.forEach(s),fu.forEach(s),fo=c(Xr),Xt=a(Xr,"SPAN",{});var gu=i(Xt);ho=o(gu,"R\xE9sum\xE9"),gu.forEach(s),Xr.forEach(s),wr=c(e),Gs=a(e,"P",{});var vu=i(Gs);go=o(vu,"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 :"),vu.forEach(s),Er=c(e),b(xs.$$.fragment,e),yr=c(e),b(_s.$$.fragment,e),jr=c(e),M=a(e,"P",{});var Ws=i(M);vo=o(Ws,"Comme pour la g\xE9n\xE9ration de texte, vous pouvez sp\xE9cifier une "),en=a(Ws,"CODE",{});var $u=i(en);$o=o($u,"max_length"),$u.forEach(s),xo=o(Ws," (longueur maximale) ou une "),sn=a(Ws,"CODE",{});var xu=i(sn);_o=o(xu,"min_length"),xu.forEach(s),bo=o(Ws," (longueur minimale) pour le r\xE9sultat."),Ws.forEach(s),kr=c(e),ne=a(e,"H2",{class:!0});var ea=i(ne);Ie=a(ea,"A",{id:!0,class:!0,href:!0});var _u=i(Ie);tn=a(_u,"SPAN",{});var bu=i(tn);b(bs.$$.fragment,bu),bu.forEach(s),_u.forEach(s),qo=c(ea),nn=a(ea,"SPAN",{});var qu=i(nn);wo=o(qu,"Traduction"),qu.forEach(s),ea.forEach(s),zr=c(e),U=a(e,"P",{});var Zs=i(U);Eo=o(Zs,"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 "),rn=a(Zs,"CODE",{});var wu=i(rn);yo=o(wu,'"translation_en_to_fr"'),wu.forEach(s),jo=o(Zs,"), mais le plus simple reste d\u2019utiliser un mod\xE8le ad\xE9quat disponible sur le "),qs=a(Zs,"A",{href:!0,rel:!0});var Eu=i(qs);ko=o(Eu,"Model Hub"),Eu.forEach(s),zo=o(Zs,". Ici, nous allons essayer de traduire du fran\xE7ais en anglais :"),Zs.forEach(s),Pr=c(e),b(ws.$$.fragment,e),Ar=c(e),b(Es.$$.fragment,e),Cr=c(e),B=a(e,"P",{});var Js=i(B);Po=o(Js,"Comme pour la g\xE9n\xE9ration de texte et le r\xE9sum\xE9 de texte, il est possible de sp\xE9cifier une "),an=a(Js,"CODE",{});var yu=i(an);Ao=o(yu,"max_length"),yu.forEach(s),Co=o(Js," (longueur maximale) ou une "),ln=a(Js,"CODE",{});var ju=i(ln);Lo=o(ju,"min_length"),ju.forEach(s),Io=o(Js," (longueur minimale) pour le r\xE9sultat."),Js.forEach(s),Lr=c(e),b(Te.$$.fragment,e),Ir=c(e),He=a(e,"P",{});var sa=i(He);To=o(sa,"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 "),on=a(sa,"CODE",{});var ku=i(on);Ho=o(ku,"pipeline()"),ku.forEach(s),Oo=o(sa," et comment modifier son comportement."),sa.forEach(s),this.h()},h(){d(m,"name","hf:doc:metadata"),d(m,"content",JSON.stringify(Uu)),d(x,"id","que-peuvent-faire-les-modles-transformers"),d(x,"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(x,"href","#que-peuvent-faire-les-modles-transformers"),d(h,"class","relative group"),d(le,"id","les-modles-transformers-sont-partout"),d(le,"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(le,"href","#les-modles-transformers-sont-partout"),d(Q,"class","relative group"),Lu(oe.src,Do="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter1/companies.PNG")||d(oe,"src",Do),d(oe,"alt","Companies using Hugging Face"),d(oe,"width","100%"),d(De,"href","https://github.com/huggingface/transformers"),d(De,"rel","nofollow"),d(Re,"href","https://huggingface.co/models"),d(Re,"rel","nofollow"),d(ue,"id","travailler-avec-des-pipelines"),d(ue,"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(ue,"href","#travailler-avec-des-pipelines"),d(W,"class","relative group"),d(Qe,"href","https://huggingface.co/transformers/main_classes/pipelines.html"),d(Qe,"rel","nofollow"),d(de,"id","zeroshot-classification"),d(de,"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(de,"href","#zeroshot-classification"),d(Z,"class","relative group"),d(ve,"id","gnration-de-texte"),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","#gnration-de-texte"),d(J,"class","relative group"),d(xe,"id","utiliser-nimporte-quel-modle-du-hub-dans-un-pipeline"),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","#utiliser-nimporte-quel-modle-du-hub-dans-un-pipeline"),d(Y,"class","relative group"),d(ss,"href","https://huggingface.co/models?pipeline_tag=text-generation"),d(ss,"rel","nofollow"),d(ts,"href","https://huggingface.co/models?pipeline_tag=text-generation"),d(ts,"rel","nofollow"),d(ns,"href","https://huggingface.co/distilgpt2"),d(ns,"rel","nofollow"),d(qe,"id","lapi-dinfrence"),d(qe,"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(qe,"href","#lapi-dinfrence"),d(K,"class","relative group"),d(os,"href","https://huggingface.co/"),d(os,"rel","nofollow"),d(is,"href","https://huggingface.co/pricing"),d(is,"rel","nofollow"),d(ye,"id","remplacement-des-mots-manquants"),d(ye,"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(ye,"href","#remplacement-des-mots-manquants"),d(X,"class","relative group"),d(ze,"id","reconnaissance-dentits-nommes"),d(ze,"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(ze,"href","#reconnaissance-dentits-nommes"),d(ee,"class","relative group"),d(Ae,"id","rponse-des-questions"),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","#rponse-des-questions"),d(se,"class","relative group"),d(Le,"id","rsum"),d(Le,"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(Le,"href","#rsum"),d(te,"class","relative group"),d(Ie,"id","traduction"),d(Ie,"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(Ie,"href","#traduction"),d(ne,"class","relative group"),d(qs,"href","https://huggingface.co/models"),d(qs,"rel","nofollow")},m(e,n){t(document.head,m),u(e,$,n),u(e,h,n),t(h,x),t(x,g),q(f,g,null),t(h,v),t(h,k),t(k,L),u(e,j,n),q(z,e,n),u(e,T,n),u(e,P,n),t(P,zs),t(P,re),t(re,Ps),t(P,ta),u(e,fn,n),q(ae,e,n),u(e,hn,n),u(e,Q,n),t(Q,le),t(le,Ys),q(Ne,Ys,null),t(Q,na),t(Q,Ks),t(Ks,ra),u(e,gn,n),u(e,As,n),t(As,aa),u(e,vn,n),u(e,oe,n),u(e,$n,n),u(e,R,n),t(R,la),t(R,De),t(De,oa),t(R,ia),t(R,Re),t(Re,ua),t(R,pa),u(e,xn,n),q(ie,e,n),u(e,_n,n),u(e,Cs,n),t(Cs,ca),u(e,bn,n),u(e,W,n),t(W,ue),t(ue,Xs),q(Fe,Xs,null),t(W,ma),t(W,et),t(et,da),u(e,qn,n),q(Ve,e,n),u(e,wn,n),u(e,pe,n),t(pe,fa),t(pe,st),t(st,ha),t(pe,ga),u(e,En,n),q(Ge,e,n),u(e,yn,n),q(Me,e,n),u(e,jn,n),u(e,Ls,n),t(Ls,va),u(e,kn,n),q(Ue,e,n),u(e,zn,n),q(Be,e,n),u(e,Pn,n),u(e,ce,n),t(ce,$a),t(ce,tt),t(tt,xa),t(ce,_a),u(e,An,n),u(e,Is,n),t(Is,ba),u(e,Cn,n),u(e,F,n),t(F,nt),t(nt,qa),t(F,wa),t(F,rt),t(rt,Ea),t(F,ya),t(F,at),t(at,ja),u(e,Ln,n),u(e,me,n),t(me,ka),t(me,Qe),t(Qe,za),t(me,Pa),u(e,In,n),u(e,A,n),t(A,Ts),t(Ts,lt),t(lt,Aa),t(Ts,Ca),t(A,La),t(A,ot),t(ot,it),t(it,Ia),t(A,Ta),t(A,Hs),t(Hs,ut),t(ut,Ha),t(Hs,Oa),t(A,Sa),t(A,pt),t(pt,ct),t(ct,Na),t(A,Da),t(A,mt),t(mt,dt),t(dt,Ra),t(A,Fa),t(A,ft),t(ft,ht),t(ht,Va),t(A,Ga),t(A,gt),t(gt,vt),t(vt,Ma),t(A,Ua),t(A,$t),t($t,xt),t(xt,Ba),t(A,Qa),t(A,_t),t(_t,bt),t(bt,Wa),u(e,Tn,n),u(e,Os,n),t(Os,Za),u(e,Hn,n),u(e,Z,n),t(Z,de),t(de,qt),q(We,qt,null),t(Z,Ja),t(Z,wt),t(wt,Ya),u(e,On,n),u(e,fe,n),t(fe,Ka),t(fe,Et),t(Et,Xa),t(fe,el),u(e,Sn,n),q(Ze,e,n),u(e,Nn,n),q(Je,e,n),u(e,Dn,n),u(e,he,n),t(he,sl),t(he,yt),t(yt,tl),t(he,nl),u(e,Rn,n),q(ge,e,n),u(e,Fn,n),u(e,J,n),t(J,ve),t(ve,jt),q(Ye,jt,null),t(J,rl),t(J,kt),t(kt,al),u(e,Vn,n),u(e,Ss,n),t(Ss,ll),u(e,Gn,n),q(Ke,e,n),u(e,Mn,n),q(Xe,e,n),u(e,Un,n),u(e,V,n),t(V,ol),t(V,zt),t(zt,il),t(V,ul),t(V,Pt),t(Pt,pl),t(V,cl),u(e,Bn,n),q($e,e,n),u(e,Qn,n),u(e,Y,n),t(Y,xe),t(xe,At),q(es,At,null),t(Y,ml),t(Y,Ct),t(Ct,dl),u(e,Wn,n),u(e,G,n),t(G,fl),t(G,ss),t(ss,hl),t(G,gl),t(G,ts),t(ts,vl),t(G,$l),u(e,Zn,n),u(e,_e,n),t(_e,xl),t(_e,ns),t(ns,Lt),t(Lt,_l),t(_e,bl),u(e,Jn,n),q(rs,e,n),u(e,Yn,n),q(as,e,n),u(e,Kn,n),u(e,Ns,n),t(Ns,ql),u(e,Xn,n),u(e,Ds,n),t(Ds,wl),u(e,er,n),q(be,e,n),u(e,sr,n),u(e,K,n),t(K,qe),t(qe,It),q(ls,It,null),t(K,El),t(K,Tt),t(Tt,yl),u(e,tr,n),u(e,we,n),t(we,jl),t(we,os),t(os,kl),t(we,zl),u(e,nr,n),u(e,Ee,n),t(Ee,Pl),t(Ee,is),t(is,Al),t(Ee,Cl),u(e,rr,n),u(e,X,n),t(X,ye),t(ye,Ht),q(us,Ht,null),t(X,Ll),t(X,Ot),t(Ot,Il),u(e,ar,n),u(e,je,n),t(je,Tl),t(je,St),t(St,Hl),t(je,Ol),u(e,lr,n),q(ps,e,n),u(e,or,n),q(cs,e,n),u(e,ir,n),u(e,N,n),t(N,Sl),t(N,Nt),t(Nt,Nl),t(N,Dl),t(N,Dt),t(Dt,Rl),t(N,Fl),t(N,Rt),t(Rt,Vl),t(N,Gl),u(e,ur,n),q(ke,e,n),u(e,pr,n),u(e,ee,n),t(ee,ze),t(ze,Ft),q(ms,Ft,null),t(ee,Ml),t(ee,Vt),t(Vt,Ul),u(e,cr,n),u(e,Rs,n),t(Rs,Bl),u(e,mr,n),q(ds,e,n),u(e,dr,n),q(fs,e,n),u(e,fr,n),u(e,Fs,n),t(Fs,Ql),u(e,hr,n),u(e,H,n),t(H,Wl),t(H,Gt),t(Gt,Zl),t(H,Jl),t(H,Mt),t(Mt,Yl),t(H,Kl),t(H,Ut),t(Ut,Xl),t(H,eo),t(H,Bt),t(Bt,so),t(H,to),t(H,Qt),t(Qt,no),t(H,ro),t(H,Wt),t(Wt,ao),t(H,lo),u(e,gr,n),q(Pe,e,n),u(e,vr,n),u(e,se,n),t(se,Ae),t(Ae,Zt),q(hs,Zt,null),t(se,oo),t(se,Jt),t(Jt,io),u(e,$r,n),u(e,Ce,n),t(Ce,uo),t(Ce,Yt),t(Yt,po),t(Ce,co),u(e,xr,n),q(gs,e,n),u(e,_r,n),q(vs,e,n),u(e,br,n),u(e,Vs,n),t(Vs,mo),u(e,qr,n),u(e,te,n),t(te,Le),t(Le,Kt),q($s,Kt,null),t(te,fo),t(te,Xt),t(Xt,ho),u(e,wr,n),u(e,Gs,n),t(Gs,go),u(e,Er,n),q(xs,e,n),u(e,yr,n),q(_s,e,n),u(e,jr,n),u(e,M,n),t(M,vo),t(M,en),t(en,$o),t(M,xo),t(M,sn),t(sn,_o),t(M,bo),u(e,kr,n),u(e,ne,n),t(ne,Ie),t(Ie,tn),q(bs,tn,null),t(ne,qo),t(ne,nn),t(nn,wo),u(e,zr,n),u(e,U,n),t(U,Eo),t(U,rn),t(rn,yo),t(U,jo),t(U,qs),t(qs,ko),t(U,zo),u(e,Pr,n),q(ws,e,n),u(e,Ar,n),q(Es,e,n),u(e,Cr,n),u(e,B,n),t(B,Po),t(B,an),t(an,Ao),t(B,Co),t(B,ln),t(ln,Lo),t(B,Io),u(e,Lr,n),q(Te,e,n),u(e,Ir,n),u(e,He,n),t(He,To),t(He,on),t(on,Ho),t(He,Oo),Tr=!0},p(e,[n]){const ys={};n&2&&(ys.$$scope={dirty:n,ctx:e}),ae.$set(ys);const un={};n&2&&(un.$$scope={dirty:n,ctx:e}),ie.$set(un);const pn={};n&2&&(pn.$$scope={dirty:n,ctx:e}),ge.$set(pn);const cn={};n&2&&(cn.$$scope={dirty:n,ctx:e}),$e.$set(cn);const js={};n&2&&(js.$$scope={dirty:n,ctx:e}),be.$set(js);const mn={};n&2&&(mn.$$scope={dirty:n,ctx:e}),ke.$set(mn);const ks={};n&2&&(ks.$$scope={dirty:n,ctx:e}),Pe.$set(ks);const dn={};n&2&&(dn.$$scope={dirty:n,ctx:e}),Te.$set(dn)},i(e){Tr||(w(f.$$.fragment,e),w(z.$$.fragment,e),w(ae.$$.fragment,e),w(Ne.$$.fragment,e),w(ie.$$.fragment,e),w(Fe.$$.fragment,e),w(Ve.$$.fragment,e),w(Ge.$$.fragment,e),w(Me.$$.fragment,e),w(Ue.$$.fragment,e),w(Be.$$.fragment,e),w(We.$$.fragment,e),w(Ze.$$.fragment,e),w(Je.$$.fragment,e),w(ge.$$.fragment,e),w(Ye.$$.fragment,e),w(Ke.$$.fragment,e),w(Xe.$$.fragment,e),w($e.$$.fragment,e),w(es.$$.fragment,e),w(rs.$$.fragment,e),w(as.$$.fragment,e),w(be.$$.fragment,e),w(ls.$$.fragment,e),w(us.$$.fragment,e),w(ps.$$.fragment,e),w(cs.$$.fragment,e),w(ke.$$.fragment,e),w(ms.$$.fragment,e),w(ds.$$.fragment,e),w(fs.$$.fragment,e),w(Pe.$$.fragment,e),w(hs.$$.fragment,e),w(gs.$$.fragment,e),w(vs.$$.fragment,e),w($s.$$.fragment,e),w(xs.$$.fragment,e),w(_s.$$.fragment,e),w(bs.$$.fragment,e),w(ws.$$.fragment,e),w(Es.$$.fragment,e),w(Te.$$.fragment,e),Tr=!0)},o(e){E(f.$$.fragment,e),E(z.$$.fragment,e),E(ae.$$.fragment,e),E(Ne.$$.fragment,e),E(ie.$$.fragment,e),E(Fe.$$.fragment,e),E(Ve.$$.fragment,e),E(Ge.$$.fragment,e),E(Me.$$.fragment,e),E(Ue.$$.fragment,e),E(Be.$$.fragment,e),E(We.$$.fragment,e),E(Ze.$$.fragment,e),E(Je.$$.fragment,e),E(ge.$$.fragment,e),E(Ye.$$.fragment,e),E(Ke.$$.fragment,e),E(Xe.$$.fragment,e),E($e.$$.fragment,e),E(es.$$.fragment,e),E(rs.$$.fragment,e),E(as.$$.fragment,e),E(be.$$.fragment,e),E(ls.$$.fragment,e),E(us.$$.fragment,e),E(ps.$$.fragment,e),E(cs.$$.fragment,e),E(ke.$$.fragment,e),E(ms.$$.fragment,e),E(ds.$$.fragment,e),E(fs.$$.fragment,e),E(Pe.$$.fragment,e),E(hs.$$.fragment,e),E(gs.$$.fragment,e),E(vs.$$.fragment,e),E($s.$$.fragment,e),E(xs.$$.fragment,e),E(_s.$$.fragment,e),E(bs.$$.fragment,e),E(ws.$$.fragment,e),E(Es.$$.fragment,e),E(Te.$$.fragment,e),Tr=!1},d(e){s(m),e&&s($),e&&s(h),y(f),e&&s(j),y(z,e),e&&s(T),e&&s(P),e&&s(fn),y(ae,e),e&&s(hn),e&&s(Q),y(Ne),e&&s(gn),e&&s(As),e&&s(vn),e&&s(oe),e&&s($n),e&&s(R),e&&s(xn),y(ie,e),e&&s(_n),e&&s(Cs),e&&s(bn),e&&s(W),y(Fe),e&&s(qn),y(Ve,e),e&&s(wn),e&&s(pe),e&&s(En),y(Ge,e),e&&s(yn),y(Me,e),e&&s(jn),e&&s(Ls),e&&s(kn),y(Ue,e),e&&s(zn),y(Be,e),e&&s(Pn),e&&s(ce),e&&s(An),e&&s(Is),e&&s(Cn),e&&s(F),e&&s(Ln),e&&s(me),e&&s(In),e&&s(A),e&&s(Tn),e&&s(Os),e&&s(Hn),e&&s(Z),y(We),e&&s(On),e&&s(fe),e&&s(Sn),y(Ze,e),e&&s(Nn),y(Je,e),e&&s(Dn),e&&s(he),e&&s(Rn),y(ge,e),e&&s(Fn),e&&s(J),y(Ye),e&&s(Vn),e&&s(Ss),e&&s(Gn),y(Ke,e),e&&s(Mn),y(Xe,e),e&&s(Un),e&&s(V),e&&s(Bn),y($e,e),e&&s(Qn),e&&s(Y),y(es),e&&s(Wn),e&&s(G),e&&s(Zn),e&&s(_e),e&&s(Jn),y(rs,e),e&&s(Yn),y(as,e),e&&s(Kn),e&&s(Ns),e&&s(Xn),e&&s(Ds),e&&s(er),y(be,e),e&&s(sr),e&&s(K),y(ls),e&&s(tr),e&&s(we),e&&s(nr),e&&s(Ee),e&&s(rr),e&&s(X),y(us),e&&s(ar),e&&s(je),e&&s(lr),y(ps,e),e&&s(or),y(cs,e),e&&s(ir),e&&s(N),e&&s(ur),y(ke,e),e&&s(pr),e&&s(ee),y(ms),e&&s(cr),e&&s(Rs),e&&s(mr),y(ds,e),e&&s(dr),y(fs,e),e&&s(fr),e&&s(Fs),e&&s(hr),e&&s(H),e&&s(gr),y(Pe,e),e&&s(vr),e&&s(se),y(hs),e&&s($r),e&&s(Ce),e&&s(xr),y(gs,e),e&&s(_r),y(vs,e),e&&s(br),e&&s(Vs),e&&s(qr),e&&s(te),y($s),e&&s(wr),e&&s(Gs),e&&s(Er),y(xs,e),e&&s(yr),y(_s,e),e&&s(jr),e&&s(M),e&&s(kr),e&&s(ne),y(bs),e&&s(zr),e&&s(U),e&&s(Pr),y(ws,e),e&&s(Ar),y(Es,e),e&&s(Cr),e&&s(B),e&&s(Lr),y(Te,e),e&&s(Ir),e&&s(He)}}}const Uu={local:"que-peuvent-faire-les-modles-transformers",sections:[{local:"les-modles-transformers-sont-partout",title:"Les mod\xE8les Transformers sont partout !"},{local:"travailler-avec-des-pipelines",title:"Travailler avec des pipelines"},{local:"zeroshot-classification",title:"Zero-shot classification"},{local:"gnration-de-texte",title:"G\xE9n\xE9ration de texte"},{local:"utiliser-nimporte-quel-modle-du-hub-dans-un-pipeline",sections:[{local:"lapi-dinfrence",title:"L'API d'inf\xE9rence"}],title:"Utiliser n'importe quel mod\xE8le du Hub dans un pipeline"},{local:"remplacement-des-mots-manquants",title:"Remplacement des mots manquants"},{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 mod\xE8les Transformers ?"};function Bu(I){return Iu(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Xu extends zu{constructor(m){super();Pu(this,m,Bu,Mu,Au,{})}}export{Xu as default,Uu as metadata};
