import{S as ws,i as qs,s as Es,e as t,k as u,w as p,t as m,M as _s,c as s,d as o,m as d,a as n,x as f,h as c,b as l,N as $e,G as a,g as i,y as h,L as ks,q as v,o as g,B as b,v as ys}from"../../chunks/vendor-hf-doc-builder.js";import{Y as $s}from"../../chunks/Youtube-hf-doc-builder.js";import{I as Ke}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as at}from"../../chunks/CodeBlock-hf-doc-builder.js";import{C as xs}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";function Ts(rt){let y,_o,$,M,Re,K,za,We,Aa,ko,R,yo,W,$o,N,Ca,Q,Ma,Na,xo,Y,X,tt,To,w,Sa,xe,ja,Da,Z,Ia,Oa,Po,q,Va,ee,Fa,Ha,oe,Ga,Ba,zo,S,La,ae,Ua,Ja,Ao,j,Ka,re,Ra,Wa,Co,x,D,Qe,te,Qa,Ye,Ya,Mo,Te,Xa,No,se,So,I,Za,ie,er,or,jo,ne,Do,me,Io,O,ar,Pe,rr,tr,Oo,V,sr,Xe,ir,nr,Vo,ce,le,st,Fo,ze,mr,Ho,ue,de,it,Go,Ae,cr,Bo,pe,fe,nt,Lo,Ce,lr,Uo,E,Ze,ur,dr,T,pr,eo,fr,hr,oo,vr,gr,br,ao,wr,Jo,Me,qr,Ko,P,F,ro,he,Er,to,_r,Ro,H,kr,so,yr,$r,Wo,Ne,io,xr,Qo,_,Tr,no,Pr,zr,mo,Ar,Cr,Yo,Se,co,Mr,Xo,je,Nr,Zo,z,G,lo,ve,Sr,uo,jr,ea,De,Dr,oa,ge,be,mt,aa,B,Ir,po,Or,Vr,ra,A,L,fo,we,Fr,ho,Hr,ta,k,Gr,vo,Br,Lr,go,Ur,Jr,sa,qe,Ee,ct,ia,Ie,Kr,na,Oe,bo,Rr,ma,Ve,Wr,ca,C,U,wo,_e,Qr,qo,Yr,la,J,Xr,Eo,Zr,et,ua,ke,ye,lt,da,Fe,ot,pa;return K=new Ke({}),R=new xs({props:{chapter:8,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/chapter8/section3.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/pt/chapter8/section3.ipynb"}]}}),W=new $s({props:{id:"S2EEG3JIt2A"}}),te=new Ke({}),se=new at({props:{code:`from transformers import AutoTokenizer, AutoModel

model_checkpoint = "distilbert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = AutoModel.from_pretrained(model_checkpoint)`,highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer, AutoModel

model_checkpoint = <span class="hljs-string">&quot;distilbert-base-uncased&quot;</span>
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = AutoModel.from_pretrained(model_checkpoint)`}}),ne=new at({props:{code:`text = """
Generation One is a retroactive term for the Transformers characters that
appeared between 1984 and 1993. The Transformers began with the 1980s Japanese
toy lines Micro Change and Diaclone. They presented robots able to transform
into everyday vehicles, electronic items or weapons. Hasbro bought the Micro
Change and Diaclone toys, and partnered with Takara. Marvel Comics was hired by
Hasbro to create the backstory; editor-in-chief Jim Shooter wrote an overall
story, and gave the task of creating the characthers to writer Dennis O'Neil.
Unhappy with O'Neil's work (although O'Neil created the name "Optimus Prime"),
Shooter chose Bob Budiansky to create the characters.

The Transformers mecha were largely designed by Sh\u014Dji Kawamori, the creator of
the Japanese mecha anime franchise Macross (which was adapted into the Robotech
franchise in North America). Kawamori came up with the idea of transforming
mechs while working on the Diaclone and Macross franchises in the early 1980s
(such as the VF-1 Valkyrie in Macross and Robotech), with his Diaclone mechs
later providing the basis for Transformers.

The primary concept of Generation One is that the heroic Optimus Prime, the
villainous Megatron, and their finest soldiers crash land on pre-historic Earth
in the Ark and the Nemesis before awakening in 1985, Cybertron hurtling through
the Neutral zone as an effect of the war. The Marvel comic was originally part
of the main Marvel Universe, with appearances from Spider-Man and Nick Fury,
plus some cameos, as well as a visit to the Savage Land.

The Transformers TV series began around the same time. Produced by Sunbow
Productions and Marvel Productions, later Hasbro Productions, from the start it
contradicted Budiansky's backstories. The TV series shows the Autobots looking
for new energy sources, and crash landing as the Decepticons attack. Marvel
interpreted the Autobots as destroying a rogue asteroid approaching Cybertron.
Shockwave is loyal to Megatron in the TV series, keeping Cybertron in a
stalemate during his absence, but in the comic book he attempts to take command
of the Decepticons. The TV series would also differ wildly from the origins
Budiansky had created for the Dinobots, the Decepticon turned Autobot Jetfire
(known as Skyfire on TV), the Constructicons (who combine to form
Devastator),[19][20] and Omega Supreme. The Marvel comic establishes early on
that Prime wields the Creation Matrix, which gives life to machines. In the
second season, the two-part episode The Key to Vector Sigma introduced the
ancient Vector Sigma computer, which served the same original purpose as the
Creation Matrix (giving life to Transformers), and its guardian Alpha Trion.
"""

inputs = tokenizer(text, return_tensors="pt")
logits = model(**inputs).logits`,highlighted:`text = <span class="hljs-string">&quot;&quot;&quot;
Generation One is a retroactive term for the Transformers characters that
appeared between 1984 and 1993. The Transformers began with the 1980s Japanese
toy lines Micro Change and Diaclone. They presented robots able to transform
into everyday vehicles, electronic items or weapons. Hasbro bought the Micro
Change and Diaclone toys, and partnered with Takara. Marvel Comics was hired by
Hasbro to create the backstory; editor-in-chief Jim Shooter wrote an overall
story, and gave the task of creating the characthers to writer Dennis O&#x27;Neil.
Unhappy with O&#x27;Neil&#x27;s work (although O&#x27;Neil created the name &quot;Optimus Prime&quot;),
Shooter chose Bob Budiansky to create the characters.

The Transformers mecha were largely designed by Sh\u014Dji Kawamori, the creator of
the Japanese mecha anime franchise Macross (which was adapted into the Robotech
franchise in North America). Kawamori came up with the idea of transforming
mechs while working on the Diaclone and Macross franchises in the early 1980s
(such as the VF-1 Valkyrie in Macross and Robotech), with his Diaclone mechs
later providing the basis for Transformers.

The primary concept of Generation One is that the heroic Optimus Prime, the
villainous Megatron, and their finest soldiers crash land on pre-historic Earth
in the Ark and the Nemesis before awakening in 1985, Cybertron hurtling through
the Neutral zone as an effect of the war. The Marvel comic was originally part
of the main Marvel Universe, with appearances from Spider-Man and Nick Fury,
plus some cameos, as well as a visit to the Savage Land.

The Transformers TV series began around the same time. Produced by Sunbow
Productions and Marvel Productions, later Hasbro Productions, from the start it
contradicted Budiansky&#x27;s backstories. The TV series shows the Autobots looking
for new energy sources, and crash landing as the Decepticons attack. Marvel
interpreted the Autobots as destroying a rogue asteroid approaching Cybertron.
Shockwave is loyal to Megatron in the TV series, keeping Cybertron in a
stalemate during his absence, but in the comic book he attempts to take command
of the Decepticons. The TV series would also differ wildly from the origins
Budiansky had created for the Dinobots, the Decepticon turned Autobot Jetfire
(known as Skyfire on TV), the Constructicons (who combine to form
Devastator),[19][20] and Omega Supreme. The Marvel comic establishes early on
that Prime wields the Creation Matrix, which gives life to machines. In the
second season, the two-part episode The Key to Vector Sigma introduced the
ancient Vector Sigma computer, which served the same original purpose as the
Creation Matrix (giving life to Transformers), and its guardian Alpha Trion.
&quot;&quot;&quot;</span>

inputs = tokenizer(text, return_tensors=<span class="hljs-string">&quot;pt&quot;</span>)
logits = model(**inputs).logits`}}),me=new at({props:{code:"IndexError: index out of range in self",highlighted:'IndexError: index out of <span class="hljs-built_in">range</span> <span class="hljs-keyword">in</span> self'}}),he=new Ke({}),ve=new Ke({}),we=new Ke({}),_e=new Ke({}),{c(){y=t("meta"),_o=u(),$=t("h1"),M=t("a"),Re=t("span"),p(K.$$.fragment),za=u(),We=t("span"),Aa=m("Pedindo ajuda nos f\xF3runs"),ko=u(),p(R.$$.fragment),yo=u(),p(W.$$.fragment),$o=u(),N=t("p"),Ca=m("Os "),Q=t("a"),Ma=m("f\xF3runs do Hugging Face"),Na=m(" s\xE3o um \xF3timo lugar para obter ajuda da equipe de c\xF3digo aberto e da comunidade Hugging Face. Aqui est\xE1 a apar\xEAncia da p\xE1gina principal em um determinado dia:"),xo=u(),Y=t("div"),X=t("img"),To=u(),w=t("p"),Sa=m("No lado esquerdo voc\xEA pode ver todas as categorias em que os v\xE1rios t\xF3picos est\xE3o agrupados, enquanto o lado direito mostra os t\xF3picos mais recentes. Um t\xF3pico \xE9 uma postagem que cont\xE9m um t\xEDtulo, categoria e descri\xE7\xE3o; \xE9 bastante semelhante ao formato de problemas do GitHub que vimos ao criar nosso pr\xF3prio conjunto de dados no "),xe=t("a"),ja=m("Cap\xEDtulo 5"),Da=m(". Como o nome sugere, a categoria "),Z=t("a"),Ia=m("Beginners"),Oa=m(" destina-se principalmente a pessoas que est\xE3o come\xE7ando com as bibliotecas e o ecossistema Hugging Face. Qualquer d\xFAvida sobre qualquer uma das bibliotecas \xE9 bem-vinda, seja para depurar algum c\xF3digo ou pedir ajuda sobre como fazer algo. (Dito isso, se sua pergunta diz respeito a uma biblioteca em particular, voc\xEA provavelmente deve ir para a categoria de biblioteca correspondente no f\xF3rum.)"),Po=u(),q=t("p"),Va=m("Da mesma forma, as categorias "),ee=t("a"),Fa=m("Intermedi\xE1rio"),Ha=m(" e "),oe=t("a"),Ga=m("Pesquisa"),Ba=m(" s\xE3o para perguntas mais avan\xE7adas, por exemplo, sobre as bibliotecas ou alguma nova pesquisa interessante sobre PNL que voc\xEA gostaria de discutir."),zo=u(),S=t("p"),La=m("E, naturalmente, tamb\xE9m devemos mencionar a categoria "),ae=t("a"),Ua=m("Curso"),Ja=m(", onde voc\xEA pode tirar todas as suas d\xFAvidas relacionadas ao curso Hugging Face!"),Ao=u(),j=t("p"),Ka=m("Depois de selecionar uma categoria, voc\xEA estar\xE1 pronto para escrever seu primeiro t\xF3pico. Voc\xEA pode encontrar algumas "),re=t("a"),Ra=m("diretrizes"),Wa=m(" no f\xF3rum sobre como fazer isso, e nesta se\xE7\xE3o veremos algumas caracter\xEDsticas que comp\xF5em um bom t\xF3pico."),Co=u(),x=t("h2"),D=t("a"),Qe=t("span"),p(te.$$.fragment),Qa=u(),Ye=t("span"),Ya=m("Escrevendo uma boa postagem no f\xF3rum"),Mo=u(),Te=t("p"),Xa=m("Como exemplo de execu\xE7\xE3o, vamos supor que estamos tentando gerar embeddings de artigos da Wikipedia para criar um mecanismo de pesquisa personalizado. Como de costume, carregamos o tokenizer e o model da seguinte forma:"),No=u(),p(se.$$.fragment),So=u(),I=t("p"),Za=m("Agora suponha que tentamos incorporar uma se\xE7\xE3o inteira do "),ie=t("a"),er=m("artigo da Wikip\xE9dia"),or=m(" em Transformers (a franquia, n\xE3o a biblioteca!):"),jo=u(),p(ne.$$.fragment),Do=u(),p(me.$$.fragment),Io=u(),O=t("p"),ar=m("Uh-oh, encontramos um problema \u2014 e a mensagem de erro \xE9 muito mais enigm\xE1tica do que as que vimos na "),Pe=t("a"),rr=m("se\xE7\xE3o 2"),tr=m("! N\xE3o podemos fazer cara ou coroa do traceback completo, ent\xE3o decidimos recorrer aos f\xF3runs do Hugging Face para obter ajuda. Como podemos elaborar o tema?"),Oo=u(),V=t("p"),sr=m("Para come\xE7ar, precisamos clicar no bot\xE3o \u201CNovo T\xF3pico\u201D (em ingl\xEAs, "),Xe=t("strong"),ir=m("new topic"),nr=m(") no canto superior direito (observe que para criar um t\xF3pico, precisamos estar logados):"),Vo=u(),ce=t("div"),le=t("img"),Fo=u(),ze=t("p"),mr=m("Isso traz uma interface de escrita onde podemos inserir o t\xEDtulo do nosso t\xF3pico, selecionar uma categoria e redigir o conte\xFAdo:"),Ho=u(),ue=t("div"),de=t("img"),Go=u(),Ae=t("p"),cr=m("Como o erro parece ser exclusivamente sobre \u{1F917} Transformers, selecionaremos isso para a categoria. Nossa primeira tentativa de explicar o problema pode ser algo assim:"),Bo=u(),pe=t("div"),fe=t("img"),Lo=u(),Ce=t("p"),lr=m("Embora este t\xF3pico contenha a mensagem de erro para a qual precisamos de ajuda, h\xE1 alguns problemas com a forma como ela est\xE1 escrita:"),Uo=u(),E=t("ol"),Ze=t("li"),ur=m("O t\xEDtulo n\xE3o \xE9 muito descritivo, ent\xE3o quem estiver navegando no f\xF3rum n\xE3o poder\xE1 dizer do que se trata o t\xF3pico sem ler tamb\xE9m o corpo."),dr=u(),T=t("li"),pr=m("O corpo n\xE3o fornece informa\xE7\xF5es suficientes sobre "),eo=t("em"),fr=m("onde"),hr=m(" o erro est\xE1 vindo e "),oo=t("em"),vr=m("como"),gr=m(" reproduzi-lo."),br=u(),ao=t("li"),wr=m("O t\xF3pico marca algumas pessoas diretamente com um tom um tanto exigente."),Jo=u(),Me=t("p"),qr=m("T\xF3picos como este provavelmente n\xE3o ter\xE3o uma resposta r\xE1pida (se conseguirem), ent\xE3o vamos ver como podemos melhor\xE1-lo. Vamos come\xE7ar com a primeira quest\xE3o de escolher um bom t\xEDtulo."),Ko=u(),P=t("h3"),F=t("a"),ro=t("span"),p(he.$$.fragment),Er=u(),to=t("span"),_r=m("Escolhendo um t\xEDtulo descritivo"),Ro=u(),H=t("p"),kr=m("Se voc\xEA estiver tentando obter ajuda com um bug em seu c\xF3digo, uma boa regra geral \xE9 incluir informa\xE7\xF5es suficientes no t\xEDtulo para que outras pessoas possam determinar rapidamente se acham que podem responder \xE0 sua pergunta ou n\xE3o. Em nosso exemplo em execu\xE7\xE3o, sabemos o nome da exce\xE7\xE3o que est\xE1 sendo levantada e temos algumas dicas de que ela \xE9 acionada na passagem direta do modelo, onde chamamos "),so=t("code"),yr=m("model(**inputs)"),$r=m(". Para comunicar isso, um t\xEDtulo poss\xEDvel poderia ser:"),Wo=u(),Ne=t("blockquote"),io=t("p"),xr=m("Source of IndexError in the AutoModel forward pass?"),Qo=u(),_=t("p"),Tr=m("Este t\xEDtulo diz ao leitor "),no=t("em"),Pr=m("onde"),zr=m(" voc\xEA acha que o bug est\xE1 vindo, e se eles encontraram um "),mo=t("code"),Ar=m("IndexError"),Cr=m(" antes, h\xE1 uma boa chance de que eles saibam como depur\xE1-lo. Claro, o t\xEDtulo pode ser o que voc\xEA quiser, e outras varia\xE7\xF5es como:"),Yo=u(),Se=t("blockquote"),co=t("p"),Mr=m("Why does my model produce an IndexError?"),Xo=u(),je=t("p"),Nr=m("tamb\xE9m pode ficar bem. Agora que temos um t\xEDtulo descritivo, vamos dar uma olhada em como melhorar o corpo."),Zo=u(),z=t("h3"),G=t("a"),lo=t("span"),p(ve.$$.fragment),Sr=u(),uo=t("span"),jr=m("Formatando seus trechos de c\xF3digo"),ea=u(),De=t("p"),Dr=m("Ler o c\xF3digo-fonte \xE9 bastante dif\xEDcil em um IDE, mas \xE9 ainda mais dif\xEDcil quando o c\xF3digo \xE9 copiado e colado como texto simples! Felizmente, os f\xF3runs do Hugging Face suportam o uso de Markdown, ent\xE3o voc\xEA deve sempre colocar seus blocos de c\xF3digo com tr\xEAs acentos graves (```) para que seja mais f\xE1cil de ler. Vamos fazer isso para embelezar a mensagem de erro - e enquanto estaomos nisso, vamos tornar o corpo um pouco mais educado do que a nossa vers\xE3o original:"),oa=u(),ge=t("div"),be=t("img"),aa=u(),B=t("p"),Ir=m("Como voc\xEA pode ver na captura de tela, colocar os blocos de c\xF3digo em acentos graves converte o texto bruto em c\xF3digo formatado, completo com estilo de cores! Observe tamb\xE9m que backticks simples podem ser usados \u200B\u200Bpara formatar vari\xE1veis \u200B\u200Binline, como fizemos para "),po=t("code"),Or=m("distilbert-base-uncased"),Vr=m(". Este t\xF3pico parece muito melhor e, com um pouco de sorte, podemos encontrar algu\xE9m na comunidade que possa adivinhar do que se trata o erro. No entanto, em vez de confiar na sorte, vamos facilitar a vida incluindo o rastreamento em todos os seus detalhes sangrentos!"),ra=u(),A=t("h3"),L=t("a"),fo=t("span"),p(we.$$.fragment),Fr=u(),ho=t("span"),Hr=m("Incluindo o rastreamento completo"),ta=u(),k=t("p"),Gr=m("Como a \xFAltima linha do traceback geralmente \xE9 suficiente para depurar seu pr\xF3prio c\xF3digo, pode ser tentador apenas fornecer isso em seu t\xF3pico para \u201Ceconomizar espa\xE7o\u201D. Embora bem intencionado, isso na verdade torna "),vo=t("em"),Br=m("mais dif\xEDcil"),Lr=m(" para outros depurar o problema, j\xE1 que as informa\xE7\xF5es que est\xE3o mais acima no traceback tamb\xE9m podem ser muito \xFAteis. Portanto, uma boa pr\xE1tica \xE9 copiar e colar o traceback "),go=t("em"),Ur=m("inteiro"),Jr=m(", certificando-se de que est\xE1 bem formatado. Como esses rastreamentos podem ser bastante longos, algumas pessoas preferem mostr\xE1-los depois de explicar o c\xF3digo-fonte. Vamos fazer isso. Agora, nosso t\xF3pico do f\xF3rum se parece com o seguinte:"),sa=u(),qe=t("div"),Ee=t("img"),ia=u(),Ie=t("p"),Kr=m("Isso \xE9 muito mais informativo, e um leitor cuidadoso pode apontar que o problema parece ser devido \xE0 passagem de uma entrada longa por causa desta linha no traceback:"),na=u(),Oe=t("blockquote"),bo=t("p"),Rr=m("Token indices sequence length is longer than the specified maximum sequence length for this model (583 > 512)."),ma=u(),Ve=t("p"),Wr=m("No entanto, podemos tornar as coisas ainda mais f\xE1ceis para eles fornecendo o c\xF3digo real que acionou o erro. Vamos fazer isso agora."),ca=u(),C=t("h3"),U=t("a"),wo=t("span"),p(_e.$$.fragment),Qr=u(),qo=t("span"),Yr=m("Fornecendo um exemplo reproduz\xEDvel"),la=u(),J=t("p"),Xr=m("Se voc\xEA j\xE1 tentou depurar o c\xF3digo de outra pessoa, provavelmente tentou primeiro recriar o problema relatado para poder come\xE7ar a trabalhar no rastreamento para identificar o erro. N\xE3o \xE9 diferente quando se trata de obter (ou dar) assist\xEAncia nos f\xF3runs, ent\xE3o realmente ajuda se voc\xEA puder fornecer um pequeno exemplo que reproduza o erro. Na metade do tempo, simplesmente fazer este exerc\xEDcio o ajudar\xE1 a descobrir o que est\xE1 acontecendo de errado. De qualquer forma, a parte que falta em nosso exemplo \xE9 mostrar as "),Eo=t("em"),Zr=m("inputs"),et=m(" que fornecemos ao modelo. Fazer isso nos d\xE1 algo como o seguinte exemplo conclu\xEDdo:"),ua=u(),ke=t("div"),ye=t("img"),da=u(),Fe=t("p"),ot=m("Este t\xF3pico agora cont\xE9m muitas informa\xE7\xF5es e foi escrito de uma forma que \xE9 muito mais prov\xE1vel de atrair a aten\xE7\xE3o da comunidade e obter uma resposta \xFAtil. Com essas diretrizes b\xE1sicas, agora voc\xEA pode criar \xF3timos t\xF3picos para encontrar as respostas para suas d\xFAvidas sobre \u{1F917} Transformers!"),this.h()},l(e){const r=_s('[data-svelte="svelte-1phssyn"]',document.head);y=s(r,"META",{name:!0,content:!0}),r.forEach(o),_o=d(e),$=s(e,"H1",{class:!0});var fa=n($);M=s(fa,"A",{id:!0,class:!0,href:!0});var ut=n(M);Re=s(ut,"SPAN",{});var dt=n(Re);f(K.$$.fragment,dt),dt.forEach(o),ut.forEach(o),za=d(fa),We=s(fa,"SPAN",{});var pt=n(We);Aa=c(pt,"Pedindo ajuda nos f\xF3runs"),pt.forEach(o),fa.forEach(o),ko=d(e),f(R.$$.fragment,e),yo=d(e),f(W.$$.fragment,e),$o=d(e),N=s(e,"P",{});var ha=n(N);Ca=c(ha,"Os "),Q=s(ha,"A",{href:!0,rel:!0});var ft=n(Q);Ma=c(ft,"f\xF3runs do Hugging Face"),ft.forEach(o),Na=c(ha," s\xE3o um \xF3timo lugar para obter ajuda da equipe de c\xF3digo aberto e da comunidade Hugging Face. Aqui est\xE1 a apar\xEAncia da p\xE1gina principal em um determinado dia:"),ha.forEach(o),xo=d(e),Y=s(e,"DIV",{class:!0});var ht=n(Y);X=s(ht,"IMG",{src:!0,alt:!0,width:!0}),ht.forEach(o),To=d(e),w=s(e,"P",{});var He=n(w);Sa=c(He,"No lado esquerdo voc\xEA pode ver todas as categorias em que os v\xE1rios t\xF3picos est\xE3o agrupados, enquanto o lado direito mostra os t\xF3picos mais recentes. Um t\xF3pico \xE9 uma postagem que cont\xE9m um t\xEDtulo, categoria e descri\xE7\xE3o; \xE9 bastante semelhante ao formato de problemas do GitHub que vimos ao criar nosso pr\xF3prio conjunto de dados no "),xe=s(He,"A",{href:!0});var vt=n(xe);ja=c(vt,"Cap\xEDtulo 5"),vt.forEach(o),Da=c(He,". Como o nome sugere, a categoria "),Z=s(He,"A",{href:!0,rel:!0});var gt=n(Z);Ia=c(gt,"Beginners"),gt.forEach(o),Oa=c(He," destina-se principalmente a pessoas que est\xE3o come\xE7ando com as bibliotecas e o ecossistema Hugging Face. Qualquer d\xFAvida sobre qualquer uma das bibliotecas \xE9 bem-vinda, seja para depurar algum c\xF3digo ou pedir ajuda sobre como fazer algo. (Dito isso, se sua pergunta diz respeito a uma biblioteca em particular, voc\xEA provavelmente deve ir para a categoria de biblioteca correspondente no f\xF3rum.)"),He.forEach(o),Po=d(e),q=s(e,"P",{});var Ge=n(q);Va=c(Ge,"Da mesma forma, as categorias "),ee=s(Ge,"A",{href:!0,rel:!0});var bt=n(ee);Fa=c(bt,"Intermedi\xE1rio"),bt.forEach(o),Ha=c(Ge," e "),oe=s(Ge,"A",{href:!0,rel:!0});var wt=n(oe);Ga=c(wt,"Pesquisa"),wt.forEach(o),Ba=c(Ge," s\xE3o para perguntas mais avan\xE7adas, por exemplo, sobre as bibliotecas ou alguma nova pesquisa interessante sobre PNL que voc\xEA gostaria de discutir."),Ge.forEach(o),zo=d(e),S=s(e,"P",{});var va=n(S);La=c(va,"E, naturalmente, tamb\xE9m devemos mencionar a categoria "),ae=s(va,"A",{href:!0,rel:!0});var qt=n(ae);Ua=c(qt,"Curso"),qt.forEach(o),Ja=c(va,", onde voc\xEA pode tirar todas as suas d\xFAvidas relacionadas ao curso Hugging Face!"),va.forEach(o),Ao=d(e),j=s(e,"P",{});var ga=n(j);Ka=c(ga,"Depois de selecionar uma categoria, voc\xEA estar\xE1 pronto para escrever seu primeiro t\xF3pico. Voc\xEA pode encontrar algumas "),re=s(ga,"A",{href:!0,rel:!0});var Et=n(re);Ra=c(Et,"diretrizes"),Et.forEach(o),Wa=c(ga," no f\xF3rum sobre como fazer isso, e nesta se\xE7\xE3o veremos algumas caracter\xEDsticas que comp\xF5em um bom t\xF3pico."),ga.forEach(o),Co=d(e),x=s(e,"H2",{class:!0});var ba=n(x);D=s(ba,"A",{id:!0,class:!0,href:!0});var _t=n(D);Qe=s(_t,"SPAN",{});var kt=n(Qe);f(te.$$.fragment,kt),kt.forEach(o),_t.forEach(o),Qa=d(ba),Ye=s(ba,"SPAN",{});var yt=n(Ye);Ya=c(yt,"Escrevendo uma boa postagem no f\xF3rum"),yt.forEach(o),ba.forEach(o),Mo=d(e),Te=s(e,"P",{});var $t=n(Te);Xa=c($t,"Como exemplo de execu\xE7\xE3o, vamos supor que estamos tentando gerar embeddings de artigos da Wikipedia para criar um mecanismo de pesquisa personalizado. Como de costume, carregamos o tokenizer e o model da seguinte forma:"),$t.forEach(o),No=d(e),f(se.$$.fragment,e),So=d(e),I=s(e,"P",{});var wa=n(I);Za=c(wa,"Agora suponha que tentamos incorporar uma se\xE7\xE3o inteira do "),ie=s(wa,"A",{href:!0,rel:!0});var xt=n(ie);er=c(xt,"artigo da Wikip\xE9dia"),xt.forEach(o),or=c(wa," em Transformers (a franquia, n\xE3o a biblioteca!):"),wa.forEach(o),jo=d(e),f(ne.$$.fragment,e),Do=d(e),f(me.$$.fragment,e),Io=d(e),O=s(e,"P",{});var qa=n(O);ar=c(qa,"Uh-oh, encontramos um problema \u2014 e a mensagem de erro \xE9 muito mais enigm\xE1tica do que as que vimos na "),Pe=s(qa,"A",{href:!0});var Tt=n(Pe);rr=c(Tt,"se\xE7\xE3o 2"),Tt.forEach(o),tr=c(qa,"! N\xE3o podemos fazer cara ou coroa do traceback completo, ent\xE3o decidimos recorrer aos f\xF3runs do Hugging Face para obter ajuda. Como podemos elaborar o tema?"),qa.forEach(o),Oo=d(e),V=s(e,"P",{});var Ea=n(V);sr=c(Ea,"Para come\xE7ar, precisamos clicar no bot\xE3o \u201CNovo T\xF3pico\u201D (em ingl\xEAs, "),Xe=s(Ea,"STRONG",{});var Pt=n(Xe);ir=c(Pt,"new topic"),Pt.forEach(o),nr=c(Ea,") no canto superior direito (observe que para criar um t\xF3pico, precisamos estar logados):"),Ea.forEach(o),Vo=d(e),ce=s(e,"DIV",{class:!0});var zt=n(ce);le=s(zt,"IMG",{src:!0,alt:!0,width:!0}),zt.forEach(o),Fo=d(e),ze=s(e,"P",{});var At=n(ze);mr=c(At,"Isso traz uma interface de escrita onde podemos inserir o t\xEDtulo do nosso t\xF3pico, selecionar uma categoria e redigir o conte\xFAdo:"),At.forEach(o),Ho=d(e),ue=s(e,"DIV",{class:!0});var Ct=n(ue);de=s(Ct,"IMG",{src:!0,alt:!0,width:!0}),Ct.forEach(o),Go=d(e),Ae=s(e,"P",{});var Mt=n(Ae);cr=c(Mt,"Como o erro parece ser exclusivamente sobre \u{1F917} Transformers, selecionaremos isso para a categoria. Nossa primeira tentativa de explicar o problema pode ser algo assim:"),Mt.forEach(o),Bo=d(e),pe=s(e,"DIV",{class:!0});var Nt=n(pe);fe=s(Nt,"IMG",{src:!0,alt:!0,width:!0}),Nt.forEach(o),Lo=d(e),Ce=s(e,"P",{});var St=n(Ce);lr=c(St,"Embora este t\xF3pico contenha a mensagem de erro para a qual precisamos de ajuda, h\xE1 alguns problemas com a forma como ela est\xE1 escrita:"),St.forEach(o),Uo=d(e),E=s(e,"OL",{});var Be=n(E);Ze=s(Be,"LI",{});var jt=n(Ze);ur=c(jt,"O t\xEDtulo n\xE3o \xE9 muito descritivo, ent\xE3o quem estiver navegando no f\xF3rum n\xE3o poder\xE1 dizer do que se trata o t\xF3pico sem ler tamb\xE9m o corpo."),jt.forEach(o),dr=d(Be),T=s(Be,"LI",{});var Le=n(T);pr=c(Le,"O corpo n\xE3o fornece informa\xE7\xF5es suficientes sobre "),eo=s(Le,"EM",{});var Dt=n(eo);fr=c(Dt,"onde"),Dt.forEach(o),hr=c(Le," o erro est\xE1 vindo e "),oo=s(Le,"EM",{});var It=n(oo);vr=c(It,"como"),It.forEach(o),gr=c(Le," reproduzi-lo."),Le.forEach(o),br=d(Be),ao=s(Be,"LI",{});var Ot=n(ao);wr=c(Ot,"O t\xF3pico marca algumas pessoas diretamente com um tom um tanto exigente."),Ot.forEach(o),Be.forEach(o),Jo=d(e),Me=s(e,"P",{});var Vt=n(Me);qr=c(Vt,"T\xF3picos como este provavelmente n\xE3o ter\xE3o uma resposta r\xE1pida (se conseguirem), ent\xE3o vamos ver como podemos melhor\xE1-lo. Vamos come\xE7ar com a primeira quest\xE3o de escolher um bom t\xEDtulo."),Vt.forEach(o),Ko=d(e),P=s(e,"H3",{class:!0});var _a=n(P);F=s(_a,"A",{id:!0,class:!0,href:!0});var Ft=n(F);ro=s(Ft,"SPAN",{});var Ht=n(ro);f(he.$$.fragment,Ht),Ht.forEach(o),Ft.forEach(o),Er=d(_a),to=s(_a,"SPAN",{});var Gt=n(to);_r=c(Gt,"Escolhendo um t\xEDtulo descritivo"),Gt.forEach(o),_a.forEach(o),Ro=d(e),H=s(e,"P",{});var ka=n(H);kr=c(ka,"Se voc\xEA estiver tentando obter ajuda com um bug em seu c\xF3digo, uma boa regra geral \xE9 incluir informa\xE7\xF5es suficientes no t\xEDtulo para que outras pessoas possam determinar rapidamente se acham que podem responder \xE0 sua pergunta ou n\xE3o. Em nosso exemplo em execu\xE7\xE3o, sabemos o nome da exce\xE7\xE3o que est\xE1 sendo levantada e temos algumas dicas de que ela \xE9 acionada na passagem direta do modelo, onde chamamos "),so=s(ka,"CODE",{});var Bt=n(so);yr=c(Bt,"model(**inputs)"),Bt.forEach(o),$r=c(ka,". Para comunicar isso, um t\xEDtulo poss\xEDvel poderia ser:"),ka.forEach(o),Wo=d(e),Ne=s(e,"BLOCKQUOTE",{});var Lt=n(Ne);io=s(Lt,"P",{});var Ut=n(io);xr=c(Ut,"Source of IndexError in the AutoModel forward pass?"),Ut.forEach(o),Lt.forEach(o),Qo=d(e),_=s(e,"P",{});var Ue=n(_);Tr=c(Ue,"Este t\xEDtulo diz ao leitor "),no=s(Ue,"EM",{});var Jt=n(no);Pr=c(Jt,"onde"),Jt.forEach(o),zr=c(Ue," voc\xEA acha que o bug est\xE1 vindo, e se eles encontraram um "),mo=s(Ue,"CODE",{});var Kt=n(mo);Ar=c(Kt,"IndexError"),Kt.forEach(o),Cr=c(Ue," antes, h\xE1 uma boa chance de que eles saibam como depur\xE1-lo. Claro, o t\xEDtulo pode ser o que voc\xEA quiser, e outras varia\xE7\xF5es como:"),Ue.forEach(o),Yo=d(e),Se=s(e,"BLOCKQUOTE",{});var Rt=n(Se);co=s(Rt,"P",{});var Wt=n(co);Mr=c(Wt,"Why does my model produce an IndexError?"),Wt.forEach(o),Rt.forEach(o),Xo=d(e),je=s(e,"P",{});var Qt=n(je);Nr=c(Qt,"tamb\xE9m pode ficar bem. Agora que temos um t\xEDtulo descritivo, vamos dar uma olhada em como melhorar o corpo."),Qt.forEach(o),Zo=d(e),z=s(e,"H3",{class:!0});var ya=n(z);G=s(ya,"A",{id:!0,class:!0,href:!0});var Yt=n(G);lo=s(Yt,"SPAN",{});var Xt=n(lo);f(ve.$$.fragment,Xt),Xt.forEach(o),Yt.forEach(o),Sr=d(ya),uo=s(ya,"SPAN",{});var Zt=n(uo);jr=c(Zt,"Formatando seus trechos de c\xF3digo"),Zt.forEach(o),ya.forEach(o),ea=d(e),De=s(e,"P",{});var es=n(De);Dr=c(es,"Ler o c\xF3digo-fonte \xE9 bastante dif\xEDcil em um IDE, mas \xE9 ainda mais dif\xEDcil quando o c\xF3digo \xE9 copiado e colado como texto simples! Felizmente, os f\xF3runs do Hugging Face suportam o uso de Markdown, ent\xE3o voc\xEA deve sempre colocar seus blocos de c\xF3digo com tr\xEAs acentos graves (```) para que seja mais f\xE1cil de ler. Vamos fazer isso para embelezar a mensagem de erro - e enquanto estaomos nisso, vamos tornar o corpo um pouco mais educado do que a nossa vers\xE3o original:"),es.forEach(o),oa=d(e),ge=s(e,"DIV",{class:!0});var os=n(ge);be=s(os,"IMG",{src:!0,alt:!0,width:!0}),os.forEach(o),aa=d(e),B=s(e,"P",{});var $a=n(B);Ir=c($a,"Como voc\xEA pode ver na captura de tela, colocar os blocos de c\xF3digo em acentos graves converte o texto bruto em c\xF3digo formatado, completo com estilo de cores! Observe tamb\xE9m que backticks simples podem ser usados \u200B\u200Bpara formatar vari\xE1veis \u200B\u200Binline, como fizemos para "),po=s($a,"CODE",{});var as=n(po);Or=c(as,"distilbert-base-uncased"),as.forEach(o),Vr=c($a,". Este t\xF3pico parece muito melhor e, com um pouco de sorte, podemos encontrar algu\xE9m na comunidade que possa adivinhar do que se trata o erro. No entanto, em vez de confiar na sorte, vamos facilitar a vida incluindo o rastreamento em todos os seus detalhes sangrentos!"),$a.forEach(o),ra=d(e),A=s(e,"H3",{class:!0});var xa=n(A);L=s(xa,"A",{id:!0,class:!0,href:!0});var rs=n(L);fo=s(rs,"SPAN",{});var ts=n(fo);f(we.$$.fragment,ts),ts.forEach(o),rs.forEach(o),Fr=d(xa),ho=s(xa,"SPAN",{});var ss=n(ho);Hr=c(ss,"Incluindo o rastreamento completo"),ss.forEach(o),xa.forEach(o),ta=d(e),k=s(e,"P",{});var Je=n(k);Gr=c(Je,"Como a \xFAltima linha do traceback geralmente \xE9 suficiente para depurar seu pr\xF3prio c\xF3digo, pode ser tentador apenas fornecer isso em seu t\xF3pico para \u201Ceconomizar espa\xE7o\u201D. Embora bem intencionado, isso na verdade torna "),vo=s(Je,"EM",{});var is=n(vo);Br=c(is,"mais dif\xEDcil"),is.forEach(o),Lr=c(Je," para outros depurar o problema, j\xE1 que as informa\xE7\xF5es que est\xE3o mais acima no traceback tamb\xE9m podem ser muito \xFAteis. Portanto, uma boa pr\xE1tica \xE9 copiar e colar o traceback "),go=s(Je,"EM",{});var ns=n(go);Ur=c(ns,"inteiro"),ns.forEach(o),Jr=c(Je,", certificando-se de que est\xE1 bem formatado. Como esses rastreamentos podem ser bastante longos, algumas pessoas preferem mostr\xE1-los depois de explicar o c\xF3digo-fonte. Vamos fazer isso. Agora, nosso t\xF3pico do f\xF3rum se parece com o seguinte:"),Je.forEach(o),sa=d(e),qe=s(e,"DIV",{class:!0});var ms=n(qe);Ee=s(ms,"IMG",{src:!0,alt:!0,width:!0}),ms.forEach(o),ia=d(e),Ie=s(e,"P",{});var cs=n(Ie);Kr=c(cs,"Isso \xE9 muito mais informativo, e um leitor cuidadoso pode apontar que o problema parece ser devido \xE0 passagem de uma entrada longa por causa desta linha no traceback:"),cs.forEach(o),na=d(e),Oe=s(e,"BLOCKQUOTE",{});var ls=n(Oe);bo=s(ls,"P",{});var us=n(bo);Rr=c(us,"Token indices sequence length is longer than the specified maximum sequence length for this model (583 > 512)."),us.forEach(o),ls.forEach(o),ma=d(e),Ve=s(e,"P",{});var ds=n(Ve);Wr=c(ds,"No entanto, podemos tornar as coisas ainda mais f\xE1ceis para eles fornecendo o c\xF3digo real que acionou o erro. Vamos fazer isso agora."),ds.forEach(o),ca=d(e),C=s(e,"H3",{class:!0});var Ta=n(C);U=s(Ta,"A",{id:!0,class:!0,href:!0});var ps=n(U);wo=s(ps,"SPAN",{});var fs=n(wo);f(_e.$$.fragment,fs),fs.forEach(o),ps.forEach(o),Qr=d(Ta),qo=s(Ta,"SPAN",{});var hs=n(qo);Yr=c(hs,"Fornecendo um exemplo reproduz\xEDvel"),hs.forEach(o),Ta.forEach(o),la=d(e),J=s(e,"P",{});var Pa=n(J);Xr=c(Pa,"Se voc\xEA j\xE1 tentou depurar o c\xF3digo de outra pessoa, provavelmente tentou primeiro recriar o problema relatado para poder come\xE7ar a trabalhar no rastreamento para identificar o erro. N\xE3o \xE9 diferente quando se trata de obter (ou dar) assist\xEAncia nos f\xF3runs, ent\xE3o realmente ajuda se voc\xEA puder fornecer um pequeno exemplo que reproduza o erro. Na metade do tempo, simplesmente fazer este exerc\xEDcio o ajudar\xE1 a descobrir o que est\xE1 acontecendo de errado. De qualquer forma, a parte que falta em nosso exemplo \xE9 mostrar as "),Eo=s(Pa,"EM",{});var vs=n(Eo);Zr=c(vs,"inputs"),vs.forEach(o),et=c(Pa," que fornecemos ao modelo. Fazer isso nos d\xE1 algo como o seguinte exemplo conclu\xEDdo:"),Pa.forEach(o),ua=d(e),ke=s(e,"DIV",{class:!0});var gs=n(ke);ye=s(gs,"IMG",{src:!0,alt:!0,width:!0}),gs.forEach(o),da=d(e),Fe=s(e,"P",{});var bs=n(Fe);ot=c(bs,"Este t\xF3pico agora cont\xE9m muitas informa\xE7\xF5es e foi escrito de uma forma que \xE9 muito mais prov\xE1vel de atrair a aten\xE7\xE3o da comunidade e obter uma resposta \xFAtil. Com essas diretrizes b\xE1sicas, agora voc\xEA pode criar \xF3timos t\xF3picos para encontrar as respostas para suas d\xFAvidas sobre \u{1F917} Transformers!"),bs.forEach(o),this.h()},h(){l(y,"name","hf:doc:metadata"),l(y,"content",JSON.stringify(Ps)),l(M,"id","pedindo-ajuda-nos-fruns"),l(M,"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"),l(M,"href","#pedindo-ajuda-nos-fruns"),l($,"class","relative group"),l(Q,"href","https://discuss.huggingface.co"),l(Q,"rel","nofollow"),$e(X.src,tt="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forums.png")||l(X,"src",tt),l(X,"alt","The Hugging Face forums."),l(X,"width","100%"),l(Y,"class","flex justify-center"),l(xe,"href","/course/chapter5"),l(Z,"href","https://discuss.huggingface.co/c/beginners/5"),l(Z,"rel","nofollow"),l(ee,"href","https://discuss.huggingface.co/c/intermediate/6"),l(ee,"rel","nofollow"),l(oe,"href","https://discuss.huggingface.co/c/research/7"),l(oe,"rel","nofollow"),l(ae,"href","https://discuss.huggingface.co/c/course/20"),l(ae,"rel","nofollow"),l(re,"href","https://discuss.huggingface.co/t/how-to-request-support/3128"),l(re,"rel","nofollow"),l(D,"id","escrevendo-uma-boa-postagem-no-frum"),l(D,"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"),l(D,"href","#escrevendo-uma-boa-postagem-no-frum"),l(x,"class","relative group"),l(ie,"href","https://en.wikipedia.org/wiki/Transformers"),l(ie,"rel","nofollow"),l(Pe,"href","/curso/chapter8/section2"),$e(le.src,st="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forums-new-topic.png")||l(le,"src",st),l(le,"alt","Creating a new forum topic."),l(le,"width","100%"),l(ce,"class","flex justify-center"),$e(de.src,it="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic01.png")||l(de,"src",it),l(de,"alt","The interface for creating a forum topic."),l(de,"width","100%"),l(ue,"class","flex justify-center"),$e(fe.src,nt="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic02.png")||l(fe,"src",nt),l(fe,"alt","Drafting the content for a new forum topic."),l(fe,"width","100%"),l(pe,"class","flex justify-center"),l(F,"id","escolhendo-um-ttulo-descritivo"),l(F,"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"),l(F,"href","#escolhendo-um-ttulo-descritivo"),l(P,"class","relative group"),l(G,"id","formatando-seus-trechos-de-cdigo"),l(G,"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"),l(G,"href","#formatando-seus-trechos-de-cdigo"),l(z,"class","relative group"),$e(be.src,mt="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic03.png")||l(be,"src",mt),l(be,"alt","Our revised forum topic, with proper code formatting."),l(be,"width","100%"),l(ge,"class","flex justify-center"),l(L,"id","incluindo-o-rastreamento-completo"),l(L,"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"),l(L,"href","#incluindo-o-rastreamento-completo"),l(A,"class","relative group"),$e(Ee.src,ct="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic04.png")||l(Ee,"src",ct),l(Ee,"alt","Our example forum topic, with the complete traceback."),l(Ee,"width","100%"),l(qe,"class","flex justify-center"),l(U,"id","fornecendo-um-exemplo-reproduzvel"),l(U,"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"),l(U,"href","#fornecendo-um-exemplo-reproduzvel"),l(C,"class","relative group"),$e(ye.src,lt="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic05.png")||l(ye,"src",lt),l(ye,"alt","The final version of our forum topic."),l(ye,"width","100%"),l(ke,"class","flex justify-center")},m(e,r){a(document.head,y),i(e,_o,r),i(e,$,r),a($,M),a(M,Re),h(K,Re,null),a($,za),a($,We),a(We,Aa),i(e,ko,r),h(R,e,r),i(e,yo,r),h(W,e,r),i(e,$o,r),i(e,N,r),a(N,Ca),a(N,Q),a(Q,Ma),a(N,Na),i(e,xo,r),i(e,Y,r),a(Y,X),i(e,To,r),i(e,w,r),a(w,Sa),a(w,xe),a(xe,ja),a(w,Da),a(w,Z),a(Z,Ia),a(w,Oa),i(e,Po,r),i(e,q,r),a(q,Va),a(q,ee),a(ee,Fa),a(q,Ha),a(q,oe),a(oe,Ga),a(q,Ba),i(e,zo,r),i(e,S,r),a(S,La),a(S,ae),a(ae,Ua),a(S,Ja),i(e,Ao,r),i(e,j,r),a(j,Ka),a(j,re),a(re,Ra),a(j,Wa),i(e,Co,r),i(e,x,r),a(x,D),a(D,Qe),h(te,Qe,null),a(x,Qa),a(x,Ye),a(Ye,Ya),i(e,Mo,r),i(e,Te,r),a(Te,Xa),i(e,No,r),h(se,e,r),i(e,So,r),i(e,I,r),a(I,Za),a(I,ie),a(ie,er),a(I,or),i(e,jo,r),h(ne,e,r),i(e,Do,r),h(me,e,r),i(e,Io,r),i(e,O,r),a(O,ar),a(O,Pe),a(Pe,rr),a(O,tr),i(e,Oo,r),i(e,V,r),a(V,sr),a(V,Xe),a(Xe,ir),a(V,nr),i(e,Vo,r),i(e,ce,r),a(ce,le),i(e,Fo,r),i(e,ze,r),a(ze,mr),i(e,Ho,r),i(e,ue,r),a(ue,de),i(e,Go,r),i(e,Ae,r),a(Ae,cr),i(e,Bo,r),i(e,pe,r),a(pe,fe),i(e,Lo,r),i(e,Ce,r),a(Ce,lr),i(e,Uo,r),i(e,E,r),a(E,Ze),a(Ze,ur),a(E,dr),a(E,T),a(T,pr),a(T,eo),a(eo,fr),a(T,hr),a(T,oo),a(oo,vr),a(T,gr),a(E,br),a(E,ao),a(ao,wr),i(e,Jo,r),i(e,Me,r),a(Me,qr),i(e,Ko,r),i(e,P,r),a(P,F),a(F,ro),h(he,ro,null),a(P,Er),a(P,to),a(to,_r),i(e,Ro,r),i(e,H,r),a(H,kr),a(H,so),a(so,yr),a(H,$r),i(e,Wo,r),i(e,Ne,r),a(Ne,io),a(io,xr),i(e,Qo,r),i(e,_,r),a(_,Tr),a(_,no),a(no,Pr),a(_,zr),a(_,mo),a(mo,Ar),a(_,Cr),i(e,Yo,r),i(e,Se,r),a(Se,co),a(co,Mr),i(e,Xo,r),i(e,je,r),a(je,Nr),i(e,Zo,r),i(e,z,r),a(z,G),a(G,lo),h(ve,lo,null),a(z,Sr),a(z,uo),a(uo,jr),i(e,ea,r),i(e,De,r),a(De,Dr),i(e,oa,r),i(e,ge,r),a(ge,be),i(e,aa,r),i(e,B,r),a(B,Ir),a(B,po),a(po,Or),a(B,Vr),i(e,ra,r),i(e,A,r),a(A,L),a(L,fo),h(we,fo,null),a(A,Fr),a(A,ho),a(ho,Hr),i(e,ta,r),i(e,k,r),a(k,Gr),a(k,vo),a(vo,Br),a(k,Lr),a(k,go),a(go,Ur),a(k,Jr),i(e,sa,r),i(e,qe,r),a(qe,Ee),i(e,ia,r),i(e,Ie,r),a(Ie,Kr),i(e,na,r),i(e,Oe,r),a(Oe,bo),a(bo,Rr),i(e,ma,r),i(e,Ve,r),a(Ve,Wr),i(e,ca,r),i(e,C,r),a(C,U),a(U,wo),h(_e,wo,null),a(C,Qr),a(C,qo),a(qo,Yr),i(e,la,r),i(e,J,r),a(J,Xr),a(J,Eo),a(Eo,Zr),a(J,et),i(e,ua,r),i(e,ke,r),a(ke,ye),i(e,da,r),i(e,Fe,r),a(Fe,ot),pa=!0},p:ks,i(e){pa||(v(K.$$.fragment,e),v(R.$$.fragment,e),v(W.$$.fragment,e),v(te.$$.fragment,e),v(se.$$.fragment,e),v(ne.$$.fragment,e),v(me.$$.fragment,e),v(he.$$.fragment,e),v(ve.$$.fragment,e),v(we.$$.fragment,e),v(_e.$$.fragment,e),pa=!0)},o(e){g(K.$$.fragment,e),g(R.$$.fragment,e),g(W.$$.fragment,e),g(te.$$.fragment,e),g(se.$$.fragment,e),g(ne.$$.fragment,e),g(me.$$.fragment,e),g(he.$$.fragment,e),g(ve.$$.fragment,e),g(we.$$.fragment,e),g(_e.$$.fragment,e),pa=!1},d(e){o(y),e&&o(_o),e&&o($),b(K),e&&o(ko),b(R,e),e&&o(yo),b(W,e),e&&o($o),e&&o(N),e&&o(xo),e&&o(Y),e&&o(To),e&&o(w),e&&o(Po),e&&o(q),e&&o(zo),e&&o(S),e&&o(Ao),e&&o(j),e&&o(Co),e&&o(x),b(te),e&&o(Mo),e&&o(Te),e&&o(No),b(se,e),e&&o(So),e&&o(I),e&&o(jo),b(ne,e),e&&o(Do),b(me,e),e&&o(Io),e&&o(O),e&&o(Oo),e&&o(V),e&&o(Vo),e&&o(ce),e&&o(Fo),e&&o(ze),e&&o(Ho),e&&o(ue),e&&o(Go),e&&o(Ae),e&&o(Bo),e&&o(pe),e&&o(Lo),e&&o(Ce),e&&o(Uo),e&&o(E),e&&o(Jo),e&&o(Me),e&&o(Ko),e&&o(P),b(he),e&&o(Ro),e&&o(H),e&&o(Wo),e&&o(Ne),e&&o(Qo),e&&o(_),e&&o(Yo),e&&o(Se),e&&o(Xo),e&&o(je),e&&o(Zo),e&&o(z),b(ve),e&&o(ea),e&&o(De),e&&o(oa),e&&o(ge),e&&o(aa),e&&o(B),e&&o(ra),e&&o(A),b(we),e&&o(ta),e&&o(k),e&&o(sa),e&&o(qe),e&&o(ia),e&&o(Ie),e&&o(na),e&&o(Oe),e&&o(ma),e&&o(Ve),e&&o(ca),e&&o(C),b(_e),e&&o(la),e&&o(J),e&&o(ua),e&&o(ke),e&&o(da),e&&o(Fe)}}}const Ps={local:"pedindo-ajuda-nos-fruns",sections:[{local:"escrevendo-uma-boa-postagem-no-frum",sections:[{local:"escolhendo-um-ttulo-descritivo",title:"Escolhendo um t\xEDtulo descritivo"},{local:"formatando-seus-trechos-de-cdigo",title:"Formatando seus trechos de c\xF3digo"},{local:"incluindo-o-rastreamento-completo",title:"Incluindo o rastreamento completo"},{local:"fornecendo-um-exemplo-reproduzvel",title:"Fornecendo um exemplo reproduz\xEDvel"}],title:"Escrevendo uma boa postagem no f\xF3rum"}],title:"Pedindo ajuda nos f\xF3runs"};function zs(rt){return ys(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class js extends ws{constructor(y){super();qs(this,y,zs,Ts,Es,{})}}export{js as default,Ps as metadata};
