import{S as Cl,i as Il,s as xl,e as t,k as p,w as g,t as a,M as Nl,c as r,d as o,m,a as s,x as b,h as l,b as u,N as Ie,G as i,g as c,y as w,L as Ol,q as E,o as k,B as _,v as Dl}from"../../chunks/vendor-hf-doc-builder.js";import{Y as Fl}from"../../chunks/Youtube-hf-doc-builder.js";import{I as eo}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as ta}from"../../chunks/CodeBlock-hf-doc-builder.js";import{C as Hl}from"../../chunks/CourseFloatingBanner-hf-doc-builder.js";import"../../chunks/DocNotebookDropdown-hf-doc-builder.js";function Vl(ra){let A,Go,C,H,oo,X,Wi,io,Yi,Qo,Z,Uo,ee,Jo,V,Xi,oe,Zi,et,Ko,ie,te,aa,Ro,d,ot,to,it,tt,ro,rt,at,ao,lt,st,lo,nt,ct,xe,ut,pt,re,mt,dt,Wo,y,ft,ae,ht,vt,le,gt,bt,Yo,L,wt,se,Et,kt,Xo,v,_t,so,yt,qt,ne,$t,zt,no,Tt,Mt,Zo,I,j,co,ce,Pt,uo,St,ei,Ne,At,oi,ue,ii,B,Ct,pe,It,xt,ti,me,ri,de,ai,q,Nt,Oe,Ot,Dt,po,Ft,Ht,li,G,Vt,mo,Lt,jt,si,fe,he,la,ni,De,Bt,ci,ve,ge,sa,ui,Fe,Gt,pi,be,we,na,mi,Q,Qt,fo,Ut,Jt,di,$,Ee,Kt,ho,Rt,Wt,Yt,x,Xt,vo,Zt,er,go,or,ir,tr,ke,rr,bo,ar,lr,fi,_e,wo,sr,nr,hi,N,U,Eo,ye,cr,ko,ur,vi,z,pr,_o,mr,dr,yo,fr,hr,gi,He,qo,vr,bi,T,gr,$o,br,wr,zo,Er,kr,wi,Ve,To,_r,Ei,Le,yr,ki,O,J,Mo,qe,qr,Po,$r,_i,je,zr,yi,$e,ze,ca,qi,M,Tr,So,Mr,Pr,Ao,Sr,Ar,$i,D,K,Co,Te,Cr,Io,Ir,zi,f,xr,xo,Nr,Or,No,Dr,Fr,Oo,Hr,Vr,Do,Lr,jr,Ti,Me,Pe,ua,Mi,Be,Br,Pi,Ge,Fo,Gr,Si,Qe,Qr,Ai,F,R,Ho,Se,Ur,Vo,Jr,Ci,W,Kr,Lo,Rr,Wr,Ii,Ae,Ce,pa,xi,P,Yr,jo,Xr,Zr,Bo,ea,oa,Ni;return X=new eo({}),Z=new Hl({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/it/chapter8/section3.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/it/chapter8/section3.ipynb"}]}}),ee=new Fl({props:{id:"S2EEG3JIt2A"}}),ce=new eo({}),ue=new ta({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)`}}),me=new ta({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`}}),de=new ta({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'}}),ye=new eo({}),qe=new eo({}),Te=new eo({}),Se=new eo({}),{c(){A=t("meta"),Go=p(),C=t("h1"),H=t("a"),oo=t("span"),g(X.$$.fragment),Wi=p(),io=t("span"),Yi=a("Asking for help on the forums"),Qo=p(),g(Z.$$.fragment),Uo=p(),g(ee.$$.fragment),Jo=p(),V=t("p"),Xi=a("Il "),oe=t("a"),Zi=a("forum di Hugging Face"),et=a(" \xE8 un posto ideale per ricevere aiuto dal team open source e dalla pi\xF9 ampia community di Hugging Face. Ecco come appare la pagina principale in un dato giorno:"),Ko=p(),ie=t("div"),te=t("img"),Ro=p(),d=t("p"),ot=a("Sul lato sinistro si possono vedere tutte le categorie in cui sono raggruppati i vari "),to=t("em"),it=a("topic"),tt=a(", mentre il lato destro mostra i "),ro=t("em"),rt=a("topic"),at=a(" pi\xF9 recenti. Un "),ao=t("em"),lt=a("topic"),st=a(" \xE8 un post che contiene un titolo, una categoria e una descrizione; \xE8 abbastanza simile al formato degli "),lo=t("em"),nt=a("issues"),ct=a(" di GitHub che abbiamo visto quando abbiamo creato il nostro dataset nel "),xe=t("a"),ut=a("Capitolo 5"),pt=a(". Come suggerisce il nome, la categoria "),re=t("a"),mt=a("Beginners"),dt=a(" \xE8 diretta principalmente alle persone che iniziano a lavorare con le librerie e l\u2019ecosistema di Hugging Face. Tutte le domande sulle librerie sono benvenute qui, sia che siano per fare debug di codice sia che siano per chiedere aiuto su come fare qualcosa. (Detto questo, se la domanda riguarda una libreria in particolare, \xE8 meglio rivolgersi alla categoria corrispondente del forum)."),Wo=p(),y=t("p"),ft=a("Allo stesso modo, le categorie "),ae=t("a"),ht=a("Intermediate"),vt=a(" e "),le=t("a"),gt=a("Research"),bt=a(" sono per domande pi\xF9 avanzate, ad esempio sulle librerie o su novit\xE0 nel campo della ricerca del NLP, di cui si vuole discutere."),Yo=p(),L=t("p"),wt=a("E naturalmente va menzionata anche la categoria "),se=t("a"),Et=a("Course"),kt=a(", dove potrai porre tutte le tue domande relative al corso Hugging Face!"),Xo=p(),v=t("p"),_t=a("Una volta selezionata la categoria, sarai pronto/a a scrivere il tuo primo "),so=t("em"),yt=a("topic"),qt=a(". Nel forum troverai alcune "),ne=t("a"),$t=a("linee guida"),zt=a(" su come farlo, e in questa sezione daremo un\u2019occhiata ad alcune delle caratteristiche che contraddistinguono un buon "),no=t("em"),Tt=a("topic"),Mt=a("."),Zo=p(),I=t("h2"),j=t("a"),co=t("span"),g(ce.$$.fragment),Pt=p(),uo=t("span"),St=a("Scrivere un post nel forum correttamente"),ei=p(),Ne=t("p"),At=a("Come esempio, supponiamo di voler generare embeddings da articoli di Wikipedia per creare un motore di ricerca personalizzato. Come al solito, carichiamo il tokenizer e il modello come segue:"),oi=p(),g(ue.$$.fragment),ii=p(),B=t("p"),Ct=a("Ora supponiamo di provare a creare embeddings per un\u2019intera sezione dell\u2019"),pe=t("a"),It=a("articolo di Wikipedia"),xt=a(" sui Transformers (il franchise, non la libreria!):"),ti=p(),g(me.$$.fragment),ri=p(),g(de.$$.fragment),ai=p(),q=t("p"),Nt=a("Oh-oh, abbiamo un problema \u2014 e il messaggio di errore \xE8 molto pi\xF9 criptico di quelli visti nella "),Oe=t("a"),Ot=a("sezione 2"),Dt=a("! Non riusciamo a capire il traceback completo, quindi decidiamo di rivolgerci ai forum di Hugging Face per chiedere aiuto. Come potremmo creare il "),po=t("em"),Ft=a("topic"),Ht=a("?"),li=p(),G=t("p"),Vt=a("Per iniziare, dobbiamo cliccare sul pulsante \u201CNew Topic\u201D nell\u2019angolo in alto a destra (nota che per creare un "),mo=t("em"),Lt=a("topic"),jt=a(" \xE8 necessario aver effettuato il login):"),si=p(),fe=t("div"),he=t("img"),ni=p(),De=t("p"),Bt=a("Si apre un\u2019interfaccia di scrittura in cui \xE8 possibile inserire il titolo dell\u2019argomento, selezionare una categoria e abbozzare il contenuto:"),ci=p(),ve=t("div"),ge=t("img"),ui=p(),Fe=t("p"),Gt=a("Poich\xE9 l\u2019errore sembra riguardare esclusivamente \u{1F917} Transformers, selezioneremo questa categoria. Il nostro primo tentativo di spiegare il problema potrebbe essere simile a questo:"),pi=p(),be=t("div"),we=t("img"),mi=p(),Q=t("p"),Qt=a("Sebbene questo "),fo=t("em"),Ut=a("topic"),Jt=a(" contenga il messaggio di errore per il quale abbiamo bisogno di aiuto, ci sono alcuni problemi nel modo in cui \xE8 scritto:"),di=p(),$=t("ol"),Ee=t("li"),Kt=a("Il titolo non \xE8 molto descrittivo, quindi chiunque navighi nel forum non sar\xE0 in grado di capire di cosa si tratta senza leggere anche il testo completo del "),ho=t("em"),Rt=a("topic"),Wt=a("."),Yt=p(),x=t("li"),Xt=a("Il corpo del testo non fornisce abbastanza informazioni su "),vo=t("em"),Zt=a("da dove"),er=a(" proviene l\u2019errore e "),go=t("em"),or=a("come"),ir=a(" riprodurlo."),tr=p(),ke=t("li"),rr=a("Nel "),bo=t("em"),ar=a("topic"),lr=a(" alcune persone sono taggate direttamente con un tono un po\u2019 esigente."),fi=p(),_e=t("p"),wo=t("em"),sr=a("Topic"),nr=a(" come questo non riceveranno probabilmente una risposta rapida (se la otterranno), quindi cerchiamo di capire come possiamo migliorarli. Cominciamo con il primo problema: la scelta di un buon titolo."),hi=p(),N=t("h3"),U=t("a"),Eo=t("span"),g(ye.$$.fragment),cr=p(),ko=t("span"),ur=a("Scegliere un titolo descrittivo"),vi=p(),z=t("p"),pr=a("Se si sta cercando di ottenere aiuto per un bug nel codice, una buona regola \xE8 quella di includere abbastanza informazioni nel titolo, in modo che gli altri possano determinare rapidamente se pensano di poter rispondere alla domanda o meno. Nel nostro esempio, conosciamo il nome dell\u2019eccezione che viene sollevata e abbiamo qualche indizio sul fatto che viene attivata nel "),_o=t("em"),mr=a("forward pass"),dr=a(" del modello, dove chiamiamo "),yo=t("code"),fr=a("model(**inputs)"),hr=a(". Per comunicare tutto ci\xF2, un possibile titolo potrebbe essere:"),gi=p(),He=t("blockquote"),qo=t("p"),vr=a("Source of IndexError in the AutoModel forward pass?"),bi=p(),T=t("p"),gr=a("Questo titolo dice al lettore "),$o=t("em"),br=a("da dove"),wr=a(" si pensa che provenga il bug e, se ha gi\xE0 incontrato un "),zo=t("code"),Er=a("IndexError"),kr=a(", \xE8 molto probabile che sappia come risolverlo. Naturalmente, il titolo pu\xF2 essere qualsiasi cosa si voglia, e altre varianti come:"),wi=p(),Ve=t("blockquote"),To=t("p"),_r=a("Why does my model produce an IndexError?"),Ei=p(),Le=t("p"),yr=a("potrebbe anche andare bene. Ora che abbiamo un titolo descrittivo, vediamo di migliorare il corpo del testo."),ki=p(),O=t("h3"),J=t("a"),Mo=t("span"),g(qe.$$.fragment),qr=p(),Po=t("span"),$r=a("Formattare gli snippet di codice"),_i=p(),je=t("p"),zr=a("Leggere il codice sorgente \xE8 gi\xE0 abbastanza difficile in un IDE, ma lo \xE8 ancora di pi\xF9 quando il codice viene copiato e incollato come testo normale! Fortunatamente, i forum di Hugging Face supportano l\u2019uso di Markdown, quindi dovresti sempre racchiudere i vostri blocchi di codice con tre backtick (```) in modo da renderli pi\xF9 facilmente leggibili. Facciamo cos\xEC per abbellire il messaggio di errore e, gi\xE0 che ci siamo, rendiamo il testo un po\u2019 pi\xF9 educato della nostra versione originale:"),yi=p(),$e=t("div"),ze=t("img"),qi=p(),M=t("p"),Tr=a("Come si pu\xF2 vedere nello screeshot, racchiudendo i blocchi di codice tra i backtick si converte il testo grezzo in codice formattato, completo di colore! Si noti anche che i singoli backtick possono essere usati per formattare le variabili inline, come abbiamo fatto per "),So=t("code"),Mr=a("distilbert-base-uncased"),Pr=a(". Questo "),Ao=t("em"),Sr=a("topic"),Ar=a(" sembra molto migliorato e con un po\u2019 di fortuna potremmo trovare qualcuno nella community in grado di indovinare la causa dell\u2019errore. Tuttavia, invece di affidarci alla fortuna, rendiamo la vita pi\xF9 facile includendo il traceback in tutti i suoi dettagli!"),$i=p(),D=t("h3"),K=t("a"),Co=t("span"),g(Te.$$.fragment),Cr=p(),Io=t("span"),Ir=a("Includere il traceback completo"),zi=p(),f=t("p"),xr=a("Poich\xE9 l\u2019ultima riga del traceback \xE8 spesso sufficiente per il debug del proprio codice, si pu\xF2 essere tentati di fornire solo quella nel proprio "),xo=t("em"),Nr=a("topic"),Or=a(" per \u201Crisparmiare spazio\u201D. Anche se fatto con buone intenzioni, in realt\xE0 questo rende per gli altri il debug del problema "),No=t("em"),Dr=a("pi\xF9 difficile"),Fr=a(", poich\xE9 anche le informazioni che si trovano pi\xF9 in alto nel traceback possono essere molto utili. Quindi, \xE8 buona pratica copiare e incollare l\u2019"),Oo=t("em"),Hr=a("intero"),Vr=a(" traceback, assicurandosi che sia ben formattato. Poich\xE9 questi traceback possono diventare piuttosto lunghi, alcuni preferiscono mostrarli dopo aver spiegato il codice sorgente. Facciamo cos\xEC. Ora, il nostro "),Do=t("em"),Lr=a("topic"),jr=a(" del forum ha questo aspetto:"),Ti=p(),Me=t("div"),Pe=t("img"),Mi=p(),Be=t("p"),Br=a("Questo \xE8 molto pi\xF9 esplicativo e un lettore attento potrebbe notare che il problema sembra essere dovuto al passaggio di un input lungo, grazie a questa riga nel traceback:"),Pi=p(),Ge=t("blockquote"),Fo=t("p"),Gr=a("Token indices sequence length is longer than the specified maximum sequence length for this model (583 > 512)."),Si=p(),Qe=t("p"),Qr=a("Tuttavia, possiamo rendere le cose ancora pi\xF9 semplici fornendo il codice effettivo che ha generato l\u2019errore. Facciamolo ora."),Ai=p(),F=t("h3"),R=t("a"),Ho=t("span"),g(Se.$$.fragment),Ur=p(),Vo=t("span"),Jr=a("Fornire un esempio riproducibile"),Ci=p(),W=t("p"),Kr=a("Se hai mai provato a fare il debug del codice di qualcun altro, probabilmente hai prima cercato di ricreare il problema segnalato, in modo da poter iniziare a lavorare dal traceback per individuare l\u2019errore. Non \xE8 diverso quando si tratta di ricevere (o dare) supporto sui forum, quindi \xE8 davvero utile poter fornire un piccolo esempio che riproduca l\u2019errore. La met\xE0 delle volte, semplicemente facendo questo ti aiuter\xE0 a capire cosa non funziona. In ogni caso, il pezzo mancante del nostro esempio \xE8 mostrare gli "),Lo=t("em"),Rr=a("input"),Wr=a(" che abbiamo fornito al modello. In questo modo si ottiene un esempio completo come il seguente:"),Ii=p(),Ae=t("div"),Ce=t("img"),xi=p(),P=t("p"),Yr=a("Questo "),jo=t("em"),Xr=a("topic"),Zr=a(" contiene ora molte informazioni ed \xE8 scritto in modo da attirare l\u2019attenzione della community e ottenere una risposta utile. Con queste linee guida basilari, puoi ora creare ottimi "),Bo=t("em"),ea=a("topic"),oa=a(" per trovare le risposte alle tue domande su \u{1F917} Transformers!"),this.h()},l(e){const n=Nl('[data-svelte="svelte-1phssyn"]',document.head);A=r(n,"META",{name:!0,content:!0}),n.forEach(o),Go=m(e),C=r(e,"H1",{class:!0});var Oi=s(C);H=r(Oi,"A",{id:!0,class:!0,href:!0});var ma=s(H);oo=r(ma,"SPAN",{});var da=s(oo);b(X.$$.fragment,da),da.forEach(o),ma.forEach(o),Wi=m(Oi),io=r(Oi,"SPAN",{});var fa=s(io);Yi=l(fa,"Asking for help on the forums"),fa.forEach(o),Oi.forEach(o),Qo=m(e),b(Z.$$.fragment,e),Uo=m(e),b(ee.$$.fragment,e),Jo=m(e),V=r(e,"P",{});var Di=s(V);Xi=l(Di,"Il "),oe=r(Di,"A",{href:!0,rel:!0});var ha=s(oe);Zi=l(ha,"forum di Hugging Face"),ha.forEach(o),et=l(Di," \xE8 un posto ideale per ricevere aiuto dal team open source e dalla pi\xF9 ampia community di Hugging Face. Ecco come appare la pagina principale in un dato giorno:"),Di.forEach(o),Ko=m(e),ie=r(e,"DIV",{class:!0});var va=s(ie);te=r(va,"IMG",{src:!0,alt:!0,width:!0}),va.forEach(o),Ro=m(e),d=r(e,"P",{});var h=s(d);ot=l(h,"Sul lato sinistro si possono vedere tutte le categorie in cui sono raggruppati i vari "),to=r(h,"EM",{});var ga=s(to);it=l(ga,"topic"),ga.forEach(o),tt=l(h,", mentre il lato destro mostra i "),ro=r(h,"EM",{});var ba=s(ro);rt=l(ba,"topic"),ba.forEach(o),at=l(h," pi\xF9 recenti. Un "),ao=r(h,"EM",{});var wa=s(ao);lt=l(wa,"topic"),wa.forEach(o),st=l(h," \xE8 un post che contiene un titolo, una categoria e una descrizione; \xE8 abbastanza simile al formato degli "),lo=r(h,"EM",{});var Ea=s(lo);nt=l(Ea,"issues"),Ea.forEach(o),ct=l(h," di GitHub che abbiamo visto quando abbiamo creato il nostro dataset nel "),xe=r(h,"A",{href:!0});var ka=s(xe);ut=l(ka,"Capitolo 5"),ka.forEach(o),pt=l(h,". Come suggerisce il nome, la categoria "),re=r(h,"A",{href:!0,rel:!0});var _a=s(re);mt=l(_a,"Beginners"),_a.forEach(o),dt=l(h," \xE8 diretta principalmente alle persone che iniziano a lavorare con le librerie e l\u2019ecosistema di Hugging Face. Tutte le domande sulle librerie sono benvenute qui, sia che siano per fare debug di codice sia che siano per chiedere aiuto su come fare qualcosa. (Detto questo, se la domanda riguarda una libreria in particolare, \xE8 meglio rivolgersi alla categoria corrispondente del forum)."),h.forEach(o),Wo=m(e),y=r(e,"P",{});var Ue=s(y);ft=l(Ue,"Allo stesso modo, le categorie "),ae=r(Ue,"A",{href:!0,rel:!0});var ya=s(ae);ht=l(ya,"Intermediate"),ya.forEach(o),vt=l(Ue," e "),le=r(Ue,"A",{href:!0,rel:!0});var qa=s(le);gt=l(qa,"Research"),qa.forEach(o),bt=l(Ue," sono per domande pi\xF9 avanzate, ad esempio sulle librerie o su novit\xE0 nel campo della ricerca del NLP, di cui si vuole discutere."),Ue.forEach(o),Yo=m(e),L=r(e,"P",{});var Fi=s(L);wt=l(Fi,"E naturalmente va menzionata anche la categoria "),se=r(Fi,"A",{href:!0,rel:!0});var $a=s(se);Et=l($a,"Course"),$a.forEach(o),kt=l(Fi,", dove potrai porre tutte le tue domande relative al corso Hugging Face!"),Fi.forEach(o),Xo=m(e),v=r(e,"P",{});var Y=s(v);_t=l(Y,"Una volta selezionata la categoria, sarai pronto/a a scrivere il tuo primo "),so=r(Y,"EM",{});var za=s(so);yt=l(za,"topic"),za.forEach(o),qt=l(Y,". Nel forum troverai alcune "),ne=r(Y,"A",{href:!0,rel:!0});var Ta=s(ne);$t=l(Ta,"linee guida"),Ta.forEach(o),zt=l(Y," su come farlo, e in questa sezione daremo un\u2019occhiata ad alcune delle caratteristiche che contraddistinguono un buon "),no=r(Y,"EM",{});var Ma=s(no);Tt=l(Ma,"topic"),Ma.forEach(o),Mt=l(Y,"."),Y.forEach(o),Zo=m(e),I=r(e,"H2",{class:!0});var Hi=s(I);j=r(Hi,"A",{id:!0,class:!0,href:!0});var Pa=s(j);co=r(Pa,"SPAN",{});var Sa=s(co);b(ce.$$.fragment,Sa),Sa.forEach(o),Pa.forEach(o),Pt=m(Hi),uo=r(Hi,"SPAN",{});var Aa=s(uo);St=l(Aa,"Scrivere un post nel forum correttamente"),Aa.forEach(o),Hi.forEach(o),ei=m(e),Ne=r(e,"P",{});var Ca=s(Ne);At=l(Ca,"Come esempio, supponiamo di voler generare embeddings da articoli di Wikipedia per creare un motore di ricerca personalizzato. Come al solito, carichiamo il tokenizer e il modello come segue:"),Ca.forEach(o),oi=m(e),b(ue.$$.fragment,e),ii=m(e),B=r(e,"P",{});var Vi=s(B);Ct=l(Vi,"Ora supponiamo di provare a creare embeddings per un\u2019intera sezione dell\u2019"),pe=r(Vi,"A",{href:!0,rel:!0});var Ia=s(pe);It=l(Ia,"articolo di Wikipedia"),Ia.forEach(o),xt=l(Vi," sui Transformers (il franchise, non la libreria!):"),Vi.forEach(o),ti=m(e),b(me.$$.fragment,e),ri=m(e),b(de.$$.fragment,e),ai=m(e),q=r(e,"P",{});var Je=s(q);Nt=l(Je,"Oh-oh, abbiamo un problema \u2014 e il messaggio di errore \xE8 molto pi\xF9 criptico di quelli visti nella "),Oe=r(Je,"A",{href:!0});var xa=s(Oe);Ot=l(xa,"sezione 2"),xa.forEach(o),Dt=l(Je,"! Non riusciamo a capire il traceback completo, quindi decidiamo di rivolgerci ai forum di Hugging Face per chiedere aiuto. Come potremmo creare il "),po=r(Je,"EM",{});var Na=s(po);Ft=l(Na,"topic"),Na.forEach(o),Ht=l(Je,"?"),Je.forEach(o),li=m(e),G=r(e,"P",{});var Li=s(G);Vt=l(Li,"Per iniziare, dobbiamo cliccare sul pulsante \u201CNew Topic\u201D nell\u2019angolo in alto a destra (nota che per creare un "),mo=r(Li,"EM",{});var Oa=s(mo);Lt=l(Oa,"topic"),Oa.forEach(o),jt=l(Li," \xE8 necessario aver effettuato il login):"),Li.forEach(o),si=m(e),fe=r(e,"DIV",{class:!0});var Da=s(fe);he=r(Da,"IMG",{src:!0,alt:!0,width:!0}),Da.forEach(o),ni=m(e),De=r(e,"P",{});var Fa=s(De);Bt=l(Fa,"Si apre un\u2019interfaccia di scrittura in cui \xE8 possibile inserire il titolo dell\u2019argomento, selezionare una categoria e abbozzare il contenuto:"),Fa.forEach(o),ci=m(e),ve=r(e,"DIV",{class:!0});var Ha=s(ve);ge=r(Ha,"IMG",{src:!0,alt:!0,width:!0}),Ha.forEach(o),ui=m(e),Fe=r(e,"P",{});var Va=s(Fe);Gt=l(Va,"Poich\xE9 l\u2019errore sembra riguardare esclusivamente \u{1F917} Transformers, selezioneremo questa categoria. Il nostro primo tentativo di spiegare il problema potrebbe essere simile a questo:"),Va.forEach(o),pi=m(e),be=r(e,"DIV",{class:!0});var La=s(be);we=r(La,"IMG",{src:!0,alt:!0,width:!0}),La.forEach(o),mi=m(e),Q=r(e,"P",{});var ji=s(Q);Qt=l(ji,"Sebbene questo "),fo=r(ji,"EM",{});var ja=s(fo);Ut=l(ja,"topic"),ja.forEach(o),Jt=l(ji," contenga il messaggio di errore per il quale abbiamo bisogno di aiuto, ci sono alcuni problemi nel modo in cui \xE8 scritto:"),ji.forEach(o),di=m(e),$=r(e,"OL",{});var Ke=s($);Ee=r(Ke,"LI",{});var Bi=s(Ee);Kt=l(Bi,"Il titolo non \xE8 molto descrittivo, quindi chiunque navighi nel forum non sar\xE0 in grado di capire di cosa si tratta senza leggere anche il testo completo del "),ho=r(Bi,"EM",{});var Ba=s(ho);Rt=l(Ba,"topic"),Ba.forEach(o),Wt=l(Bi,"."),Bi.forEach(o),Yt=m(Ke),x=r(Ke,"LI",{});var Re=s(x);Xt=l(Re,"Il corpo del testo non fornisce abbastanza informazioni su "),vo=r(Re,"EM",{});var Ga=s(vo);Zt=l(Ga,"da dove"),Ga.forEach(o),er=l(Re," proviene l\u2019errore e "),go=r(Re,"EM",{});var Qa=s(go);or=l(Qa,"come"),Qa.forEach(o),ir=l(Re," riprodurlo."),Re.forEach(o),tr=m(Ke),ke=r(Ke,"LI",{});var Gi=s(ke);rr=l(Gi,"Nel "),bo=r(Gi,"EM",{});var Ua=s(bo);ar=l(Ua,"topic"),Ua.forEach(o),lr=l(Gi," alcune persone sono taggate direttamente con un tono un po\u2019 esigente."),Gi.forEach(o),Ke.forEach(o),fi=m(e),_e=r(e,"P",{});var ia=s(_e);wo=r(ia,"EM",{});var Ja=s(wo);sr=l(Ja,"Topic"),Ja.forEach(o),nr=l(ia," come questo non riceveranno probabilmente una risposta rapida (se la otterranno), quindi cerchiamo di capire come possiamo migliorarli. Cominciamo con il primo problema: la scelta di un buon titolo."),ia.forEach(o),hi=m(e),N=r(e,"H3",{class:!0});var Qi=s(N);U=r(Qi,"A",{id:!0,class:!0,href:!0});var Ka=s(U);Eo=r(Ka,"SPAN",{});var Ra=s(Eo);b(ye.$$.fragment,Ra),Ra.forEach(o),Ka.forEach(o),cr=m(Qi),ko=r(Qi,"SPAN",{});var Wa=s(ko);ur=l(Wa,"Scegliere un titolo descrittivo"),Wa.forEach(o),Qi.forEach(o),vi=m(e),z=r(e,"P",{});var We=s(z);pr=l(We,"Se si sta cercando di ottenere aiuto per un bug nel codice, una buona regola \xE8 quella di includere abbastanza informazioni nel titolo, in modo che gli altri possano determinare rapidamente se pensano di poter rispondere alla domanda o meno. Nel nostro esempio, conosciamo il nome dell\u2019eccezione che viene sollevata e abbiamo qualche indizio sul fatto che viene attivata nel "),_o=r(We,"EM",{});var Ya=s(_o);mr=l(Ya,"forward pass"),Ya.forEach(o),dr=l(We," del modello, dove chiamiamo "),yo=r(We,"CODE",{});var Xa=s(yo);fr=l(Xa,"model(**inputs)"),Xa.forEach(o),hr=l(We,". Per comunicare tutto ci\xF2, un possibile titolo potrebbe essere:"),We.forEach(o),gi=m(e),He=r(e,"BLOCKQUOTE",{});var Za=s(He);qo=r(Za,"P",{});var el=s(qo);vr=l(el,"Source of IndexError in the AutoModel forward pass?"),el.forEach(o),Za.forEach(o),bi=m(e),T=r(e,"P",{});var Ye=s(T);gr=l(Ye,"Questo titolo dice al lettore "),$o=r(Ye,"EM",{});var ol=s($o);br=l(ol,"da dove"),ol.forEach(o),wr=l(Ye," si pensa che provenga il bug e, se ha gi\xE0 incontrato un "),zo=r(Ye,"CODE",{});var il=s(zo);Er=l(il,"IndexError"),il.forEach(o),kr=l(Ye,", \xE8 molto probabile che sappia come risolverlo. Naturalmente, il titolo pu\xF2 essere qualsiasi cosa si voglia, e altre varianti come:"),Ye.forEach(o),wi=m(e),Ve=r(e,"BLOCKQUOTE",{});var tl=s(Ve);To=r(tl,"P",{});var rl=s(To);_r=l(rl,"Why does my model produce an IndexError?"),rl.forEach(o),tl.forEach(o),Ei=m(e),Le=r(e,"P",{});var al=s(Le);yr=l(al,"potrebbe anche andare bene. Ora che abbiamo un titolo descrittivo, vediamo di migliorare il corpo del testo."),al.forEach(o),ki=m(e),O=r(e,"H3",{class:!0});var Ui=s(O);J=r(Ui,"A",{id:!0,class:!0,href:!0});var ll=s(J);Mo=r(ll,"SPAN",{});var sl=s(Mo);b(qe.$$.fragment,sl),sl.forEach(o),ll.forEach(o),qr=m(Ui),Po=r(Ui,"SPAN",{});var nl=s(Po);$r=l(nl,"Formattare gli snippet di codice"),nl.forEach(o),Ui.forEach(o),_i=m(e),je=r(e,"P",{});var cl=s(je);zr=l(cl,"Leggere il codice sorgente \xE8 gi\xE0 abbastanza difficile in un IDE, ma lo \xE8 ancora di pi\xF9 quando il codice viene copiato e incollato come testo normale! Fortunatamente, i forum di Hugging Face supportano l\u2019uso di Markdown, quindi dovresti sempre racchiudere i vostri blocchi di codice con tre backtick (```) in modo da renderli pi\xF9 facilmente leggibili. Facciamo cos\xEC per abbellire il messaggio di errore e, gi\xE0 che ci siamo, rendiamo il testo un po\u2019 pi\xF9 educato della nostra versione originale:"),cl.forEach(o),yi=m(e),$e=r(e,"DIV",{class:!0});var ul=s($e);ze=r(ul,"IMG",{src:!0,alt:!0,width:!0}),ul.forEach(o),qi=m(e),M=r(e,"P",{});var Xe=s(M);Tr=l(Xe,"Come si pu\xF2 vedere nello screeshot, racchiudendo i blocchi di codice tra i backtick si converte il testo grezzo in codice formattato, completo di colore! Si noti anche che i singoli backtick possono essere usati per formattare le variabili inline, come abbiamo fatto per "),So=r(Xe,"CODE",{});var pl=s(So);Mr=l(pl,"distilbert-base-uncased"),pl.forEach(o),Pr=l(Xe,". Questo "),Ao=r(Xe,"EM",{});var ml=s(Ao);Sr=l(ml,"topic"),ml.forEach(o),Ar=l(Xe," sembra molto migliorato e con un po\u2019 di fortuna potremmo trovare qualcuno nella community in grado di indovinare la causa dell\u2019errore. Tuttavia, invece di affidarci alla fortuna, rendiamo la vita pi\xF9 facile includendo il traceback in tutti i suoi dettagli!"),Xe.forEach(o),$i=m(e),D=r(e,"H3",{class:!0});var Ji=s(D);K=r(Ji,"A",{id:!0,class:!0,href:!0});var dl=s(K);Co=r(dl,"SPAN",{});var fl=s(Co);b(Te.$$.fragment,fl),fl.forEach(o),dl.forEach(o),Cr=m(Ji),Io=r(Ji,"SPAN",{});var hl=s(Io);Ir=l(hl,"Includere il traceback completo"),hl.forEach(o),Ji.forEach(o),zi=m(e),f=r(e,"P",{});var S=s(f);xr=l(S,"Poich\xE9 l\u2019ultima riga del traceback \xE8 spesso sufficiente per il debug del proprio codice, si pu\xF2 essere tentati di fornire solo quella nel proprio "),xo=r(S,"EM",{});var vl=s(xo);Nr=l(vl,"topic"),vl.forEach(o),Or=l(S," per \u201Crisparmiare spazio\u201D. Anche se fatto con buone intenzioni, in realt\xE0 questo rende per gli altri il debug del problema "),No=r(S,"EM",{});var gl=s(No);Dr=l(gl,"pi\xF9 difficile"),gl.forEach(o),Fr=l(S,", poich\xE9 anche le informazioni che si trovano pi\xF9 in alto nel traceback possono essere molto utili. Quindi, \xE8 buona pratica copiare e incollare l\u2019"),Oo=r(S,"EM",{});var bl=s(Oo);Hr=l(bl,"intero"),bl.forEach(o),Vr=l(S," traceback, assicurandosi che sia ben formattato. Poich\xE9 questi traceback possono diventare piuttosto lunghi, alcuni preferiscono mostrarli dopo aver spiegato il codice sorgente. Facciamo cos\xEC. Ora, il nostro "),Do=r(S,"EM",{});var wl=s(Do);Lr=l(wl,"topic"),wl.forEach(o),jr=l(S," del forum ha questo aspetto:"),S.forEach(o),Ti=m(e),Me=r(e,"DIV",{class:!0});var El=s(Me);Pe=r(El,"IMG",{src:!0,alt:!0,width:!0}),El.forEach(o),Mi=m(e),Be=r(e,"P",{});var kl=s(Be);Br=l(kl,"Questo \xE8 molto pi\xF9 esplicativo e un lettore attento potrebbe notare che il problema sembra essere dovuto al passaggio di un input lungo, grazie a questa riga nel traceback:"),kl.forEach(o),Pi=m(e),Ge=r(e,"BLOCKQUOTE",{});var _l=s(Ge);Fo=r(_l,"P",{});var yl=s(Fo);Gr=l(yl,"Token indices sequence length is longer than the specified maximum sequence length for this model (583 > 512)."),yl.forEach(o),_l.forEach(o),Si=m(e),Qe=r(e,"P",{});var ql=s(Qe);Qr=l(ql,"Tuttavia, possiamo rendere le cose ancora pi\xF9 semplici fornendo il codice effettivo che ha generato l\u2019errore. Facciamolo ora."),ql.forEach(o),Ai=m(e),F=r(e,"H3",{class:!0});var Ki=s(F);R=r(Ki,"A",{id:!0,class:!0,href:!0});var $l=s(R);Ho=r($l,"SPAN",{});var zl=s(Ho);b(Se.$$.fragment,zl),zl.forEach(o),$l.forEach(o),Ur=m(Ki),Vo=r(Ki,"SPAN",{});var Tl=s(Vo);Jr=l(Tl,"Fornire un esempio riproducibile"),Tl.forEach(o),Ki.forEach(o),Ci=m(e),W=r(e,"P",{});var Ri=s(W);Kr=l(Ri,"Se hai mai provato a fare il debug del codice di qualcun altro, probabilmente hai prima cercato di ricreare il problema segnalato, in modo da poter iniziare a lavorare dal traceback per individuare l\u2019errore. Non \xE8 diverso quando si tratta di ricevere (o dare) supporto sui forum, quindi \xE8 davvero utile poter fornire un piccolo esempio che riproduca l\u2019errore. La met\xE0 delle volte, semplicemente facendo questo ti aiuter\xE0 a capire cosa non funziona. In ogni caso, il pezzo mancante del nostro esempio \xE8 mostrare gli "),Lo=r(Ri,"EM",{});var Ml=s(Lo);Rr=l(Ml,"input"),Ml.forEach(o),Wr=l(Ri," che abbiamo fornito al modello. In questo modo si ottiene un esempio completo come il seguente:"),Ri.forEach(o),Ii=m(e),Ae=r(e,"DIV",{class:!0});var Pl=s(Ae);Ce=r(Pl,"IMG",{src:!0,alt:!0,width:!0}),Pl.forEach(o),xi=m(e),P=r(e,"P",{});var Ze=s(P);Yr=l(Ze,"Questo "),jo=r(Ze,"EM",{});var Sl=s(jo);Xr=l(Sl,"topic"),Sl.forEach(o),Zr=l(Ze," contiene ora molte informazioni ed \xE8 scritto in modo da attirare l\u2019attenzione della community e ottenere una risposta utile. Con queste linee guida basilari, puoi ora creare ottimi "),Bo=r(Ze,"EM",{});var Al=s(Bo);ea=l(Al,"topic"),Al.forEach(o),oa=l(Ze," per trovare le risposte alle tue domande su \u{1F917} Transformers!"),Ze.forEach(o),this.h()},h(){u(A,"name","hf:doc:metadata"),u(A,"content",JSON.stringify(Ll)),u(H,"id","asking-for-help-on-the-forums"),u(H,"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"),u(H,"href","#asking-for-help-on-the-forums"),u(C,"class","relative group"),u(oe,"href","https://discuss.huggingface.co"),u(oe,"rel","nofollow"),Ie(te.src,aa="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forums.png")||u(te,"src",aa),u(te,"alt","The Hugging Face forums."),u(te,"width","100%"),u(ie,"class","flex justify-center"),u(xe,"href","/course/chapter5"),u(re,"href","https://discuss.huggingface.co/c/beginners/5"),u(re,"rel","nofollow"),u(ae,"href","https://discuss.huggingface.co/c/intermediate/6"),u(ae,"rel","nofollow"),u(le,"href","https://discuss.huggingface.co/c/research/7"),u(le,"rel","nofollow"),u(se,"href","https://discuss.huggingface.co/c/course/20"),u(se,"rel","nofollow"),u(ne,"href","https://discuss.huggingface.co/t/how-to-request-support/3128"),u(ne,"rel","nofollow"),u(j,"id","scrivere-un-post-nel-forum-correttamente"),u(j,"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"),u(j,"href","#scrivere-un-post-nel-forum-correttamente"),u(I,"class","relative group"),u(pe,"href","https://en.wikipedia.org/wiki/Transformers"),u(pe,"rel","nofollow"),u(Oe,"href","/course/chapter8/section2"),Ie(he.src,la="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forums-new-topic.png")||u(he,"src",la),u(he,"alt","Creating a new forum topic."),u(he,"width","100%"),u(fe,"class","flex justify-center"),Ie(ge.src,sa="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic01.png")||u(ge,"src",sa),u(ge,"alt","The interface for creating a forum topic."),u(ge,"width","100%"),u(ve,"class","flex justify-center"),Ie(we.src,na="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic02.png")||u(we,"src",na),u(we,"alt","Drafting the content for a new forum topic."),u(we,"width","100%"),u(be,"class","flex justify-center"),u(U,"id","scegliere-un-titolo-descrittivo"),u(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"),u(U,"href","#scegliere-un-titolo-descrittivo"),u(N,"class","relative group"),u(J,"id","formattare-gli-snippet-di-codice"),u(J,"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"),u(J,"href","#formattare-gli-snippet-di-codice"),u(O,"class","relative group"),Ie(ze.src,ca="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic03.png")||u(ze,"src",ca),u(ze,"alt","Our revised forum topic, with proper code formatting."),u(ze,"width","100%"),u($e,"class","flex justify-center"),u(K,"id","includere-il-traceback-completo"),u(K,"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"),u(K,"href","#includere-il-traceback-completo"),u(D,"class","relative group"),Ie(Pe.src,ua="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic04.png")||u(Pe,"src",ua),u(Pe,"alt","Our example forum topic, with the complete traceback."),u(Pe,"width","100%"),u(Me,"class","flex justify-center"),u(R,"id","fornire-un-esempio-riproducibile"),u(R,"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"),u(R,"href","#fornire-un-esempio-riproducibile"),u(F,"class","relative group"),Ie(Ce.src,pa="https://huggingface.co/datasets/huggingface-course/documentation-images/resolve/main/en/chapter8/forum-topic05.png")||u(Ce,"src",pa),u(Ce,"alt","The final version of our forum topic."),u(Ce,"width","100%"),u(Ae,"class","flex justify-center")},m(e,n){i(document.head,A),c(e,Go,n),c(e,C,n),i(C,H),i(H,oo),w(X,oo,null),i(C,Wi),i(C,io),i(io,Yi),c(e,Qo,n),w(Z,e,n),c(e,Uo,n),w(ee,e,n),c(e,Jo,n),c(e,V,n),i(V,Xi),i(V,oe),i(oe,Zi),i(V,et),c(e,Ko,n),c(e,ie,n),i(ie,te),c(e,Ro,n),c(e,d,n),i(d,ot),i(d,to),i(to,it),i(d,tt),i(d,ro),i(ro,rt),i(d,at),i(d,ao),i(ao,lt),i(d,st),i(d,lo),i(lo,nt),i(d,ct),i(d,xe),i(xe,ut),i(d,pt),i(d,re),i(re,mt),i(d,dt),c(e,Wo,n),c(e,y,n),i(y,ft),i(y,ae),i(ae,ht),i(y,vt),i(y,le),i(le,gt),i(y,bt),c(e,Yo,n),c(e,L,n),i(L,wt),i(L,se),i(se,Et),i(L,kt),c(e,Xo,n),c(e,v,n),i(v,_t),i(v,so),i(so,yt),i(v,qt),i(v,ne),i(ne,$t),i(v,zt),i(v,no),i(no,Tt),i(v,Mt),c(e,Zo,n),c(e,I,n),i(I,j),i(j,co),w(ce,co,null),i(I,Pt),i(I,uo),i(uo,St),c(e,ei,n),c(e,Ne,n),i(Ne,At),c(e,oi,n),w(ue,e,n),c(e,ii,n),c(e,B,n),i(B,Ct),i(B,pe),i(pe,It),i(B,xt),c(e,ti,n),w(me,e,n),c(e,ri,n),w(de,e,n),c(e,ai,n),c(e,q,n),i(q,Nt),i(q,Oe),i(Oe,Ot),i(q,Dt),i(q,po),i(po,Ft),i(q,Ht),c(e,li,n),c(e,G,n),i(G,Vt),i(G,mo),i(mo,Lt),i(G,jt),c(e,si,n),c(e,fe,n),i(fe,he),c(e,ni,n),c(e,De,n),i(De,Bt),c(e,ci,n),c(e,ve,n),i(ve,ge),c(e,ui,n),c(e,Fe,n),i(Fe,Gt),c(e,pi,n),c(e,be,n),i(be,we),c(e,mi,n),c(e,Q,n),i(Q,Qt),i(Q,fo),i(fo,Ut),i(Q,Jt),c(e,di,n),c(e,$,n),i($,Ee),i(Ee,Kt),i(Ee,ho),i(ho,Rt),i(Ee,Wt),i($,Yt),i($,x),i(x,Xt),i(x,vo),i(vo,Zt),i(x,er),i(x,go),i(go,or),i(x,ir),i($,tr),i($,ke),i(ke,rr),i(ke,bo),i(bo,ar),i(ke,lr),c(e,fi,n),c(e,_e,n),i(_e,wo),i(wo,sr),i(_e,nr),c(e,hi,n),c(e,N,n),i(N,U),i(U,Eo),w(ye,Eo,null),i(N,cr),i(N,ko),i(ko,ur),c(e,vi,n),c(e,z,n),i(z,pr),i(z,_o),i(_o,mr),i(z,dr),i(z,yo),i(yo,fr),i(z,hr),c(e,gi,n),c(e,He,n),i(He,qo),i(qo,vr),c(e,bi,n),c(e,T,n),i(T,gr),i(T,$o),i($o,br),i(T,wr),i(T,zo),i(zo,Er),i(T,kr),c(e,wi,n),c(e,Ve,n),i(Ve,To),i(To,_r),c(e,Ei,n),c(e,Le,n),i(Le,yr),c(e,ki,n),c(e,O,n),i(O,J),i(J,Mo),w(qe,Mo,null),i(O,qr),i(O,Po),i(Po,$r),c(e,_i,n),c(e,je,n),i(je,zr),c(e,yi,n),c(e,$e,n),i($e,ze),c(e,qi,n),c(e,M,n),i(M,Tr),i(M,So),i(So,Mr),i(M,Pr),i(M,Ao),i(Ao,Sr),i(M,Ar),c(e,$i,n),c(e,D,n),i(D,K),i(K,Co),w(Te,Co,null),i(D,Cr),i(D,Io),i(Io,Ir),c(e,zi,n),c(e,f,n),i(f,xr),i(f,xo),i(xo,Nr),i(f,Or),i(f,No),i(No,Dr),i(f,Fr),i(f,Oo),i(Oo,Hr),i(f,Vr),i(f,Do),i(Do,Lr),i(f,jr),c(e,Ti,n),c(e,Me,n),i(Me,Pe),c(e,Mi,n),c(e,Be,n),i(Be,Br),c(e,Pi,n),c(e,Ge,n),i(Ge,Fo),i(Fo,Gr),c(e,Si,n),c(e,Qe,n),i(Qe,Qr),c(e,Ai,n),c(e,F,n),i(F,R),i(R,Ho),w(Se,Ho,null),i(F,Ur),i(F,Vo),i(Vo,Jr),c(e,Ci,n),c(e,W,n),i(W,Kr),i(W,Lo),i(Lo,Rr),i(W,Wr),c(e,Ii,n),c(e,Ae,n),i(Ae,Ce),c(e,xi,n),c(e,P,n),i(P,Yr),i(P,jo),i(jo,Xr),i(P,Zr),i(P,Bo),i(Bo,ea),i(P,oa),Ni=!0},p:Ol,i(e){Ni||(E(X.$$.fragment,e),E(Z.$$.fragment,e),E(ee.$$.fragment,e),E(ce.$$.fragment,e),E(ue.$$.fragment,e),E(me.$$.fragment,e),E(de.$$.fragment,e),E(ye.$$.fragment,e),E(qe.$$.fragment,e),E(Te.$$.fragment,e),E(Se.$$.fragment,e),Ni=!0)},o(e){k(X.$$.fragment,e),k(Z.$$.fragment,e),k(ee.$$.fragment,e),k(ce.$$.fragment,e),k(ue.$$.fragment,e),k(me.$$.fragment,e),k(de.$$.fragment,e),k(ye.$$.fragment,e),k(qe.$$.fragment,e),k(Te.$$.fragment,e),k(Se.$$.fragment,e),Ni=!1},d(e){o(A),e&&o(Go),e&&o(C),_(X),e&&o(Qo),_(Z,e),e&&o(Uo),_(ee,e),e&&o(Jo),e&&o(V),e&&o(Ko),e&&o(ie),e&&o(Ro),e&&o(d),e&&o(Wo),e&&o(y),e&&o(Yo),e&&o(L),e&&o(Xo),e&&o(v),e&&o(Zo),e&&o(I),_(ce),e&&o(ei),e&&o(Ne),e&&o(oi),_(ue,e),e&&o(ii),e&&o(B),e&&o(ti),_(me,e),e&&o(ri),_(de,e),e&&o(ai),e&&o(q),e&&o(li),e&&o(G),e&&o(si),e&&o(fe),e&&o(ni),e&&o(De),e&&o(ci),e&&o(ve),e&&o(ui),e&&o(Fe),e&&o(pi),e&&o(be),e&&o(mi),e&&o(Q),e&&o(di),e&&o($),e&&o(fi),e&&o(_e),e&&o(hi),e&&o(N),_(ye),e&&o(vi),e&&o(z),e&&o(gi),e&&o(He),e&&o(bi),e&&o(T),e&&o(wi),e&&o(Ve),e&&o(Ei),e&&o(Le),e&&o(ki),e&&o(O),_(qe),e&&o(_i),e&&o(je),e&&o(yi),e&&o($e),e&&o(qi),e&&o(M),e&&o($i),e&&o(D),_(Te),e&&o(zi),e&&o(f),e&&o(Ti),e&&o(Me),e&&o(Mi),e&&o(Be),e&&o(Pi),e&&o(Ge),e&&o(Si),e&&o(Qe),e&&o(Ai),e&&o(F),_(Se),e&&o(Ci),e&&o(W),e&&o(Ii),e&&o(Ae),e&&o(xi),e&&o(P)}}}const Ll={local:"asking-for-help-on-the-forums",sections:[{local:"scrivere-un-post-nel-forum-correttamente",sections:[{local:"scegliere-un-titolo-descrittivo",title:"Scegliere un titolo descrittivo"},{local:"formattare-gli-snippet-di-codice",title:"Formattare gli snippet di codice"},{local:"includere-il-traceback-completo",title:"Includere il traceback completo"},{local:"fornire-un-esempio-riproducibile",title:"Fornire un esempio riproducibile"}],title:"Scrivere un post nel forum correttamente"}],title:"Asking for help on the forums"};function jl(ra){return Dl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Rl extends Cl{constructor(A){super();Il(this,A,jl,Vl,xl,{})}}export{Rl as default,Ll as metadata};
