import{S as Jp,i as Kp,s as Xp,e as n,k as m,w as b,t,M as em,c as l,d as a,m as u,a as i,x as _,h as r,b as c,N as am,G as s,g as p,y as q,q as w,o as E,B as j,v as sm}from"../../chunks/vendor-hf-doc-builder.js";import{T as Me}from"../../chunks/Tip-hf-doc-builder.js";import{Y as om}from"../../chunks/Youtube-hf-doc-builder.js";import{I as M}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as T}from"../../chunks/CodeBlock-hf-doc-builder.js";import{C as tm}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";function rm(C){let d,$,h,x,g,f,v,k,I;return{c(){d=t("\u{1F440} T\xE1 vendo o bot\xE3o "),$=n("em"),h=t("Open in Colab"),x=t(` no topo direito? Clique nele e abra um notebook Google Colab notebook  com todas as amostras de c\xF3digos dessa se\xE7\xE3o. Esse bot\xE3o estar\xE1 presente em cada se\xE7\xE3o contendo exemplos de c\xF3digos. 
`),g=n("p"),f=t("Se voc\xEA deseja rodar os exemplos localmente, n\xF3s recomendamos dar uma olhada no "),v=n("a"),k=t("setup"),I=t("."),this.h()},l(P){d=r(P,"\u{1F440} T\xE1 vendo o bot\xE3o "),$=l(P,"EM",{});var A=i($);h=r(A,"Open in Colab"),A.forEach(a),x=r(P,` no topo direito? Clique nele e abra um notebook Google Colab notebook  com todas as amostras de c\xF3digos dessa se\xE7\xE3o. Esse bot\xE3o estar\xE1 presente em cada se\xE7\xE3o contendo exemplos de c\xF3digos. 
`),g=l(P,"P",{});var z=i(g);f=r(z,"Se voc\xEA deseja rodar os exemplos localmente, n\xF3s recomendamos dar uma olhada no "),v=l(z,"A",{href:!0});var y=i(v);k=r(y,"setup"),y.forEach(a),I=r(z,"."),z.forEach(a),this.h()},h(){c(v,"href","/course/chapter0")},m(P,A){p(P,d,A),p(P,$,A),s($,h),p(P,x,A),p(P,g,A),s(g,f),s(g,v),s(v,k),s(g,I)},d(P){P&&a(d),P&&a($),P&&a(x),P&&a(g)}}}function nm(C){let d,$,h,x;return{c(){d=t("\u26A0\uFE0F O Hugging Face Hub n\xE3o \xE9 limitado aos modelos Transformers. Qualquer um pode compartilhar quaisquer tipos de modelos ou datasets que quiserem! "),$=n("a"),h=t("Crie uma conta na huggingface.co"),x=t(" para se beneficiar de todos os recursos dispon\xEDveis!"),this.h()},l(g){d=r(g,"\u26A0\uFE0F O Hugging Face Hub n\xE3o \xE9 limitado aos modelos Transformers. Qualquer um pode compartilhar quaisquer tipos de modelos ou datasets que quiserem! "),$=l(g,"A",{href:!0});var f=i($);h=r(f,"Crie uma conta na huggingface.co"),f.forEach(a),x=r(g," para se beneficiar de todos os recursos dispon\xEDveis!"),this.h()},h(){c($,"href","https://huggingface.co/join")},m(g,f){p(g,d,f),p(g,$,f),s($,h),p(g,x,f)},d(g){g&&a(d),g&&a($),g&&a(x)}}}function lm(C){let d,$,h,x,g;return{c(){d=n("p"),$=t("\u270F\uFE0F "),h=n("strong"),x=t("Experimente!"),g=t(" Brinque com suas pr\xF3prias sequ\xEAncias e r\xF3tulos e veja como o modelo se comporta.")},l(f){d=l(f,"P",{});var v=i(d);$=r(v,"\u270F\uFE0F "),h=l(v,"STRONG",{});var k=i(h);x=r(k,"Experimente!"),k.forEach(a),g=r(v," Brinque com suas pr\xF3prias sequ\xEAncias e r\xF3tulos e veja como o modelo se comporta."),v.forEach(a)},m(f,v){p(f,d,v),s(d,$),s(d,h),s(h,x),s(d,g)},d(f){f&&a(d)}}}function im(C){let d,$,h,x,g,f,v,k,I,P,A;return{c(){d=n("p"),$=t("\u270F\uFE0F "),h=n("strong"),x=t("Experimente!"),g=t(" Use os argumentos "),f=n("code"),v=t("num_return_sequences"),k=t(" e "),I=n("code"),P=t("max_length"),A=t(" para gerar 2 textos com 15 palavras cada.")},l(z){d=l(z,"P",{});var y=i(d);$=r(y,"\u270F\uFE0F "),h=l(y,"STRONG",{});var Y=i(h);x=r(Y,"Experimente!"),Y.forEach(a),g=r(y," Use os argumentos "),f=l(y,"CODE",{});var R=i(f);v=r(R,"num_return_sequences"),R.forEach(a),k=r(y," e "),I=l(y,"CODE",{});var J=i(I);P=r(J,"max_length"),J.forEach(a),A=r(y," para gerar 2 textos com 15 palavras cada."),y.forEach(a)},m(z,y){p(z,d,y),s(d,$),s(d,h),s(h,x),s(d,g),s(d,f),s(f,v),s(d,k),s(d,I),s(I,P),s(d,A)},d(z){z&&a(d)}}}function pm(C){let d,$,h,x,g;return{c(){d=n("p"),$=t("\u270F\uFE0F "),h=n("strong"),x=t("Experimente!"),g=t(" Use os filtros para encontrar um modelo de gera\xE7\xE3o de texto em outra lingua. Fique \xE0 vontade para brincar com o widget e usa-lo em um pipeline!")},l(f){d=l(f,"P",{});var v=i(d);$=r(v,"\u270F\uFE0F "),h=l(v,"STRONG",{});var k=i(h);x=r(k,"Experimente!"),k.forEach(a),g=r(v," Use os filtros para encontrar um modelo de gera\xE7\xE3o de texto em outra lingua. Fique \xE0 vontade para brincar com o widget e usa-lo em um pipeline!"),v.forEach(a)},m(f,v){p(f,d,v),s(d,$),s(d,h),s(h,x),s(d,g)},d(f){f&&a(d)}}}function mm(C){let d,$,h,x,g,f,v,k,I,P,A;return{c(){d=n("p"),$=t("\u270F\uFE0F "),h=n("strong"),x=t("Experimente!"),g=t("  Pesquise pelo modelo "),f=n("code"),v=t("bert-base-cased"),k=t(" no Hub e identifique suas palavras m\xE1scara no widget da API de infer\xEAncia. O que esse modelo prediz para a senten\xE7a em nosso "),I=n("code"),P=t("pipeline"),A=t(" no exemplo acima?")},l(z){d=l(z,"P",{});var y=i(d);$=r(y,"\u270F\uFE0F "),h=l(y,"STRONG",{});var Y=i(h);x=r(Y,"Experimente!"),Y.forEach(a),g=r(y,"  Pesquise pelo modelo "),f=l(y,"CODE",{});var R=i(f);v=r(R,"bert-base-cased"),R.forEach(a),k=r(y," no Hub e identifique suas palavras m\xE1scara no widget da API de infer\xEAncia. O que esse modelo prediz para a senten\xE7a em nosso "),I=l(y,"CODE",{});var J=i(I);P=r(J,"pipeline"),J.forEach(a),A=r(y," no exemplo acima?"),y.forEach(a)},m(z,y){p(z,d,y),s(d,$),s(d,h),s(h,x),s(d,g),s(d,f),s(f,v),s(d,k),s(d,I),s(I,P),s(d,A)},d(z){z&&a(d)}}}function um(C){let d,$,h,x,g;return{c(){d=n("p"),$=t("\u270F\uFE0F "),h=n("strong"),x=t("Experimente!"),g=t(" Procure no Model Hub por um modelo capaz de fazer o tageamento de partes do discurso (usualmente abreviado como POS) em ingl\xEAs. O que o modelo prediz para a senten\xE7a no exemplo acima?")},l(f){d=l(f,"P",{});var v=i(d);$=r(v,"\u270F\uFE0F "),h=l(v,"STRONG",{});var k=i(h);x=r(k,"Experimente!"),k.forEach(a),g=r(v," Procure no Model Hub por um modelo capaz de fazer o tageamento de partes do discurso (usualmente abreviado como POS) em ingl\xEAs. O que o modelo prediz para a senten\xE7a no exemplo acima?"),v.forEach(a)},m(f,v){p(f,d,v),s(d,$),s(d,h),s(h,x),s(d,g)},d(f){f&&a(d)}}}function dm(C){let d,$,h,x,g;return{c(){d=n("p"),$=t("\u270F\uFE0F "),h=n("strong"),x=t("Experimente!"),g=t(" Pesquise por modelos de tradu\xE7\xE3o em outras l\xEDnguas e experimente traduzir a senten\xE7a anterior em idiomas diferentes.")},l(f){d=l(f,"P",{});var v=i(d);$=r(v,"\u270F\uFE0F "),h=l(v,"STRONG",{});var k=i(h);x=r(k,"Experimente!"),k.forEach(a),g=r(v," Pesquise por modelos de tradu\xE7\xE3o em outras l\xEDnguas e experimente traduzir a senten\xE7a anterior em idiomas diferentes."),v.forEach(a)},m(f,v){p(f,d,v),s(d,$),s(d,h),s(h,x),s(d,g)},d(f){f&&a(d)}}}function cm(C){let d,$,h,x,g,f,v,k,I,P,A,z,y,Y,R,J,lr,xo,pe,bo,K,me,ns,Re,ir,ls,pr,_o,Ta,mr,qo,ue,di,wo,L,ur,Le,dr,cr,Ve,fr,hr,Eo,de,jo,Ia,gr,yo,X,ce,is,Ge,vr,ps,$r,ko,Ue,Po,fe,xr,ms,br,_r,Ao,Be,Oo,We,zo,Ca,qr,To,Ze,Io,Qe,Co,V,wr,us,Er,jr,ds,yr,kr,No,Na,Pr,Ho,G,cs,Ar,Or,Ye,zr,fs,Tr,Ir,Cr,hs,Nr,So,he,Hr,Je,Sr,Dr,Do,O,Ha,gs,Fr,Mr,Rr,Sa,vs,Lr,Vr,Gr,Da,$s,Ur,Br,Wr,Fa,xs,Zr,Qr,Yr,Ma,bs,Jr,Kr,Xr,Ra,_s,en,an,sn,La,qs,on,tn,rn,Va,ws,nn,ln,pn,Ga,Es,mn,un,Fo,Ua,dn,Mo,ee,ge,js,Ke,cn,ys,fn,Ro,ve,hn,ks,gn,vn,Lo,Xe,Vo,ea,Go,$e,$n,Ps,xn,bn,Uo,xe,Bo,ae,be,As,aa,_n,Os,qn,Wo,Ba,wn,Zo,sa,Qo,oa,Yo,F,En,zs,jn,yn,Ts,kn,Pn,Is,An,On,Jo,_e,Ko,se,qe,Cs,ta,zn,Ns,Tn,Xo,U,In,ra,Cn,Nn,na,Hn,Sn,et,we,Dn,la,Hs,Fn,Mn,at,ia,st,pa,ot,Wa,Rn,tt,Za,Ln,rt,Ee,nt,oe,je,Ss,ma,Vn,Ds,Gn,lt,ye,Un,ua,Bn,Wn,it,ke,Zn,da,Qn,Yn,pt,te,Pe,Fs,ca,Jn,Ms,Kn,mt,Ae,Xn,Rs,el,al,ut,fa,dt,ha,ct,S,sl,Ls,ol,tl,Vs,rl,nl,Gs,ll,il,Us,pl,ml,ft,Oe,ht,re,ze,Bs,ga,ul,Ws,dl,gt,Qa,cl,vt,va,$t,$a,xt,Ya,fl,bt,N,hl,Zs,gl,vl,Qs,$l,xl,Ys,bl,_l,Js,ql,wl,Ks,El,jl,Xs,yl,kl,_t,Te,qt,ne,Ie,eo,xa,Pl,ao,Al,wt,Ce,Ol,so,zl,Tl,Et,ba,jt,_a,yt,Ja,Il,kt,le,Ne,oo,qa,Cl,to,Nl,Pt,Ka,Hl,At,wa,Ot,Ea,zt,B,Sl,ro,Dl,Fl,no,Ml,Rl,Tt,ie,He,lo,ja,Ll,io,Vl,It,W,Gl,po,Ul,Bl,ya,Wl,Zl,Ct,ka,Nt,Pa,Ht,Z,Ql,mo,Yl,Jl,uo,Kl,Xl,St,Se,Dt,De,ei,co,ai,si,Ft;return f=new M({}),A=new tm({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/pt/chapter1/section3.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/pt/chapter1/section3.ipynb"}]}}),pe=new Me({props:{$$slots:{default:[rm]},$$scope:{ctx:C}}}),Re=new M({}),de=new Me({props:{$$slots:{default:[nm]},$$scope:{ctx:C}}}),Ge=new M({}),Ue=new om({props:{id:"tiZFewofSLM"}}),Be=new T({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>)`}}),We=new T({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>}]'}}),Ze=new T({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>]
)`}}),Qe=new T({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>}]`}}),Ke=new M({}),Xe=new T({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>],
)`}}),ea=new T({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>]}`}}),xe=new Me({props:{$$slots:{default:[lm]},$$scope:{ctx:C}}}),aa=new M({}),sa=new T({props:{code:`from transformers import pipeline

generator = pipeline("text-generation")
generator(
    "In this course, we will teach you how to"
)  # nesse curso, n\xF3s te mostraremos como voc\xEA`,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"># nesse curso, n\xF3s te mostraremos como voc\xEA</span>`}}),oa=new T({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'}] # nesse curso, n\xF3s te mostraremos como voc\xEA pode entender e usar o fluxo de dados e a troca de dados quando for lidar com dados do usu\xE1rio. N\xF3s estaremos trabalhando com um ou um dos mais comuns fluxos de dados utilizados - fluxo de dados de v\xE1rios tipos, como visto pelo '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>}] <span class="hljs-comment"># nesse curso, n\xF3s te mostraremos como voc\xEA pode entender e usar o fluxo de dados e a troca de dados quando for lidar com dados do usu\xE1rio. N\xF3s estaremos trabalhando com um ou um dos mais comuns fluxos de dados utilizados - fluxo de dados de v\xE1rios tipos, como visto pelo &#x27;HTTP&#x27;</span>`}}),_e=new Me({props:{$$slots:{default:[im]},$$scope:{ctx:C}}}),ta=new M({}),ia=new T({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>,
)`}}),pa=new T({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>}]`}}),Ee=new Me({props:{$$slots:{default:[pm]},$$scope:{ctx:C}}}),ma=new M({}),ca=new M({}),fa=new T({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>)`}}),ha=new T({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>}]`}}),Oe=new Me({props:{$$slots:{default:[mm]},$$scope:{ctx:C}}}),ga=new M({}),va=new T({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>)`}}),$a=new T({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>}
]`}}),Te=new Me({props:{$$slots:{default:[um]},$$scope:{ctx:C}}}),xa=new M({}),ba=new T({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>,
)`}}),_a=new T({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>}'}}),qa=new M({}),wa=new T({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>
)`}}),Ea=new T({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>}]`}}),ja=new M({}),ka=new T({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>)`}}),Pa=new T({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>}]'}}),Se=new Me({props:{$$slots:{default:[dm]},$$scope:{ctx:C}}}),{c(){d=n("meta"),$=m(),h=n("h1"),x=n("a"),g=n("span"),b(f.$$.fragment),v=m(),k=n("span"),I=t("Transformers, o que eles podem fazer?"),P=m(),b(A.$$.fragment),z=m(),y=n("p"),Y=t("Nessa se\xE7\xE3o, observaremos sobre o que os modelos Transformers podem fazer e usar nossa primeira ferramenta da biblioteca \u{1F917} Transformers: a fun\xE7\xE3o "),R=n("code"),J=t("pipeline()"),lr=t(" ."),xo=m(),b(pe.$$.fragment),bo=m(),K=n("h2"),me=n("a"),ns=n("span"),b(Re.$$.fragment),ir=m(),ls=n("span"),pr=t("Transformers est\xE3o por toda parte!"),_o=m(),Ta=n("p"),mr=t("Os modelos Transformers s\xE3o usados para resolver todos os tipos de tarefas de NLP, como algumas j\xE1 mencionadas na se\xE7\xE3o anterior. Aqui est\xE3o algumas empresas e organiza\xE7\xF5es usando a Hugging Face e os modelos Transformers, que tamb\xE9m contribuem de volta para a comunidade compartilhando seus modelos:"),qo=m(),ue=n("img"),wo=m(),L=n("p"),ur=t("A "),Le=n("a"),dr=t("biblioteca \u{1F917} Transformers"),cr=t(" oferece a funcionalidade para criar e usar esses modelos compartilhados. O "),Ve=n("a"),fr=t("Model Hub"),hr=t(" cont\xE9m milhares de modelos pr\xE9-treinados que qualquer um pode baixar e usar. Voc\xEA pode tamb\xE9m dar upload nos seus pr\xF3prios modelos no Hub!"),Eo=m(),b(de.$$.fragment),jo=m(),Ia=n("p"),gr=t("Antes de aprofundarmos sobre como os modelos Transformers funcionam por debaixo dos panos, vamos olhar alguns exemplos de como eles podem ser usados para solucionar alguns problemas de NLP interessantes."),yo=m(),X=n("h2"),ce=n("a"),is=n("span"),b(Ge.$$.fragment),vr=m(),ps=n("span"),$r=t("Trabalhando com pipelines"),ko=m(),b(Ue.$$.fragment),Po=m(),fe=n("p"),xr=t("O objeto mais b\xE1sico na biblioteca \u{1F917} Transformers \xE9 a fun\xE7\xE3o "),ms=n("code"),br=t("pipeline()"),_r=t(" . Ela conecta o modelo com seus passos necess\xE1rios de pr\xE9 e p\xF3s-processamento, permitindo-nos a diretamente inserir qualquer texto e obter uma resposta intelig\xEDvel:"),Ao=m(),b(Be.$$.fragment),Oo=m(),b(We.$$.fragment),zo=m(),Ca=n("p"),qr=t("N\xF3s at\xE9 podemos passar v\xE1rias senten\xE7as!"),To=m(),b(Ze.$$.fragment),Io=m(),b(Qe.$$.fragment),Co=m(),V=n("p"),wr=t("Por padr\xE3o, esse pipeline seleciona particularmente um modelo pr\xE9-treinado que tem sido "),us=n("em"),Er=t("ajustado"),jr=t(" (fine-tuned) para an\xE1lise de sentimentos em Ingl\xEAs. O modelo \xE9 baixado e cacheado quando voc\xEA criar o objeto "),ds=n("code"),yr=t("classifier"),kr=t(". Se voc\xEA rodar novamente o comando, o modelo cacheado ir\xE1 ser usado no lugar e n\xE3o haver\xE1 necessidade de baixar o modelo novamente."),No=m(),Na=n("p"),Pr=t("H\xE1 tr\xEAs principais passos envolvidos quando voc\xEA passa algum texto para um pipeline:"),Ho=m(),G=n("ol"),cs=n("li"),Ar=t("O texto \xE9 pr\xE9-processado para um formato que o modelo consiga entender."),Or=m(),Ye=n("li"),zr=t("As entradas ("),fs=n("em"),Tr=t("inputs"),Ir=t(") pr\xE9-processados s\xE3o passadas para o modelo."),Cr=m(),hs=n("li"),Nr=t("As predi\xE7\xF5es do modelo s\xE3o p\xF3s-processadas, para que ent\xE3o voc\xEA consiga atribuir sentido a elas."),So=m(),he=n("p"),Hr=t("Alguns dos "),Je=n("a"),Sr=t("pipelines dispon\xEDveis"),Dr=t(" atualmente, s\xE3o:"),Do=m(),O=n("ul"),Ha=n("li"),gs=n("code"),Fr=t("feature-extraction"),Mr=t(" (pega a representa\xE7\xE3o vetorial do texto)"),Rr=m(),Sa=n("li"),vs=n("code"),Lr=t("fill-mask"),Vr=t(" (preenchimento de m\xE1scara)"),Gr=m(),Da=n("li"),$s=n("code"),Ur=t("ner"),Br=t(" (reconhecimento de entidades nomeadas)"),Wr=m(),Fa=n("li"),xs=n("code"),Zr=t("question-answering"),Qr=t(" (responder perguntas)"),Yr=m(),Ma=n("li"),bs=n("code"),Jr=t("sentiment-analysis"),Kr=t(" (an\xE1lise de sentimentos)"),Xr=m(),Ra=n("li"),_s=n("code"),en=t("summarization"),an=t(" (sumariza\xE7\xE3o)"),sn=m(),La=n("li"),qs=n("code"),on=t("text-generation"),tn=t(" (gera\xE7\xE3o de texto)"),rn=m(),Va=n("li"),ws=n("code"),nn=t("translation"),ln=t(" (tradu\xE7\xE3o)"),pn=m(),Ga=n("li"),Es=n("code"),mn=t("zero-shot-classification"),un=t(" (classifica\xE7\xE3o \u201Czero-shot\u201D)"),Fo=m(),Ua=n("p"),dn=t("Vamos dar uma olhada em alguns desses!"),Mo=m(),ee=n("h2"),ge=n("a"),js=n("span"),b(Ke.$$.fragment),cn=m(),ys=n("span"),fn=t("Classifica\xE7\xE3o Zero-shot"),Ro=m(),ve=n("p"),hn=t("N\xF3s come\xE7aremos abordando uma tarefa mais desafiadora da qual n\xF3s precisamos classificar texto que n\xE3o tenham sido rotulados. Esse \xE9 um cen\xE1rio comum nos projetos reais porque anotar texto geralmente consome bastante do nosso tempo e requer expertise no dom\xEDnio. Para esse caso, o pipeline "),ks=n("code"),gn=t("zero-shot-classification"),vn=t(" \xE9 muito poderoso: permite voc\xEA especificar quais r\xF3tulos usar para a classifica\xE7\xE3o, desse modo voc\xEA n\xE3o precisa \u201Cconfiar\u201D nos r\xF3tulos dos modelos pr\xE9-treinados. Voc\xEA j\xE1 viu como um modelo pode classificar uma senten\xE7a como positiva ou negativa usando esses dois r\xF3tulos - mas tamb\xE9m pode ser classificado usando qualquer outro conjunto de r\xF3tulos que voc\xEA quiser."),Lo=m(),b(Xe.$$.fragment),Vo=m(),b(ea.$$.fragment),Go=m(),$e=n("p"),$n=t("Esse pipeline \xE9 chamado de "),Ps=n("em"),xn=t("zero-shot"),bn=t(" porque voc\xEA n\xE3o precisa fazer o ajuste fino do modelo nos dados que voc\xEA o utiliza. Pode diretamente retornar scores de probabilidade para qualquer lista de r\xF3tulos que voc\xEA quiser!"),Uo=m(),b(xe.$$.fragment),Bo=m(),ae=n("h2"),be=n("a"),As=n("span"),b(aa.$$.fragment),_n=m(),Os=n("span"),qn=t("Gera\xE7\xE3o de Texto"),Wo=m(),Ba=n("p"),wn=t("Agora vamos ver como usar um pipeline para gerar uma por\xE7\xE3o de texto. A principal ideia aqui \xE9 que voc\xEA coloque um peda\xE7o de texto e o modelo ir\xE1 autocomplet\xE1-lo ao gerar o texto restante. Isso \xE9 similar ao recurso de predi\xE7\xE3o textual que \xE9 encontrado em in\xFAmeros celulares. A gera\xE7\xE3o de texto envolve aleatoriedade, ent\xE3o \xE9 normal se voc\xEA n\xE3o obter o mesmo resultado obtido mostrado abaixo."),Zo=m(),b(sa.$$.fragment),Qo=m(),b(oa.$$.fragment),Yo=m(),F=n("p"),En=t("Voc\xEA pode controlar qu\xE3o diferentes sequ\xEAncias s\xE3o geradas com o argumento "),zs=n("code"),jn=t("num_return_sequences"),yn=t(" e o tamanho total da sa\xEDda de texto ("),Ts=n("em"),kn=t("output"),Pn=t(") com o argumento "),Is=n("code"),An=t("max_length"),On=t("."),Jo=m(),b(_e.$$.fragment),Ko=m(),se=n("h2"),qe=n("a"),Cs=n("span"),b(ta.$$.fragment),zn=m(),Ns=n("span"),Tn=t("Usando qualquer modelo do Hub em um pipeline"),Xo=m(),U=n("p"),In=t("Nos exemplos passados, usamos o modelo padr\xE3o para a tarefa que executamos, mas voc\xEA pode usar um modelo particular do Hub para us\xE1-lo no pipeline em uma tarefa espec\xEDfica \u2014 exemplo, gera\xE7\xE3o de texto. V\xE1 ao "),ra=n("a"),Cn=t("Model Hub"),Nn=t(" e clique na tag correspondente na esquerda para mostrar apenas os modelos suport\xE1veis para aquela tarefa. Voc\xEA dever\xE1 ir a uma p\xE1gina como "),na=n("a"),Hn=t("essa"),Sn=t("."),et=m(),we=n("p"),Dn=t("Vamos tentar o  modelo "),la=n("a"),Hs=n("code"),Fn=t("distilgpt2"),Mn=t("! Aqui est\xE1 como carrega-lo no mesmo pipeline como antes:"),at=m(),b(ia.$$.fragment),st=m(),b(pa.$$.fragment),ot=m(),Wa=n("p"),Rn=t("Voc\xEA pode refinar sua pesquisa por um modelo clicando nas tags de linguagem, e pegando o modelo que gerar\xE1 o texto em outra lingua. O Model Hub at\xE9 mesmo cont\xE9m checkpoints para modelos multilinguais que suportem v\xE1rias linguas."),tt=m(),Za=n("p"),Ln=t("Uma vez que voc\xEA seleciona o modelo clicando nele, voc\xEA ir\xE1 ver que h\xE1 um widget que permite que voc\xEA teste-o diretamente online. Desse modo voc\xEA pode rapidamente testar as capacidades do modelo antes de baixa-lo."),rt=m(),b(Ee.$$.fragment),nt=m(),oe=n("h3"),je=n("a"),Ss=n("span"),b(ma.$$.fragment),Vn=m(),Ds=n("span"),Gn=t("A API de Infer\xEAncia"),lt=m(),ye=n("p"),Un=t("Todos os modelos podem ser testados diretamente de seu navegador usando a API de Infer\xEAnciaI, que est\xE1 dispon\xEDvel no website da "),ua=n("a"),Bn=t("Hugging Face"),Wn=t(". Voc\xEA pode brincar com o modelo diretamente pela p\xE1gina colocando textos customizados e observando como o modelo processa os dados inseridos."),it=m(),ke=n("p"),Zn=t("A API de Infer\xEAncia que alimenta o widget tamb\xE9m est\xE1 dispon\xEDvel como um produto pago, que serve como uma \u201Cm\xE3o na roda\u201D se voc\xEA precisa dela para seus workflows. Olhe a "),da=n("a"),Qn=t("p\xE1gina de pre\xE7os"),Yn=t(" para mais detalhes."),pt=m(),te=n("h2"),Pe=n("a"),Fs=n("span"),b(ca.$$.fragment),Jn=m(),Ms=n("span"),Kn=t("Preenchimento de m\xE1scara (*Mask filling*)"),mt=m(),Ae=n("p"),Xn=t("O pr\xF3ximo pipeline que voc\xEA ir\xE1 testar \xE9 o "),Rs=n("code"),el=t("fill-mask"),al=t(".  A ideia dessa tarefa \xE9 preencher os espa\xE7os em branco com um texto dado:"),ut=m(),b(fa.$$.fragment),dt=m(),b(ha.$$.fragment),ct=m(),S=n("p"),sl=t("O argumento "),Ls=n("code"),ol=t("top_k"),tl=t(" controla quantas possibilidades voc\xEA quer que sejam geradas. Note que aqui o modelo preenche com uma palavra "),Vs=n("code"),rl=t("<m\xE1scara>"),nl=t(" especial, que \xE9 frequentemente referida como "),Gs=n("em"),ll=t("mask token"),il=t(".  Outros modelos de preenchimento de m\xE1scara podem ter diferentes "),Us=n("em"),pl=t("mask tokens"),ml=t(", ent\xE3o \xE9 sempre bom verificar uma palavra m\xE1scara apropriada quando explorar outros modelos. Um modo de checar isso \xE9 olhando para a palavra m\xE1scara usada no widget."),ft=m(),b(Oe.$$.fragment),ht=m(),re=n("h2"),ze=n("a"),Bs=n("span"),b(ga.$$.fragment),ul=m(),Ws=n("span"),dl=t("Reconhecimento de entidades nomeadas"),gt=m(),Qa=n("p"),cl=t("Reconhecimento de Entidades Nomeadas (NER) \xE9 uma tarefa onde o modelo tem de achar quais partes do texto correspondem a entidades como pessoas, locais, organiza\xE7\xF5es. Vamos olhar em um exemplo:"),vt=m(),b(va.$$.fragment),$t=m(),b($a.$$.fragment),xt=m(),Ya=n("p"),fl=t("Aqui o modelo corretamente identificou que Sylvain \xE9 uma pessoa (PER), Hugging Face \xE9 uma organiza\xE7\xE3o (ORG), e Brooklyn \xE9 um local (LOC)."),bt=m(),N=n("p"),hl=t("N\xF3s passamos a op\xE7\xE3o "),Zs=n("code"),gl=t("grouped_entities=True"),vl=t(" na cria\xE7\xE3o da fun\xE7\xE3o do pipelina para dize-lo para reagrupar juntos as partes da senten\xE7a que correspondem \xE0 mesma entidade: aqui o modelo agrupou corretamente \u201CHugging\u201D e \u201CFace\u201D como \xFAnica organiza\xE7\xE3o, ainda que o mesmo nome consista em m\xFAltiplas palavras. Na verdade, como veremos no pr\xF3ximo cap\xEDtulo, o pr\xE9-processamento at\xE9 mesmo divide algumas palavras em partes menores. Por exemplo, "),Qs=n("code"),$l=t("Sylvain"),xl=t("  \xE9 dividido em 4 peda\xE7os: "),Ys=n("code"),bl=t("S"),_l=t(", "),Js=n("code"),ql=t("##yl"),wl=t(", "),Ks=n("code"),El=t("##va"),jl=t(", e "),Xs=n("code"),yl=t("##in"),kl=t(". No passo de p\xF3s-processamento, o pipeline satisfatoriamente reagrupa esses peda\xE7os."),_t=m(),b(Te.$$.fragment),qt=m(),ne=n("h2"),Ie=n("a"),eo=n("span"),b(xa.$$.fragment),Pl=m(),ao=n("span"),Al=t("Responder perguntas"),wt=m(),Ce=n("p"),Ol=t("O pipeline "),so=n("code"),zl=t("question-answering"),Tl=t(" responde perguntas usando informa\xE7\xF5es dado um contexto:"),Et=m(),b(ba.$$.fragment),jt=m(),b(_a.$$.fragment),yt=m(),Ja=n("p"),Il=t("Note que o pipeline funciona atrav\xE9s da extra\xE7\xE3o da informa\xE7\xE3o dado um contexto; n\xE3o gera uma resposta."),kt=m(),le=n("h2"),Ne=n("a"),oo=n("span"),b(qa.$$.fragment),Cl=m(),to=n("span"),Nl=t("Sumariza\xE7\xE3o"),Pt=m(),Ka=n("p"),Hl=t("Sumariza\xE7\xE3o \xE9 uma tarefa de reduzir um texto em um texto menor enquanto pega toda (ou boa parte) dos aspectos importantes do texto referenciado. Aqui um exemplo:"),At=m(),b(wa.$$.fragment),Ot=m(),b(Ea.$$.fragment),zt=m(),B=n("p"),Sl=t("Como a gera\xE7\xE3o de texto, voc\xEA pode especificar o tamanho m\xE1ximo "),ro=n("code"),Dl=t("max_length"),Fl=t(" ou m\xEDnimo "),no=n("code"),Ml=t("min_length"),Rl=t(" para o resultado."),Tt=m(),ie=n("h2"),He=n("a"),lo=n("span"),b(ja.$$.fragment),Ll=m(),io=n("span"),Vl=t("Tradu\xE7\xE3o"),It=m(),W=n("p"),Gl=t("Para tradu\xE7\xE3o, voc\xEA pode usar o modelo default se voc\xEA der um par de idiomas no nome da tarefa (tal como  "),po=n("code"),Ul=t('"translation_en_to_fr"'),Bl=t(", para traduzir ingl\xEAs para franc\xEAs), mas a maneira mais f\xE1cil \xE9 pegar o moddelo que voc\xEA quiser e usa-lo no "),ya=n("a"),Wl=t("Model Hub"),Zl=t(". Aqui n\xF3s iremos tentar traduzir do Franc\xEAs para o Ingl\xEAs:"),Ct=m(),b(ka.$$.fragment),Nt=m(),b(Pa.$$.fragment),Ht=m(),Z=n("p"),Ql=t("Como a gera\xE7\xE3o de texto e a sumariza\xE7\xE3o, voc\xEA pode especificar o tamanho m\xE1ximo  "),mo=n("code"),Yl=t("max_length"),Jl=t("  e m\xEDnimo "),uo=n("code"),Kl=t("min_length"),Xl=t(" para o resultado."),St=m(),b(Se.$$.fragment),Dt=m(),De=n("p"),ei=t("Os pipelines mostrados at\xE9 agora s\xE3o em sua maioria para prop\xF3sitos demonstrativos. Eles foram programados para tarefas espec\xEDficas e n\xE3o podem performar varia\xE7\xF5es delas. No pr\xF3ximo cap\xEDtulo, voc\xEA aprender\xE1 o que est\xE1 por dentro da fun\xE7\xE3o "),co=n("code"),ai=t("pipeline()"),si=t(" e como customizar seu comportamento."),this.h()},l(e){const o=em('[data-svelte="svelte-1phssyn"]',document.head);d=l(o,"META",{name:!0,content:!0}),o.forEach(a),$=u(e),h=l(e,"H1",{class:!0});var Aa=i(h);x=l(Aa,"A",{id:!0,class:!0,href:!0});var fo=i(x);g=l(fo,"SPAN",{});var ho=i(g);_(f.$$.fragment,ho),ho.forEach(a),fo.forEach(a),v=u(Aa),k=l(Aa,"SPAN",{});var go=i(k);I=r(go,"Transformers, o que eles podem fazer?"),go.forEach(a),Aa.forEach(a),P=u(e),_(A.$$.fragment,e),z=u(e),y=l(e,"P",{});var Oa=i(y);Y=r(Oa,"Nessa se\xE7\xE3o, observaremos sobre o que os modelos Transformers podem fazer e usar nossa primeira ferramenta da biblioteca \u{1F917} Transformers: a fun\xE7\xE3o "),R=l(Oa,"CODE",{});var vo=i(R);J=r(vo,"pipeline()"),vo.forEach(a),lr=r(Oa," ."),Oa.forEach(a),xo=u(e),_(pe.$$.fragment,e),bo=u(e),K=l(e,"H2",{class:!0});var za=i(K);me=l(za,"A",{id:!0,class:!0,href:!0});var $o=i(me);ns=l($o,"SPAN",{});var ci=i(ns);_(Re.$$.fragment,ci),ci.forEach(a),$o.forEach(a),ir=u(za),ls=l(za,"SPAN",{});var fi=i(ls);pr=r(fi,"Transformers est\xE3o por toda parte!"),fi.forEach(a),za.forEach(a),_o=u(e),Ta=l(e,"P",{});var hi=i(Ta);mr=r(hi,"Os modelos Transformers s\xE3o usados para resolver todos os tipos de tarefas de NLP, como algumas j\xE1 mencionadas na se\xE7\xE3o anterior. Aqui est\xE3o algumas empresas e organiza\xE7\xF5es usando a Hugging Face e os modelos Transformers, que tamb\xE9m contribuem de volta para a comunidade compartilhando seus modelos:"),hi.forEach(a),qo=u(e),ue=l(e,"IMG",{src:!0,alt:!0,width:!0}),wo=u(e),L=l(e,"P",{});var Xa=i(L);ur=r(Xa,"A "),Le=l(Xa,"A",{href:!0,rel:!0});var gi=i(Le);dr=r(gi,"biblioteca \u{1F917} Transformers"),gi.forEach(a),cr=r(Xa," oferece a funcionalidade para criar e usar esses modelos compartilhados. O "),Ve=l(Xa,"A",{href:!0,rel:!0});var vi=i(Ve);fr=r(vi,"Model Hub"),vi.forEach(a),hr=r(Xa," cont\xE9m milhares de modelos pr\xE9-treinados que qualquer um pode baixar e usar. Voc\xEA pode tamb\xE9m dar upload nos seus pr\xF3prios modelos no Hub!"),Xa.forEach(a),Eo=u(e),_(de.$$.fragment,e),jo=u(e),Ia=l(e,"P",{});var $i=i(Ia);gr=r($i,"Antes de aprofundarmos sobre como os modelos Transformers funcionam por debaixo dos panos, vamos olhar alguns exemplos de como eles podem ser usados para solucionar alguns problemas de NLP interessantes."),$i.forEach(a),yo=u(e),X=l(e,"H2",{class:!0});var Mt=i(X);ce=l(Mt,"A",{id:!0,class:!0,href:!0});var xi=i(ce);is=l(xi,"SPAN",{});var bi=i(is);_(Ge.$$.fragment,bi),bi.forEach(a),xi.forEach(a),vr=u(Mt),ps=l(Mt,"SPAN",{});var _i=i(ps);$r=r(_i,"Trabalhando com pipelines"),_i.forEach(a),Mt.forEach(a),ko=u(e),_(Ue.$$.fragment,e),Po=u(e),fe=l(e,"P",{});var Rt=i(fe);xr=r(Rt,"O objeto mais b\xE1sico na biblioteca \u{1F917} Transformers \xE9 a fun\xE7\xE3o "),ms=l(Rt,"CODE",{});var qi=i(ms);br=r(qi,"pipeline()"),qi.forEach(a),_r=r(Rt," . Ela conecta o modelo com seus passos necess\xE1rios de pr\xE9 e p\xF3s-processamento, permitindo-nos a diretamente inserir qualquer texto e obter uma resposta intelig\xEDvel:"),Rt.forEach(a),Ao=u(e),_(Be.$$.fragment,e),Oo=u(e),_(We.$$.fragment,e),zo=u(e),Ca=l(e,"P",{});var wi=i(Ca);qr=r(wi,"N\xF3s at\xE9 podemos passar v\xE1rias senten\xE7as!"),wi.forEach(a),To=u(e),_(Ze.$$.fragment,e),Io=u(e),_(Qe.$$.fragment,e),Co=u(e),V=l(e,"P",{});var es=i(V);wr=r(es,"Por padr\xE3o, esse pipeline seleciona particularmente um modelo pr\xE9-treinado que tem sido "),us=l(es,"EM",{});var Ei=i(us);Er=r(Ei,"ajustado"),Ei.forEach(a),jr=r(es," (fine-tuned) para an\xE1lise de sentimentos em Ingl\xEAs. O modelo \xE9 baixado e cacheado quando voc\xEA criar o objeto "),ds=l(es,"CODE",{});var ji=i(ds);yr=r(ji,"classifier"),ji.forEach(a),kr=r(es,". Se voc\xEA rodar novamente o comando, o modelo cacheado ir\xE1 ser usado no lugar e n\xE3o haver\xE1 necessidade de baixar o modelo novamente."),es.forEach(a),No=u(e),Na=l(e,"P",{});var yi=i(Na);Pr=r(yi,"H\xE1 tr\xEAs principais passos envolvidos quando voc\xEA passa algum texto para um pipeline:"),yi.forEach(a),Ho=u(e),G=l(e,"OL",{});var as=i(G);cs=l(as,"LI",{});var ki=i(cs);Ar=r(ki,"O texto \xE9 pr\xE9-processado para um formato que o modelo consiga entender."),ki.forEach(a),Or=u(as),Ye=l(as,"LI",{});var Lt=i(Ye);zr=r(Lt,"As entradas ("),fs=l(Lt,"EM",{});var Pi=i(fs);Tr=r(Pi,"inputs"),Pi.forEach(a),Ir=r(Lt,") pr\xE9-processados s\xE3o passadas para o modelo."),Lt.forEach(a),Cr=u(as),hs=l(as,"LI",{});var Ai=i(hs);Nr=r(Ai,"As predi\xE7\xF5es do modelo s\xE3o p\xF3s-processadas, para que ent\xE3o voc\xEA consiga atribuir sentido a elas."),Ai.forEach(a),as.forEach(a),So=u(e),he=l(e,"P",{});var Vt=i(he);Hr=r(Vt,"Alguns dos "),Je=l(Vt,"A",{href:!0,rel:!0});var Oi=i(Je);Sr=r(Oi,"pipelines dispon\xEDveis"),Oi.forEach(a),Dr=r(Vt," atualmente, s\xE3o:"),Vt.forEach(a),Do=u(e),O=l(e,"UL",{});var H=i(O);Ha=l(H,"LI",{});var oi=i(Ha);gs=l(oi,"CODE",{});var zi=i(gs);Fr=r(zi,"feature-extraction"),zi.forEach(a),Mr=r(oi," (pega a representa\xE7\xE3o vetorial do texto)"),oi.forEach(a),Rr=u(H),Sa=l(H,"LI",{});var ti=i(Sa);vs=l(ti,"CODE",{});var Ti=i(vs);Lr=r(Ti,"fill-mask"),Ti.forEach(a),Vr=r(ti," (preenchimento de m\xE1scara)"),ti.forEach(a),Gr=u(H),Da=l(H,"LI",{});var ri=i(Da);$s=l(ri,"CODE",{});var Ii=i($s);Ur=r(Ii,"ner"),Ii.forEach(a),Br=r(ri," (reconhecimento de entidades nomeadas)"),ri.forEach(a),Wr=u(H),Fa=l(H,"LI",{});var ni=i(Fa);xs=l(ni,"CODE",{});var Ci=i(xs);Zr=r(Ci,"question-answering"),Ci.forEach(a),Qr=r(ni," (responder perguntas)"),ni.forEach(a),Yr=u(H),Ma=l(H,"LI",{});var li=i(Ma);bs=l(li,"CODE",{});var Ni=i(bs);Jr=r(Ni,"sentiment-analysis"),Ni.forEach(a),Kr=r(li," (an\xE1lise de sentimentos)"),li.forEach(a),Xr=u(H),Ra=l(H,"LI",{});var ii=i(Ra);_s=l(ii,"CODE",{});var Hi=i(_s);en=r(Hi,"summarization"),Hi.forEach(a),an=r(ii," (sumariza\xE7\xE3o)"),ii.forEach(a),sn=u(H),La=l(H,"LI",{});var pi=i(La);qs=l(pi,"CODE",{});var Si=i(qs);on=r(Si,"text-generation"),Si.forEach(a),tn=r(pi," (gera\xE7\xE3o de texto)"),pi.forEach(a),rn=u(H),Va=l(H,"LI",{});var mi=i(Va);ws=l(mi,"CODE",{});var Di=i(ws);nn=r(Di,"translation"),Di.forEach(a),ln=r(mi," (tradu\xE7\xE3o)"),mi.forEach(a),pn=u(H),Ga=l(H,"LI",{});var ui=i(Ga);Es=l(ui,"CODE",{});var Fi=i(Es);mn=r(Fi,"zero-shot-classification"),Fi.forEach(a),un=r(ui," (classifica\xE7\xE3o \u201Czero-shot\u201D)"),ui.forEach(a),H.forEach(a),Fo=u(e),Ua=l(e,"P",{});var Mi=i(Ua);dn=r(Mi,"Vamos dar uma olhada em alguns desses!"),Mi.forEach(a),Mo=u(e),ee=l(e,"H2",{class:!0});var Gt=i(ee);ge=l(Gt,"A",{id:!0,class:!0,href:!0});var Ri=i(ge);js=l(Ri,"SPAN",{});var Li=i(js);_(Ke.$$.fragment,Li),Li.forEach(a),Ri.forEach(a),cn=u(Gt),ys=l(Gt,"SPAN",{});var Vi=i(ys);fn=r(Vi,"Classifica\xE7\xE3o Zero-shot"),Vi.forEach(a),Gt.forEach(a),Ro=u(e),ve=l(e,"P",{});var Ut=i(ve);hn=r(Ut,"N\xF3s come\xE7aremos abordando uma tarefa mais desafiadora da qual n\xF3s precisamos classificar texto que n\xE3o tenham sido rotulados. Esse \xE9 um cen\xE1rio comum nos projetos reais porque anotar texto geralmente consome bastante do nosso tempo e requer expertise no dom\xEDnio. Para esse caso, o pipeline "),ks=l(Ut,"CODE",{});var Gi=i(ks);gn=r(Gi,"zero-shot-classification"),Gi.forEach(a),vn=r(Ut," \xE9 muito poderoso: permite voc\xEA especificar quais r\xF3tulos usar para a classifica\xE7\xE3o, desse modo voc\xEA n\xE3o precisa \u201Cconfiar\u201D nos r\xF3tulos dos modelos pr\xE9-treinados. Voc\xEA j\xE1 viu como um modelo pode classificar uma senten\xE7a como positiva ou negativa usando esses dois r\xF3tulos - mas tamb\xE9m pode ser classificado usando qualquer outro conjunto de r\xF3tulos que voc\xEA quiser."),Ut.forEach(a),Lo=u(e),_(Xe.$$.fragment,e),Vo=u(e),_(ea.$$.fragment,e),Go=u(e),$e=l(e,"P",{});var Bt=i($e);$n=r(Bt,"Esse pipeline \xE9 chamado de "),Ps=l(Bt,"EM",{});var Ui=i(Ps);xn=r(Ui,"zero-shot"),Ui.forEach(a),bn=r(Bt," porque voc\xEA n\xE3o precisa fazer o ajuste fino do modelo nos dados que voc\xEA o utiliza. Pode diretamente retornar scores de probabilidade para qualquer lista de r\xF3tulos que voc\xEA quiser!"),Bt.forEach(a),Uo=u(e),_(xe.$$.fragment,e),Bo=u(e),ae=l(e,"H2",{class:!0});var Wt=i(ae);be=l(Wt,"A",{id:!0,class:!0,href:!0});var Bi=i(be);As=l(Bi,"SPAN",{});var Wi=i(As);_(aa.$$.fragment,Wi),Wi.forEach(a),Bi.forEach(a),_n=u(Wt),Os=l(Wt,"SPAN",{});var Zi=i(Os);qn=r(Zi,"Gera\xE7\xE3o de Texto"),Zi.forEach(a),Wt.forEach(a),Wo=u(e),Ba=l(e,"P",{});var Qi=i(Ba);wn=r(Qi,"Agora vamos ver como usar um pipeline para gerar uma por\xE7\xE3o de texto. A principal ideia aqui \xE9 que voc\xEA coloque um peda\xE7o de texto e o modelo ir\xE1 autocomplet\xE1-lo ao gerar o texto restante. Isso \xE9 similar ao recurso de predi\xE7\xE3o textual que \xE9 encontrado em in\xFAmeros celulares. A gera\xE7\xE3o de texto envolve aleatoriedade, ent\xE3o \xE9 normal se voc\xEA n\xE3o obter o mesmo resultado obtido mostrado abaixo."),Qi.forEach(a),Zo=u(e),_(sa.$$.fragment,e),Qo=u(e),_(oa.$$.fragment,e),Yo=u(e),F=l(e,"P",{});var Fe=i(F);En=r(Fe,"Voc\xEA pode controlar qu\xE3o diferentes sequ\xEAncias s\xE3o geradas com o argumento "),zs=l(Fe,"CODE",{});var Yi=i(zs);jn=r(Yi,"num_return_sequences"),Yi.forEach(a),yn=r(Fe," e o tamanho total da sa\xEDda de texto ("),Ts=l(Fe,"EM",{});var Ji=i(Ts);kn=r(Ji,"output"),Ji.forEach(a),Pn=r(Fe,") com o argumento "),Is=l(Fe,"CODE",{});var Ki=i(Is);An=r(Ki,"max_length"),Ki.forEach(a),On=r(Fe,"."),Fe.forEach(a),Jo=u(e),_(_e.$$.fragment,e),Ko=u(e),se=l(e,"H2",{class:!0});var Zt=i(se);qe=l(Zt,"A",{id:!0,class:!0,href:!0});var Xi=i(qe);Cs=l(Xi,"SPAN",{});var ep=i(Cs);_(ta.$$.fragment,ep),ep.forEach(a),Xi.forEach(a),zn=u(Zt),Ns=l(Zt,"SPAN",{});var ap=i(Ns);Tn=r(ap,"Usando qualquer modelo do Hub em um pipeline"),ap.forEach(a),Zt.forEach(a),Xo=u(e),U=l(e,"P",{});var ss=i(U);In=r(ss,"Nos exemplos passados, usamos o modelo padr\xE3o para a tarefa que executamos, mas voc\xEA pode usar um modelo particular do Hub para us\xE1-lo no pipeline em uma tarefa espec\xEDfica \u2014 exemplo, gera\xE7\xE3o de texto. V\xE1 ao "),ra=l(ss,"A",{href:!0,rel:!0});var sp=i(ra);Cn=r(sp,"Model Hub"),sp.forEach(a),Nn=r(ss," e clique na tag correspondente na esquerda para mostrar apenas os modelos suport\xE1veis para aquela tarefa. Voc\xEA dever\xE1 ir a uma p\xE1gina como "),na=l(ss,"A",{href:!0,rel:!0});var op=i(na);Hn=r(op,"essa"),op.forEach(a),Sn=r(ss,"."),ss.forEach(a),et=u(e),we=l(e,"P",{});var Qt=i(we);Dn=r(Qt,"Vamos tentar o  modelo "),la=l(Qt,"A",{href:!0,rel:!0});var tp=i(la);Hs=l(tp,"CODE",{});var rp=i(Hs);Fn=r(rp,"distilgpt2"),rp.forEach(a),tp.forEach(a),Mn=r(Qt,"! Aqui est\xE1 como carrega-lo no mesmo pipeline como antes:"),Qt.forEach(a),at=u(e),_(ia.$$.fragment,e),st=u(e),_(pa.$$.fragment,e),ot=u(e),Wa=l(e,"P",{});var np=i(Wa);Rn=r(np,"Voc\xEA pode refinar sua pesquisa por um modelo clicando nas tags de linguagem, e pegando o modelo que gerar\xE1 o texto em outra lingua. O Model Hub at\xE9 mesmo cont\xE9m checkpoints para modelos multilinguais que suportem v\xE1rias linguas."),np.forEach(a),tt=u(e),Za=l(e,"P",{});var lp=i(Za);Ln=r(lp,"Uma vez que voc\xEA seleciona o modelo clicando nele, voc\xEA ir\xE1 ver que h\xE1 um widget que permite que voc\xEA teste-o diretamente online. Desse modo voc\xEA pode rapidamente testar as capacidades do modelo antes de baixa-lo."),lp.forEach(a),rt=u(e),_(Ee.$$.fragment,e),nt=u(e),oe=l(e,"H3",{class:!0});var Yt=i(oe);je=l(Yt,"A",{id:!0,class:!0,href:!0});var ip=i(je);Ss=l(ip,"SPAN",{});var pp=i(Ss);_(ma.$$.fragment,pp),pp.forEach(a),ip.forEach(a),Vn=u(Yt),Ds=l(Yt,"SPAN",{});var mp=i(Ds);Gn=r(mp,"A API de Infer\xEAncia"),mp.forEach(a),Yt.forEach(a),lt=u(e),ye=l(e,"P",{});var Jt=i(ye);Un=r(Jt,"Todos os modelos podem ser testados diretamente de seu navegador usando a API de Infer\xEAnciaI, que est\xE1 dispon\xEDvel no website da "),ua=l(Jt,"A",{href:!0,rel:!0});var up=i(ua);Bn=r(up,"Hugging Face"),up.forEach(a),Wn=r(Jt,". Voc\xEA pode brincar com o modelo diretamente pela p\xE1gina colocando textos customizados e observando como o modelo processa os dados inseridos."),Jt.forEach(a),it=u(e),ke=l(e,"P",{});var Kt=i(ke);Zn=r(Kt,"A API de Infer\xEAncia que alimenta o widget tamb\xE9m est\xE1 dispon\xEDvel como um produto pago, que serve como uma \u201Cm\xE3o na roda\u201D se voc\xEA precisa dela para seus workflows. Olhe a "),da=l(Kt,"A",{href:!0,rel:!0});var dp=i(da);Qn=r(dp,"p\xE1gina de pre\xE7os"),dp.forEach(a),Yn=r(Kt," para mais detalhes."),Kt.forEach(a),pt=u(e),te=l(e,"H2",{class:!0});var Xt=i(te);Pe=l(Xt,"A",{id:!0,class:!0,href:!0});var cp=i(Pe);Fs=l(cp,"SPAN",{});var fp=i(Fs);_(ca.$$.fragment,fp),fp.forEach(a),cp.forEach(a),Jn=u(Xt),Ms=l(Xt,"SPAN",{});var hp=i(Ms);Kn=r(hp,"Preenchimento de m\xE1scara (*Mask filling*)"),hp.forEach(a),Xt.forEach(a),mt=u(e),Ae=l(e,"P",{});var er=i(Ae);Xn=r(er,"O pr\xF3ximo pipeline que voc\xEA ir\xE1 testar \xE9 o "),Rs=l(er,"CODE",{});var gp=i(Rs);el=r(gp,"fill-mask"),gp.forEach(a),al=r(er,".  A ideia dessa tarefa \xE9 preencher os espa\xE7os em branco com um texto dado:"),er.forEach(a),ut=u(e),_(fa.$$.fragment,e),dt=u(e),_(ha.$$.fragment,e),ct=u(e),S=l(e,"P",{});var Q=i(S);sl=r(Q,"O argumento "),Ls=l(Q,"CODE",{});var vp=i(Ls);ol=r(vp,"top_k"),vp.forEach(a),tl=r(Q," controla quantas possibilidades voc\xEA quer que sejam geradas. Note que aqui o modelo preenche com uma palavra "),Vs=l(Q,"CODE",{});var $p=i(Vs);rl=r($p,"<m\xE1scara>"),$p.forEach(a),nl=r(Q," especial, que \xE9 frequentemente referida como "),Gs=l(Q,"EM",{});var xp=i(Gs);ll=r(xp,"mask token"),xp.forEach(a),il=r(Q,".  Outros modelos de preenchimento de m\xE1scara podem ter diferentes "),Us=l(Q,"EM",{});var bp=i(Us);pl=r(bp,"mask tokens"),bp.forEach(a),ml=r(Q,", ent\xE3o \xE9 sempre bom verificar uma palavra m\xE1scara apropriada quando explorar outros modelos. Um modo de checar isso \xE9 olhando para a palavra m\xE1scara usada no widget."),Q.forEach(a),ft=u(e),_(Oe.$$.fragment,e),ht=u(e),re=l(e,"H2",{class:!0});var ar=i(re);ze=l(ar,"A",{id:!0,class:!0,href:!0});var _p=i(ze);Bs=l(_p,"SPAN",{});var qp=i(Bs);_(ga.$$.fragment,qp),qp.forEach(a),_p.forEach(a),ul=u(ar),Ws=l(ar,"SPAN",{});var wp=i(Ws);dl=r(wp,"Reconhecimento de entidades nomeadas"),wp.forEach(a),ar.forEach(a),gt=u(e),Qa=l(e,"P",{});var Ep=i(Qa);cl=r(Ep,"Reconhecimento de Entidades Nomeadas (NER) \xE9 uma tarefa onde o modelo tem de achar quais partes do texto correspondem a entidades como pessoas, locais, organiza\xE7\xF5es. Vamos olhar em um exemplo:"),Ep.forEach(a),vt=u(e),_(va.$$.fragment,e),$t=u(e),_($a.$$.fragment,e),xt=u(e),Ya=l(e,"P",{});var jp=i(Ya);fl=r(jp,"Aqui o modelo corretamente identificou que Sylvain \xE9 uma pessoa (PER), Hugging Face \xE9 uma organiza\xE7\xE3o (ORG), e Brooklyn \xE9 um local (LOC)."),jp.forEach(a),bt=u(e),N=l(e,"P",{});var D=i(N);hl=r(D,"N\xF3s passamos a op\xE7\xE3o "),Zs=l(D,"CODE",{});var yp=i(Zs);gl=r(yp,"grouped_entities=True"),yp.forEach(a),vl=r(D," na cria\xE7\xE3o da fun\xE7\xE3o do pipelina para dize-lo para reagrupar juntos as partes da senten\xE7a que correspondem \xE0 mesma entidade: aqui o modelo agrupou corretamente \u201CHugging\u201D e \u201CFace\u201D como \xFAnica organiza\xE7\xE3o, ainda que o mesmo nome consista em m\xFAltiplas palavras. Na verdade, como veremos no pr\xF3ximo cap\xEDtulo, o pr\xE9-processamento at\xE9 mesmo divide algumas palavras em partes menores. Por exemplo, "),Qs=l(D,"CODE",{});var kp=i(Qs);$l=r(kp,"Sylvain"),kp.forEach(a),xl=r(D,"  \xE9 dividido em 4 peda\xE7os: "),Ys=l(D,"CODE",{});var Pp=i(Ys);bl=r(Pp,"S"),Pp.forEach(a),_l=r(D,", "),Js=l(D,"CODE",{});var Ap=i(Js);ql=r(Ap,"##yl"),Ap.forEach(a),wl=r(D,", "),Ks=l(D,"CODE",{});var Op=i(Ks);El=r(Op,"##va"),Op.forEach(a),jl=r(D,", e "),Xs=l(D,"CODE",{});var zp=i(Xs);yl=r(zp,"##in"),zp.forEach(a),kl=r(D,". No passo de p\xF3s-processamento, o pipeline satisfatoriamente reagrupa esses peda\xE7os."),D.forEach(a),_t=u(e),_(Te.$$.fragment,e),qt=u(e),ne=l(e,"H2",{class:!0});var sr=i(ne);Ie=l(sr,"A",{id:!0,class:!0,href:!0});var Tp=i(Ie);eo=l(Tp,"SPAN",{});var Ip=i(eo);_(xa.$$.fragment,Ip),Ip.forEach(a),Tp.forEach(a),Pl=u(sr),ao=l(sr,"SPAN",{});var Cp=i(ao);Al=r(Cp,"Responder perguntas"),Cp.forEach(a),sr.forEach(a),wt=u(e),Ce=l(e,"P",{});var or=i(Ce);Ol=r(or,"O pipeline "),so=l(or,"CODE",{});var Np=i(so);zl=r(Np,"question-answering"),Np.forEach(a),Tl=r(or," responde perguntas usando informa\xE7\xF5es dado um contexto:"),or.forEach(a),Et=u(e),_(ba.$$.fragment,e),jt=u(e),_(_a.$$.fragment,e),yt=u(e),Ja=l(e,"P",{});var Hp=i(Ja);Il=r(Hp,"Note que o pipeline funciona atrav\xE9s da extra\xE7\xE3o da informa\xE7\xE3o dado um contexto; n\xE3o gera uma resposta."),Hp.forEach(a),kt=u(e),le=l(e,"H2",{class:!0});var tr=i(le);Ne=l(tr,"A",{id:!0,class:!0,href:!0});var Sp=i(Ne);oo=l(Sp,"SPAN",{});var Dp=i(oo);_(qa.$$.fragment,Dp),Dp.forEach(a),Sp.forEach(a),Cl=u(tr),to=l(tr,"SPAN",{});var Fp=i(to);Nl=r(Fp,"Sumariza\xE7\xE3o"),Fp.forEach(a),tr.forEach(a),Pt=u(e),Ka=l(e,"P",{});var Mp=i(Ka);Hl=r(Mp,"Sumariza\xE7\xE3o \xE9 uma tarefa de reduzir um texto em um texto menor enquanto pega toda (ou boa parte) dos aspectos importantes do texto referenciado. Aqui um exemplo:"),Mp.forEach(a),At=u(e),_(wa.$$.fragment,e),Ot=u(e),_(Ea.$$.fragment,e),zt=u(e),B=l(e,"P",{});var os=i(B);Sl=r(os,"Como a gera\xE7\xE3o de texto, voc\xEA pode especificar o tamanho m\xE1ximo "),ro=l(os,"CODE",{});var Rp=i(ro);Dl=r(Rp,"max_length"),Rp.forEach(a),Fl=r(os," ou m\xEDnimo "),no=l(os,"CODE",{});var Lp=i(no);Ml=r(Lp,"min_length"),Lp.forEach(a),Rl=r(os," para o resultado."),os.forEach(a),Tt=u(e),ie=l(e,"H2",{class:!0});var rr=i(ie);He=l(rr,"A",{id:!0,class:!0,href:!0});var Vp=i(He);lo=l(Vp,"SPAN",{});var Gp=i(lo);_(ja.$$.fragment,Gp),Gp.forEach(a),Vp.forEach(a),Ll=u(rr),io=l(rr,"SPAN",{});var Up=i(io);Vl=r(Up,"Tradu\xE7\xE3o"),Up.forEach(a),rr.forEach(a),It=u(e),W=l(e,"P",{});var ts=i(W);Gl=r(ts,"Para tradu\xE7\xE3o, voc\xEA pode usar o modelo default se voc\xEA der um par de idiomas no nome da tarefa (tal como  "),po=l(ts,"CODE",{});var Bp=i(po);Ul=r(Bp,'"translation_en_to_fr"'),Bp.forEach(a),Bl=r(ts,", para traduzir ingl\xEAs para franc\xEAs), mas a maneira mais f\xE1cil \xE9 pegar o moddelo que voc\xEA quiser e usa-lo no "),ya=l(ts,"A",{href:!0,rel:!0});var Wp=i(ya);Wl=r(Wp,"Model Hub"),Wp.forEach(a),Zl=r(ts,". Aqui n\xF3s iremos tentar traduzir do Franc\xEAs para o Ingl\xEAs:"),ts.forEach(a),Ct=u(e),_(ka.$$.fragment,e),Nt=u(e),_(Pa.$$.fragment,e),Ht=u(e),Z=l(e,"P",{});var rs=i(Z);Ql=r(rs,"Como a gera\xE7\xE3o de texto e a sumariza\xE7\xE3o, voc\xEA pode especificar o tamanho m\xE1ximo  "),mo=l(rs,"CODE",{});var Zp=i(mo);Yl=r(Zp,"max_length"),Zp.forEach(a),Jl=r(rs,"  e m\xEDnimo "),uo=l(rs,"CODE",{});var Qp=i(uo);Kl=r(Qp,"min_length"),Qp.forEach(a),Xl=r(rs," para o resultado."),rs.forEach(a),St=u(e),_(Se.$$.fragment,e),Dt=u(e),De=l(e,"P",{});var nr=i(De);ei=r(nr,"Os pipelines mostrados at\xE9 agora s\xE3o em sua maioria para prop\xF3sitos demonstrativos. Eles foram programados para tarefas espec\xEDficas e n\xE3o podem performar varia\xE7\xF5es delas. No pr\xF3ximo cap\xEDtulo, voc\xEA aprender\xE1 o que est\xE1 por dentro da fun\xE7\xE3o "),co=l(nr,"CODE",{});var Yp=i(co);ai=r(Yp,"pipeline()"),Yp.forEach(a),si=r(nr," e como customizar seu comportamento."),nr.forEach(a),this.h()},h(){c(d,"name","hf:doc:metadata"),c(d,"content",JSON.stringify(fm)),c(x,"id","transformers-o-que-eles-podem-fazer"),c(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"),c(x,"href","#transformers-o-que-eles-podem-fazer"),c(h,"class","relative group"),c(me,"id","transformers-esto-por-toda-parte"),c(me,"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"),c(me,"href","#transformers-esto-por-toda-parte"),c(K,"class","relative group"),am(ue.src,di="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter1/companies.PNG")||c(ue,"src",di),c(ue,"alt","Empresas usando a Hugging Face"),c(ue,"width","100%"),c(Le,"href","https://github.com/huggingface/transformers"),c(Le,"rel","nofollow"),c(Ve,"href","https://huggingface.co/models"),c(Ve,"rel","nofollow"),c(ce,"id","trabalhando-com-pipelines"),c(ce,"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"),c(ce,"href","#trabalhando-com-pipelines"),c(X,"class","relative group"),c(Je,"href","https://huggingface.co/transformers/main_classes/pipelines.html"),c(Je,"rel","nofollow"),c(ge,"id","classificao-zeroshot"),c(ge,"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"),c(ge,"href","#classificao-zeroshot"),c(ee,"class","relative group"),c(be,"id","gerao-de-texto"),c(be,"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"),c(be,"href","#gerao-de-texto"),c(ae,"class","relative group"),c(qe,"id","usando-qualquer-modelo-do-hub-em-um-pipeline"),c(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"),c(qe,"href","#usando-qualquer-modelo-do-hub-em-um-pipeline"),c(se,"class","relative group"),c(ra,"href","https://huggingface.co/models"),c(ra,"rel","nofollow"),c(na,"href","https://huggingface.co/models?pipeline_tag=text-generation"),c(na,"rel","nofollow"),c(la,"href","https://huggingface.co/distilgpt2"),c(la,"rel","nofollow"),c(je,"id","a-api-de-inferncia"),c(je,"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"),c(je,"href","#a-api-de-inferncia"),c(oe,"class","relative group"),c(ua,"href","https://huggingface.co/"),c(ua,"rel","nofollow"),c(da,"href","https://huggingface.co/pricing"),c(da,"rel","nofollow"),c(Pe,"id","preenchimento-de-mscara-mask-filling"),c(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"),c(Pe,"href","#preenchimento-de-mscara-mask-filling"),c(te,"class","relative group"),c(ze,"id","reconhecimento-de-entidades-nomeadas"),c(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"),c(ze,"href","#reconhecimento-de-entidades-nomeadas"),c(re,"class","relative group"),c(Ie,"id","responder-perguntas"),c(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"),c(Ie,"href","#responder-perguntas"),c(ne,"class","relative group"),c(Ne,"id","sumarizao"),c(Ne,"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"),c(Ne,"href","#sumarizao"),c(le,"class","relative group"),c(He,"id","traduo"),c(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"),c(He,"href","#traduo"),c(ie,"class","relative group"),c(ya,"href","https://huggingface.co/models"),c(ya,"rel","nofollow")},m(e,o){s(document.head,d),p(e,$,o),p(e,h,o),s(h,x),s(x,g),q(f,g,null),s(h,v),s(h,k),s(k,I),p(e,P,o),q(A,e,o),p(e,z,o),p(e,y,o),s(y,Y),s(y,R),s(R,J),s(y,lr),p(e,xo,o),q(pe,e,o),p(e,bo,o),p(e,K,o),s(K,me),s(me,ns),q(Re,ns,null),s(K,ir),s(K,ls),s(ls,pr),p(e,_o,o),p(e,Ta,o),s(Ta,mr),p(e,qo,o),p(e,ue,o),p(e,wo,o),p(e,L,o),s(L,ur),s(L,Le),s(Le,dr),s(L,cr),s(L,Ve),s(Ve,fr),s(L,hr),p(e,Eo,o),q(de,e,o),p(e,jo,o),p(e,Ia,o),s(Ia,gr),p(e,yo,o),p(e,X,o),s(X,ce),s(ce,is),q(Ge,is,null),s(X,vr),s(X,ps),s(ps,$r),p(e,ko,o),q(Ue,e,o),p(e,Po,o),p(e,fe,o),s(fe,xr),s(fe,ms),s(ms,br),s(fe,_r),p(e,Ao,o),q(Be,e,o),p(e,Oo,o),q(We,e,o),p(e,zo,o),p(e,Ca,o),s(Ca,qr),p(e,To,o),q(Ze,e,o),p(e,Io,o),q(Qe,e,o),p(e,Co,o),p(e,V,o),s(V,wr),s(V,us),s(us,Er),s(V,jr),s(V,ds),s(ds,yr),s(V,kr),p(e,No,o),p(e,Na,o),s(Na,Pr),p(e,Ho,o),p(e,G,o),s(G,cs),s(cs,Ar),s(G,Or),s(G,Ye),s(Ye,zr),s(Ye,fs),s(fs,Tr),s(Ye,Ir),s(G,Cr),s(G,hs),s(hs,Nr),p(e,So,o),p(e,he,o),s(he,Hr),s(he,Je),s(Je,Sr),s(he,Dr),p(e,Do,o),p(e,O,o),s(O,Ha),s(Ha,gs),s(gs,Fr),s(Ha,Mr),s(O,Rr),s(O,Sa),s(Sa,vs),s(vs,Lr),s(Sa,Vr),s(O,Gr),s(O,Da),s(Da,$s),s($s,Ur),s(Da,Br),s(O,Wr),s(O,Fa),s(Fa,xs),s(xs,Zr),s(Fa,Qr),s(O,Yr),s(O,Ma),s(Ma,bs),s(bs,Jr),s(Ma,Kr),s(O,Xr),s(O,Ra),s(Ra,_s),s(_s,en),s(Ra,an),s(O,sn),s(O,La),s(La,qs),s(qs,on),s(La,tn),s(O,rn),s(O,Va),s(Va,ws),s(ws,nn),s(Va,ln),s(O,pn),s(O,Ga),s(Ga,Es),s(Es,mn),s(Ga,un),p(e,Fo,o),p(e,Ua,o),s(Ua,dn),p(e,Mo,o),p(e,ee,o),s(ee,ge),s(ge,js),q(Ke,js,null),s(ee,cn),s(ee,ys),s(ys,fn),p(e,Ro,o),p(e,ve,o),s(ve,hn),s(ve,ks),s(ks,gn),s(ve,vn),p(e,Lo,o),q(Xe,e,o),p(e,Vo,o),q(ea,e,o),p(e,Go,o),p(e,$e,o),s($e,$n),s($e,Ps),s(Ps,xn),s($e,bn),p(e,Uo,o),q(xe,e,o),p(e,Bo,o),p(e,ae,o),s(ae,be),s(be,As),q(aa,As,null),s(ae,_n),s(ae,Os),s(Os,qn),p(e,Wo,o),p(e,Ba,o),s(Ba,wn),p(e,Zo,o),q(sa,e,o),p(e,Qo,o),q(oa,e,o),p(e,Yo,o),p(e,F,o),s(F,En),s(F,zs),s(zs,jn),s(F,yn),s(F,Ts),s(Ts,kn),s(F,Pn),s(F,Is),s(Is,An),s(F,On),p(e,Jo,o),q(_e,e,o),p(e,Ko,o),p(e,se,o),s(se,qe),s(qe,Cs),q(ta,Cs,null),s(se,zn),s(se,Ns),s(Ns,Tn),p(e,Xo,o),p(e,U,o),s(U,In),s(U,ra),s(ra,Cn),s(U,Nn),s(U,na),s(na,Hn),s(U,Sn),p(e,et,o),p(e,we,o),s(we,Dn),s(we,la),s(la,Hs),s(Hs,Fn),s(we,Mn),p(e,at,o),q(ia,e,o),p(e,st,o),q(pa,e,o),p(e,ot,o),p(e,Wa,o),s(Wa,Rn),p(e,tt,o),p(e,Za,o),s(Za,Ln),p(e,rt,o),q(Ee,e,o),p(e,nt,o),p(e,oe,o),s(oe,je),s(je,Ss),q(ma,Ss,null),s(oe,Vn),s(oe,Ds),s(Ds,Gn),p(e,lt,o),p(e,ye,o),s(ye,Un),s(ye,ua),s(ua,Bn),s(ye,Wn),p(e,it,o),p(e,ke,o),s(ke,Zn),s(ke,da),s(da,Qn),s(ke,Yn),p(e,pt,o),p(e,te,o),s(te,Pe),s(Pe,Fs),q(ca,Fs,null),s(te,Jn),s(te,Ms),s(Ms,Kn),p(e,mt,o),p(e,Ae,o),s(Ae,Xn),s(Ae,Rs),s(Rs,el),s(Ae,al),p(e,ut,o),q(fa,e,o),p(e,dt,o),q(ha,e,o),p(e,ct,o),p(e,S,o),s(S,sl),s(S,Ls),s(Ls,ol),s(S,tl),s(S,Vs),s(Vs,rl),s(S,nl),s(S,Gs),s(Gs,ll),s(S,il),s(S,Us),s(Us,pl),s(S,ml),p(e,ft,o),q(Oe,e,o),p(e,ht,o),p(e,re,o),s(re,ze),s(ze,Bs),q(ga,Bs,null),s(re,ul),s(re,Ws),s(Ws,dl),p(e,gt,o),p(e,Qa,o),s(Qa,cl),p(e,vt,o),q(va,e,o),p(e,$t,o),q($a,e,o),p(e,xt,o),p(e,Ya,o),s(Ya,fl),p(e,bt,o),p(e,N,o),s(N,hl),s(N,Zs),s(Zs,gl),s(N,vl),s(N,Qs),s(Qs,$l),s(N,xl),s(N,Ys),s(Ys,bl),s(N,_l),s(N,Js),s(Js,ql),s(N,wl),s(N,Ks),s(Ks,El),s(N,jl),s(N,Xs),s(Xs,yl),s(N,kl),p(e,_t,o),q(Te,e,o),p(e,qt,o),p(e,ne,o),s(ne,Ie),s(Ie,eo),q(xa,eo,null),s(ne,Pl),s(ne,ao),s(ao,Al),p(e,wt,o),p(e,Ce,o),s(Ce,Ol),s(Ce,so),s(so,zl),s(Ce,Tl),p(e,Et,o),q(ba,e,o),p(e,jt,o),q(_a,e,o),p(e,yt,o),p(e,Ja,o),s(Ja,Il),p(e,kt,o),p(e,le,o),s(le,Ne),s(Ne,oo),q(qa,oo,null),s(le,Cl),s(le,to),s(to,Nl),p(e,Pt,o),p(e,Ka,o),s(Ka,Hl),p(e,At,o),q(wa,e,o),p(e,Ot,o),q(Ea,e,o),p(e,zt,o),p(e,B,o),s(B,Sl),s(B,ro),s(ro,Dl),s(B,Fl),s(B,no),s(no,Ml),s(B,Rl),p(e,Tt,o),p(e,ie,o),s(ie,He),s(He,lo),q(ja,lo,null),s(ie,Ll),s(ie,io),s(io,Vl),p(e,It,o),p(e,W,o),s(W,Gl),s(W,po),s(po,Ul),s(W,Bl),s(W,ya),s(ya,Wl),s(W,Zl),p(e,Ct,o),q(ka,e,o),p(e,Nt,o),q(Pa,e,o),p(e,Ht,o),p(e,Z,o),s(Z,Ql),s(Z,mo),s(mo,Yl),s(Z,Jl),s(Z,uo),s(uo,Kl),s(Z,Xl),p(e,St,o),q(Se,e,o),p(e,Dt,o),p(e,De,o),s(De,ei),s(De,co),s(co,ai),s(De,si),Ft=!0},p(e,[o]){const Aa={};o&2&&(Aa.$$scope={dirty:o,ctx:e}),pe.$set(Aa);const fo={};o&2&&(fo.$$scope={dirty:o,ctx:e}),de.$set(fo);const ho={};o&2&&(ho.$$scope={dirty:o,ctx:e}),xe.$set(ho);const go={};o&2&&(go.$$scope={dirty:o,ctx:e}),_e.$set(go);const Oa={};o&2&&(Oa.$$scope={dirty:o,ctx:e}),Ee.$set(Oa);const vo={};o&2&&(vo.$$scope={dirty:o,ctx:e}),Oe.$set(vo);const za={};o&2&&(za.$$scope={dirty:o,ctx:e}),Te.$set(za);const $o={};o&2&&($o.$$scope={dirty:o,ctx:e}),Se.$set($o)},i(e){Ft||(w(f.$$.fragment,e),w(A.$$.fragment,e),w(pe.$$.fragment,e),w(Re.$$.fragment,e),w(de.$$.fragment,e),w(Ge.$$.fragment,e),w(Ue.$$.fragment,e),w(Be.$$.fragment,e),w(We.$$.fragment,e),w(Ze.$$.fragment,e),w(Qe.$$.fragment,e),w(Ke.$$.fragment,e),w(Xe.$$.fragment,e),w(ea.$$.fragment,e),w(xe.$$.fragment,e),w(aa.$$.fragment,e),w(sa.$$.fragment,e),w(oa.$$.fragment,e),w(_e.$$.fragment,e),w(ta.$$.fragment,e),w(ia.$$.fragment,e),w(pa.$$.fragment,e),w(Ee.$$.fragment,e),w(ma.$$.fragment,e),w(ca.$$.fragment,e),w(fa.$$.fragment,e),w(ha.$$.fragment,e),w(Oe.$$.fragment,e),w(ga.$$.fragment,e),w(va.$$.fragment,e),w($a.$$.fragment,e),w(Te.$$.fragment,e),w(xa.$$.fragment,e),w(ba.$$.fragment,e),w(_a.$$.fragment,e),w(qa.$$.fragment,e),w(wa.$$.fragment,e),w(Ea.$$.fragment,e),w(ja.$$.fragment,e),w(ka.$$.fragment,e),w(Pa.$$.fragment,e),w(Se.$$.fragment,e),Ft=!0)},o(e){E(f.$$.fragment,e),E(A.$$.fragment,e),E(pe.$$.fragment,e),E(Re.$$.fragment,e),E(de.$$.fragment,e),E(Ge.$$.fragment,e),E(Ue.$$.fragment,e),E(Be.$$.fragment,e),E(We.$$.fragment,e),E(Ze.$$.fragment,e),E(Qe.$$.fragment,e),E(Ke.$$.fragment,e),E(Xe.$$.fragment,e),E(ea.$$.fragment,e),E(xe.$$.fragment,e),E(aa.$$.fragment,e),E(sa.$$.fragment,e),E(oa.$$.fragment,e),E(_e.$$.fragment,e),E(ta.$$.fragment,e),E(ia.$$.fragment,e),E(pa.$$.fragment,e),E(Ee.$$.fragment,e),E(ma.$$.fragment,e),E(ca.$$.fragment,e),E(fa.$$.fragment,e),E(ha.$$.fragment,e),E(Oe.$$.fragment,e),E(ga.$$.fragment,e),E(va.$$.fragment,e),E($a.$$.fragment,e),E(Te.$$.fragment,e),E(xa.$$.fragment,e),E(ba.$$.fragment,e),E(_a.$$.fragment,e),E(qa.$$.fragment,e),E(wa.$$.fragment,e),E(Ea.$$.fragment,e),E(ja.$$.fragment,e),E(ka.$$.fragment,e),E(Pa.$$.fragment,e),E(Se.$$.fragment,e),Ft=!1},d(e){a(d),e&&a($),e&&a(h),j(f),e&&a(P),j(A,e),e&&a(z),e&&a(y),e&&a(xo),j(pe,e),e&&a(bo),e&&a(K),j(Re),e&&a(_o),e&&a(Ta),e&&a(qo),e&&a(ue),e&&a(wo),e&&a(L),e&&a(Eo),j(de,e),e&&a(jo),e&&a(Ia),e&&a(yo),e&&a(X),j(Ge),e&&a(ko),j(Ue,e),e&&a(Po),e&&a(fe),e&&a(Ao),j(Be,e),e&&a(Oo),j(We,e),e&&a(zo),e&&a(Ca),e&&a(To),j(Ze,e),e&&a(Io),j(Qe,e),e&&a(Co),e&&a(V),e&&a(No),e&&a(Na),e&&a(Ho),e&&a(G),e&&a(So),e&&a(he),e&&a(Do),e&&a(O),e&&a(Fo),e&&a(Ua),e&&a(Mo),e&&a(ee),j(Ke),e&&a(Ro),e&&a(ve),e&&a(Lo),j(Xe,e),e&&a(Vo),j(ea,e),e&&a(Go),e&&a($e),e&&a(Uo),j(xe,e),e&&a(Bo),e&&a(ae),j(aa),e&&a(Wo),e&&a(Ba),e&&a(Zo),j(sa,e),e&&a(Qo),j(oa,e),e&&a(Yo),e&&a(F),e&&a(Jo),j(_e,e),e&&a(Ko),e&&a(se),j(ta),e&&a(Xo),e&&a(U),e&&a(et),e&&a(we),e&&a(at),j(ia,e),e&&a(st),j(pa,e),e&&a(ot),e&&a(Wa),e&&a(tt),e&&a(Za),e&&a(rt),j(Ee,e),e&&a(nt),e&&a(oe),j(ma),e&&a(lt),e&&a(ye),e&&a(it),e&&a(ke),e&&a(pt),e&&a(te),j(ca),e&&a(mt),e&&a(Ae),e&&a(ut),j(fa,e),e&&a(dt),j(ha,e),e&&a(ct),e&&a(S),e&&a(ft),j(Oe,e),e&&a(ht),e&&a(re),j(ga),e&&a(gt),e&&a(Qa),e&&a(vt),j(va,e),e&&a($t),j($a,e),e&&a(xt),e&&a(Ya),e&&a(bt),e&&a(N),e&&a(_t),j(Te,e),e&&a(qt),e&&a(ne),j(xa),e&&a(wt),e&&a(Ce),e&&a(Et),j(ba,e),e&&a(jt),j(_a,e),e&&a(yt),e&&a(Ja),e&&a(kt),e&&a(le),j(qa),e&&a(Pt),e&&a(Ka),e&&a(At),j(wa,e),e&&a(Ot),j(Ea,e),e&&a(zt),e&&a(B),e&&a(Tt),e&&a(ie),j(ja),e&&a(It),e&&a(W),e&&a(Ct),j(ka,e),e&&a(Nt),j(Pa,e),e&&a(Ht),e&&a(Z),e&&a(St),j(Se,e),e&&a(Dt),e&&a(De)}}}const fm={local:"transformers-o-que-eles-podem-fazer",sections:[{local:"transformers-esto-por-toda-parte",title:"Transformers est\xE3o por toda parte!"},{local:"trabalhando-com-pipelines",title:"Trabalhando com pipelines"},{local:"classificao-zeroshot",title:"Classifica\xE7\xE3o Zero-shot "},{local:"gerao-de-texto",title:"Gera\xE7\xE3o de Texto"},{local:"usando-qualquer-modelo-do-hub-em-um-pipeline",sections:[{local:"a-api-de-inferncia",title:"A API de Infer\xEAncia"}],title:"Usando qualquer modelo do Hub em um pipeline"},{local:"preenchimento-de-mscara-mask-filling",title:"Preenchimento de m\xE1scara (*Mask filling*) "},{local:"reconhecimento-de-entidades-nomeadas",title:"Reconhecimento de entidades nomeadas"},{local:"responder-perguntas",title:"Responder perguntas"},{local:"sumarizao",title:"Sumariza\xE7\xE3o"},{local:"traduo",title:"Tradu\xE7\xE3o"}],title:"Transformers, o que eles podem fazer?"};function hm(C){return sm(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class qm extends Jp{constructor(d){super();Kp(this,d,hm,cm,Xp,{})}}export{qm as default,fm as metadata};
