import{s as Ht,o as Yt,n as Rt}from"../chunks/scheduler.893fe8c9.js";import{S as Lt,i as Dt,e as u,s as a,c as p,h as Pt,a as M,d as l,b as n,f as It,g as c,j,k as Ge,l as V,m as s,n as m,t as J,o as T,p as d,q as be,r as qe}from"../chunks/index.6ee278c6.js";import{T as Ae}from"../chunks/Tip.eab0255c.js";import{C as Ot,H as z,E as Kt}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.ea3ad860.js";import{C as B}from"../chunks/CodeBlock.8bdd5f33.js";import{C as el}from"../chunks/CourseFloatingBanner.c25cfa5e.js";function tl(b){let o;return{c(){o=be(`Template-urile de chat sunt cruciale pentru:
- Menținerea unei structuri consecvente de conversație
- Asigurarea identificării corecte a rolurilor
- Gestionarea contextului pe mai multe tururi
- Suportarea funcționalităților avansate precum utilizarea instrumentelor`)},l(r){o=qe(r,`Template-urile de chat sunt cruciale pentru:
- Menținerea unei structuri consecvente de conversație
- Asigurarea identificării corecte a rolurilor
- Gestionarea contextului pe mai multe tururi
- Suportarea funcționalităților avansate precum utilizarea instrumentelor`)},m(r,U){s(r,o,U)},d(r){r&&l(o)}}}function ll(b){let o,r,U="această configurație",h;return{c(){o=be("Când folosiți un model instruct, verificați întotdeauna că folosiți formatul corect de template de chat. Folosirea unui template greșit poate duce la performanțe slabe ale modelului sau comportament neașteptat. Cea mai ușoară modalitate de a vă asigura de acest lucru este să verificați configurația tokenizer-ului modelului pe Hub. De exemplu, modelul `SmolLM2-135M-Instruct` folosește "),r=u("a"),r.textContent=U,h=be("."),this.h()},l(y){o=qe(y,"Când folosiți un model instruct, verificați întotdeauna că folosiți formatul corect de template de chat. Folosirea unui template greșit poate duce la performanțe slabe ale modelului sau comportament neașteptat. Cea mai ușoară modalitate de a vă asigura de acest lucru este să verificați configurația tokenizer-ului modelului pe Hub. De exemplu, modelul `SmolLM2-135M-Instruct` folosește "),r=M(y,"A",{href:!0,"data-svelte-h":!0}),j(r)!=="svelte-cj972o"&&(r.textContent=U),h=qe(y,"."),this.h()},h(){Ge(r,"href","https://huggingface.co/HuggingFaceTB/SmolLM2-135M-Instruct/blob/e2c3f7557efbdec707ae3a336371d169783f1da1/tokenizer_config.json#L146")},m(y,w){s(y,o,w),s(y,r,w),s(y,h,w)},p:Rt,d(y){y&&(l(o),l(r),l(h))}}}function sl(b){let o;return{c(){o=be(`Când implementați funcționalități avansate:
- Testați temeinic cu modelul dumneavoastră specific. Template-urile de viziune și utilizare a instrumentelor sunt deosebit de diverse.
- Monitorizați cu atenție utilizarea token-urilor între fiecare funcționalitate și model.
- Documentați formatul așteptat pentru fiecare funcționalitate`)},l(r){o=qe(r,`Când implementați funcționalități avansate:
- Testați temeinic cu modelul dumneavoastră specific. Template-urile de viziune și utilizare a instrumentelor sunt deosebit de diverse.
- Monitorizați cu atenție utilizarea token-urilor între fiecare funcționalitate și model.
- Documentați formatul așteptat pentru fiecare funcționalitate`)},m(r,U){s(r,o,U)},d(r){r&&l(o)}}}function al(b){let o;return{c(){o=be(`Capcane comune de evitat:
- Amestecarea diferitelor formate de template în aceeași aplicație
- Depășirea limitelor de token-uri cu istoricuri lungi de conversație
- Neescaparea corespunzătoare a caracterelor speciale în mesaje
- Uitarea validării structurii mesajelor de intrare
- Ignorarea cerințelor specifice de template ale modelului`)},l(r){o=qe(r,`Capcane comune de evitat:
- Amestecarea diferitelor formate de template în aceeași aplicație
- Depășirea limitelor de token-uri cu istoricuri lungi de conversație
- Neescaparea corespunzătoare a caracterelor speciale în mesaje
- Uitarea validării structurii mesajelor de intrare
- Ignorarea cerințelor specifice de template ale modelului`)},m(r,U){s(r,o,U)},d(r){r&&l(o)}}}function nl(b){let o,r,U="<li>Încărcați setul de date:</li>",h,y,w,f,F="<li>Creați o funcție de procesare:</li>",q,v,A,C,x="<li>Aplicați template-ul de chat folosind tokenizer-ul modelului ales</li>",X,G,N="Amintiți-vă să validați că formatul de ieșire se potrivește cu cerințele modelului țintă!",S;return y=new B({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBZGF0YXNldCUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJIdWdnaW5nRmFjZVRCJTJGc21vbHRhbGslMjIp",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset

dataset = load_dataset(<span class="hljs-string">&quot;HuggingFaceTB/smoltalk&quot;</span>)`,wrap:!1}}),v=new B({props:{code:"ZGVmJTIwY29udmVydF90b19jaGF0bWwoZXhhbXBsZSklM0ElMEElMjAlMjAlMjAlMjByZXR1cm4lMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJtZXNzYWdlcyUyMiUzQSUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUyMnJvbGUlMjIlM0ElMjAlMjJ1c2VyJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMGV4YW1wbGUlNUIlMjJpbnB1dCUyMiU1RCU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUyMnJvbGUlMjIlM0ElMjAlMjJhc3Npc3RhbnQlMjIlMkMlMjAlMjJjb250ZW50JTIyJTNBJTIwZXhhbXBsZSU1QiUyMm91dHB1dCUyMiU1RCU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU1RCUwQSUyMCUyMCUyMCUyMCU3RA==",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">convert_to_chatml</span>(<span class="hljs-params">example</span>):
    <span class="hljs-keyword">return</span> {
        <span class="hljs-string">&quot;messages&quot;</span>: [
            {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: example[<span class="hljs-string">&quot;input&quot;</span>]},
            {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;assistant&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: example[<span class="hljs-string">&quot;output&quot;</span>]},
        ]
    }`,wrap:!1}}),{c(){o=be("Urmați acești pași pentru a converti setul de date `HuggingFaceTB/smoltalk` în formatul chatml:\n"),r=u("ol"),r.innerHTML=U,h=a(),p(y.$$.fragment),w=a(),f=u("ol"),f.innerHTML=F,q=a(),p(v.$$.fragment),A=a(),C=u("ol"),C.innerHTML=x,X=a(),G=u("p"),G.textContent=N,this.h()},l(i){o=qe(i,"Urmați acești pași pentru a converti setul de date `HuggingFaceTB/smoltalk` în formatul chatml:\n"),r=M(i,"OL",{"data-svelte-h":!0}),j(r)!=="svelte-nu361h"&&(r.innerHTML=U),h=n(i),c(y.$$.fragment,i),w=n(i),f=M(i,"OL",{start:!0,"data-svelte-h":!0}),j(f)!=="svelte-s4f4t4"&&(f.innerHTML=F),q=n(i),c(v.$$.fragment,i),A=n(i),C=M(i,"OL",{start:!0,"data-svelte-h":!0}),j(C)!=="svelte-1auvdhk"&&(C.innerHTML=x),X=n(i),G=M(i,"P",{"data-svelte-h":!0}),j(G)!=="svelte-b1fs0u"&&(G.textContent=N),this.h()},h(){Ge(f,"start","2"),Ge(C,"start","3")},m(i,I){s(i,o,I),s(i,r,I),s(i,h,I),m(y,i,I),s(i,w,I),s(i,f,I),s(i,q,I),m(v,i,I),s(i,A,I),s(i,C,I),s(i,X,I),s(i,G,I),S=!0},p:Rt,i(i){S||(J(y.$$.fragment,i),J(v.$$.fragment,i),S=!0)},o(i){T(y.$$.fragment,i),T(v.$$.fragment,i),S=!1},d(i){i&&(l(o),l(r),l(h),l(w),l(f),l(q),l(A),l(C),l(X),l(G)),d(y,i),d(v,i)}}}function il(b){let o,r,U,h,y,w,f,F,q,v,A,C,x,X="Template-urile de chat sunt esențiale pentru structurarea interacțiunilor dintre modelele de limbaj și utilizatori. Indiferent dacă construiți un chatbot simplu sau un agent AI complex, înțelegerea modului de a formata corect conversațiile este crucială pentru a obține cele mai bune rezultate de la modelul dumneavoastră. În acest ghid, vom explora ce sunt template-urile de chat, de ce sunt importante și cum să le folosiți eficient.",G,N,S,i,I,k,Ne,W,ft='Un model de bază este antrenat pe date text brute pentru a prezice următorul token, în timp ce un model instruct este ajustat specific pentru a urma instrucțiuni și a se angaja în conversații. De exemplu, <a href="https://huggingface.co/HuggingFaceTB/SmolLM2-135M" rel="nofollow"><code>SmolLM2-135M</code></a> este un model de bază, în timp ce <a href="https://huggingface.co/HuggingFaceTB/SmolLM2-135M-Instruct" rel="nofollow"><code>SmolLM2-135M-Instruct</code></a> este varianta sa ajustată pentru instrucțiuni.',xe,R,ht="Modelele ajustate pentru instrucțiuni sunt antrenate să urmeze o structură conversațională specifică, făcându-le mai potrivite pentru aplicații de chatbot. Mai mult, modelele instruct pot gestiona interacțiuni complexe, inclusiv utilizarea instrumentelor, intrări multimodale și apeluri de funcții.",ze,H,gt='Pentru a face ca un model de bază să se comporte ca un model instruct, trebuie să formatăm prompturile într-un mod consecvent pe care modelul să îl înțeleagă. Aici intervin template-urile de chat. ChatML este unul dintre aceste formate de template care structurează conversațiile cu indicatori clari de rol (sistem, utilizator, asistent). Iată un ghid despre <a href="https://huggingface.co/HuggingFaceTB/SmolLM2-135M-Instruct/blob/e2c3f7557efbdec707ae3a336371d169783f1da1/tokenizer_config.json#L146" rel="nofollow">ChatML</a>.',Be,Q,Se,Y,Qe,L,wt="Înainte de a aprofunda implementări specifice, este important să înțelegem cum diferite modele se așteaptă ca conversațiile lor să fie formatate. Să explorăm câteva formate comune de template folosind un exemplu simplu de conversație:",Ee,D,Ct="Vom folosi următoarea structură de conversație pentru toate exemplele:",_e,P,Ze,O,$t="Acesta este template-ul ChatML folosit în modele precum SmolLM2 și Qwen 2:",Ve,K,Fe,ee,bt="Acesta folosește formatul de template <code>mistral</code>:",Xe,te,ke,le,qt="Diferențele cheie între aceste formate includ:",We,se,vt="<li><p><strong>Gestionarea mesajelor de sistem</strong>:</p> <ul><li>Llama 2 înfășoară mesajele de sistem în etichete <code>&lt;&lt;SYS&gt;&gt;</code></li> <li>Llama 3 folosește etichete <code>&lt;|system|&gt;</code> cu încheierea <code>&lt;/s&gt;</code></li> <li>Mistral include mesajul de sistem în prima instrucțiune</li> <li>Qwen folosește rolul explicit <code>system</code> cu etichete <code>&lt;|im_start|&gt;</code></li> <li>ChatGPT folosește prefixul <code>SYSTEM:</code></li></ul></li> <li><p><strong>Granițele mesajelor</strong>:</p> <ul><li>Llama 2 folosește etichete <code>[INST]</code> și <code>[/INST]</code></li> <li>Llama 3 folosește etichete specifice rolurilor (<code>&lt;|system|&gt;</code>, <code>&lt;|user|&gt;</code>, <code>&lt;|assistant|&gt;</code>) cu încheierea <code>&lt;/s&gt;</code></li> <li>Mistral folosește <code>[INST]</code> și <code>[/INST]</code> cu <code>&lt;s&gt;</code> și <code>&lt;/s&gt;</code></li> <li>Qwen folosește token-uri de start/sfârșit specifice rolurilor</li></ul></li> <li><p><strong>Token-uri speciale</strong>:</p> <ul><li>Llama 2 folosește <code>&lt;s&gt;</code> și <code>&lt;/s&gt;</code> pentru granițele conversației</li> <li>Llama 3 folosește <code>&lt;/s&gt;</code> pentru a încheia fiecare mesaj</li> <li>Mistral folosește <code>&lt;s&gt;</code> și <code>&lt;/s&gt;</code> pentru granițele turului</li> <li>Qwen folosește token-uri de start/sfârșit specifice rolurilor</li></ul></li>",Re,ae,At="Înțelegerea acestor diferențe este cheia pentru a lucra cu modele variate. Să vedem cum biblioteca transformers ne ajută să gestionăm aceste variații automat:",He,ne,Ye,g,we,Gt="Faceți clic pentru a vedea exemplele de template",dt,Ce,Nt="Template ChatML pentru Qwen 2 și SmolLM2:",jt,ie,yt,$e,xt="Template Mistral:",Ut,re,Le,oe,De,ue,zt="Template-urile de chat pot gestiona scenarii mai complexe dincolo de simpla interacțiune conversațională, inclusiv:",Pe,Me,Bt="<li><strong>Utilizarea instrumentelor</strong>: Când modelele trebuie să interacționeze cu instrumente externe sau API-uri</li> <li><strong>Intrări multimodale</strong>: Pentru gestionarea imaginilor, audio sau alte tipuri de media</li> <li><strong>Apeluri de funcții</strong>: Pentru executarea structurată de funcții</li> <li><strong>Context multi-turn</strong>: Pentru menținerea istoricului conversației</li>",Oe,E,Ke,pe,St="Pentru conversații multimodale, template-urile de chat pot include referințe la imagini sau imagini codificate în base64:",et,ce,tt,me,Qt="Iată un exemplu de template de chat cu utilizarea instrumentelor:",lt,Je,st,Te,at,de,nt,je,Et="Când lucrați cu template-uri de chat, urmați aceste practici cheie:",it,ye,_t="<li><strong>Formatare consecventă</strong>: Folosiți întotdeauna același format de template în toată aplicația</li> <li><strong>Definirea clară a rolurilor</strong>: Specificați clar rolurile (sistem, utilizator, asistent, instrument) pentru fiecare mesaj</li> <li><strong>Gestionarea contextului</strong>: Fiți atenți la limitele token-urilor când mențineți istoricul conversației</li> <li><strong>Gestionarea erorilor</strong>: Includeți gestionarea adecvată a erorilor pentru apelurile de instrumente și intrările multimodale</li> <li><strong>Validare</strong>: Validați structura mesajelor înainte de a le trimite la model</li>",rt,_,ot,Ue,ut,Ie,Zt="Să exersăm implementarea template-urilor de chat cu un exemplu din lumea reală.",Mt,Z,pt,fe,ct,he,Vt='<li><a href="https://huggingface.co/docs/transformers/main/en/chat_templating" rel="nofollow">Ghidul Hugging Face pentru template-uri de chat</a></li> <li><a href="https://huggingface.co/docs/transformers" rel="nofollow">Documentația Transformers</a></li> <li><a href="https://github.com/chujiezheng/chat_templates" rel="nofollow">Depozitul de exemple pentru template-uri de chat</a></li>',mt,ge,Jt,ve,Tt;return y=new el({props:{chapter:2,classNames:"absolute z-10 right-0 top-0",notebooks:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/course/en/chapter11/section2.ipynb"}]}}),f=new Ot({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),q=new z({props:{title:"Template-uri de chat",local:"template-uri-de-chat",headingTag:"h1"}}),A=new z({props:{title:"Introducere",local:"introducere",headingTag:"h2"}}),N=new Ae({props:{$$slots:{default:[tl]},$$scope:{ctx:b}}}),i=new z({props:{title:"Tipuri de modele și template-uri",local:"tipuri-de-modele-și-template-uri",headingTag:"h2"}}),k=new z({props:{title:"Modele de bază versus modele instruct",local:"modele-de-bază-versus-modele-instruct",headingTag:"h3"}}),Q=new Ae({props:{warning:!0,$$slots:{default:[ll]},$$scope:{ctx:b}}}),Y=new z({props:{title:"Formate comune de template",local:"formate-comune-de-template",headingTag:"h3"}}),P=new B({props:{code:"bWVzc2FnZXMlMjAlM0QlMjAlNUIlMEElMjAlMjAlMjAlMjAlN0IlMjJyb2xlJTIyJTNBJTIwJTIyc3lzdGVtJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMllvdSUyMGFyZSUyMGElMjBoZWxwZnVsJTIwYXNzaXN0YW50LiUyMiU3RCUyQyUwQSUyMCUyMCUyMCUyMCU3QiUyMnJvbGUlMjIlM0ElMjAlMjJ1c2VyJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMkhlbGxvISUyMiU3RCUyQyUwQSUyMCUyMCUyMCUyMCU3QiUyMnJvbGUlMjIlM0ElMjAlMjJhc3Npc3RhbnQlMjIlMkMlMjAlMjJjb250ZW50JTIyJTNBJTIwJTIySGkhJTIwSG93JTIwY2FuJTIwSSUyMGhlbHAlMjB5b3UlMjB0b2RheSUzRiUyMiU3RCUyQyUwQSUyMCUyMCUyMCUyMCU3QiUyMnJvbGUlMjIlM0ElMjAlMjJ1c2VyJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMldoYXQncyUyMHRoZSUyMHdlYXRoZXIlM0YlMjIlN0QlMkMlMEElNUQ=",highlighted:`messages = [
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;system&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;You are a helpful assistant.&quot;</span>},
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;Hello!&quot;</span>},
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;assistant&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;Hi! How can I help you today?&quot;</span>},
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;What&#x27;s the weather?&quot;</span>},
]`,wrap:!1}}),K=new B({props:{code:"JTNDJTdDaW1fc3RhcnQlN0MlM0VzeXN0ZW0lMEFZb3UlMjBhcmUlMjBhJTIwaGVscGZ1bCUyMGFzc2lzdGFudC4lM0MlN0NpbV9lbmQlN0MlM0UlMEElM0MlN0NpbV9zdGFydCU3QyUzRXVzZXIlMEFIZWxsbyElM0MlN0NpbV9lbmQlN0MlM0UlMEElM0MlN0NpbV9zdGFydCU3QyUzRWFzc2lzdGFudCUwQUhpISUyMEhvdyUyMGNhbiUyMEklMjBoZWxwJTIweW91JTIwdG9kYXklM0YlM0MlN0NpbV9lbmQlN0MlM0UlMEElM0MlN0NpbV9zdGFydCU3QyUzRXVzZXIlMEFXaGF0J3MlMjB0aGUlMjB3ZWF0aGVyJTNGJTNDJTdDaW1fc3RhcnQlN0MlM0Vhc3Npc3RhbnQ=",highlighted:`&lt;|im_start|&gt;system
You are a helpful assistant.&lt;|im_end|&gt;
&lt;|im_start|&gt;user
Hello!&lt;|im_end|&gt;
&lt;|im_start|&gt;assistant
Hi! How can I <span class="hljs-built_in">help</span> you today?&lt;|im_end|&gt;
&lt;|im_start|&gt;user
What<span class="hljs-string">&#x27;s the weather?&lt;|im_start|&gt;assistant</span>`,wrap:!1}}),te=new B({props:{code:"JTNDcyUzRSU1QklOU1QlNUQlMjBZb3UlMjBhcmUlMjBhJTIwaGVscGZ1bCUyMGFzc2lzdGFudC4lMjAlNUIlMkZJTlNUJTVEJTBBSGkhJTIwSG93JTIwY2FuJTIwSSUyMGhlbHAlMjB5b3UlMjB0b2RheSUzRiUzQyUyRnMlM0UlMEElNUJJTlNUJTVEJTIwSGVsbG8hJTIwJTVCJTJGSU5TVCU1RA==",highlighted:`&lt;s&gt;[INST] You are a helpful assistant. [/INST]
Hi! How can I <span class="hljs-built_in">help</span> you today?&lt;/s&gt;
[INST] Hello! [/INST]`,wrap:!1}}),ne=new B({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Ub2tlbml6ZXIlMEElMEElMjMlMjBBY2VzdGVhJTIwdm9yJTIwZm9sb3NpJTIwdGVtcGxhdGUtdXJpJTIwZGlmZXJpdGUlMjBhdXRvbWF0JTBBbWlzdHJhbF90b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJtaXN0cmFsYWklMkZNaXN0cmFsLTdCLUluc3RydWN0LXYwLjElMjIpJTBBcXdlbl90b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZCglMjJRd2VuJTJGUXdlbi03Qi1DaGF0JTIyKSUwQXNtb2xfdG9rZW5pemVyJTIwJTNEJTIwQXV0b1Rva2VuaXplci5mcm9tX3ByZXRyYWluZWQoJTIySHVnZ2luZ0ZhY2VUQiUyRlNtb2xMTTItMTM1TS1JbnN0cnVjdCUyMiklMEElMEFtZXNzYWdlcyUyMCUzRCUyMCU1QiUwQSUyMCUyMCUyMCUyMCU3QiUyMnJvbGUlMjIlM0ElMjAlMjJzeXN0ZW0lMjIlMkMlMjAlMjJjb250ZW50JTIyJTNBJTIwJTIyWW91JTIwYXJlJTIwYSUyMGhlbHBmdWwlMjBhc3Npc3RhbnQuJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTIycm9sZSUyMiUzQSUyMCUyMnVzZXIlMjIlMkMlMjAlMjJjb250ZW50JTIyJTNBJTIwJTIySGVsbG8hJTIyJTdEJTJDJTBBJTVEJTBBJTBBJTIzJTIwRmllY2FyZSUyMHZhJTIwZm9ybWF0YSUyMGNvbmZvcm0lMjB0ZW1wbGF0ZS11bHVpJTIwbW9kZWx1bHVpJTIwcyVDNCU4M3UlMEFtaXN0cmFsX2NoYXQlMjAlM0QlMjBtaXN0cmFsX3Rva2VuaXplci5hcHBseV9jaGF0X3RlbXBsYXRlKG1lc3NhZ2VzJTJDJTIwdG9rZW5pemUlM0RGYWxzZSklMEFxd2VuX2NoYXQlMjAlM0QlMjBxd2VuX3Rva2VuaXplci5hcHBseV9jaGF0X3RlbXBsYXRlKG1lc3NhZ2VzJTJDJTIwdG9rZW5pemUlM0RGYWxzZSklMEFzbW9sX2NoYXQlMjAlM0QlMjBzbW9sX3Rva2VuaXplci5hcHBseV9jaGF0X3RlbXBsYXRlKG1lc3NhZ2VzJTJDJTIwdG9rZW5pemUlM0RGYWxzZSk=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer

<span class="hljs-comment"># Acestea vor folosi template-uri diferite automat</span>
mistral_tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;mistralai/Mistral-7B-Instruct-v0.1&quot;</span>)
qwen_tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;Qwen/Qwen-7B-Chat&quot;</span>)
smol_tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;HuggingFaceTB/SmolLM2-135M-Instruct&quot;</span>)

messages = [
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;system&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;You are a helpful assistant.&quot;</span>},
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;Hello!&quot;</span>},
]

<span class="hljs-comment"># Fiecare va formata conform template-ului modelului său</span>
mistral_chat = mistral_tokenizer.apply_chat_template(messages, tokenize=<span class="hljs-literal">False</span>)
qwen_chat = qwen_tokenizer.apply_chat_template(messages, tokenize=<span class="hljs-literal">False</span>)
smol_chat = smol_tokenizer.apply_chat_template(messages, tokenize=<span class="hljs-literal">False</span>)`,wrap:!1}}),ie=new B({props:{code:"JTNDJTdDaW1fc3RhcnQlN0MlM0VzeXN0ZW0lMEFZb3UlMjBhcmUlMjBhJTIwaGVscGZ1bCUyMGFzc2lzdGFudC4lM0MlN0NpbV9lbmQlN0MlM0UlMEElM0MlN0NpbV9zdGFydCU3QyUzRXVzZXIlMEFIZWxsbyElM0MlN0NpbV9lbmQlN0MlM0UlMEElM0MlN0NpbV9zdGFydCU3QyUzRWFzc2lzdGFudCUwQUhpISUyMEhvdyUyMGNhbiUyMEklMjBoZWxwJTIweW91JTIwdG9kYXklM0YlM0MlN0NpbV9lbmQlN0MlM0UlMEElM0MlN0NpbV9zdGFydCU3QyUzRXVzZXIlMEFXaGF0J3MlMjB0aGUlMjB3ZWF0aGVyJTNGJTNDJTdDaW1fc3RhcnQlN0MlM0Vhc3Npc3RhbnQ=",highlighted:`&lt;|im_start|&gt;system
You are a helpful assistant.&lt;|im_end|&gt;
&lt;|im_start|&gt;user
Hello!&lt;|im_end|&gt;
&lt;|im_start|&gt;assistant
Hi! How can I <span class="hljs-built_in">help</span> you today?&lt;|im_end|&gt;
&lt;|im_start|&gt;user
What<span class="hljs-string">&#x27;s the weather?&lt;|im_start|&gt;assistant</span>`,wrap:!1}}),re=new B({props:{code:"JTNDcyUzRSU1QklOU1QlNUQlMjBZb3UlMjBhcmUlMjBhJTIwaGVscGZ1bCUyMGFzc2lzdGFudC4lMjAlNUIlMkZJTlNUJTVEJTBBSGkhJTIwSG93JTIwY2FuJTIwSSUyMGhlbHAlMjB5b3UlMjB0b2RheSUzRiUzQyUyRnMlM0UlMEElNUJJTlNUJTVEJTIwSGVsbG8hJTIwJTVCJTJGSU5TVCU1RA==",highlighted:`&lt;s&gt;[INST] You are a helpful assistant. [/INST]
Hi! How can I <span class="hljs-built_in">help</span> you today?&lt;/s&gt;
[INST] Hello! [/INST]`,wrap:!1}}),oe=new z({props:{title:"Funcționalități avansate",local:"funcționalități-avansate",headingTag:"h3"}}),E=new Ae({props:{$$slots:{default:[sl]},$$scope:{ctx:b}}}),ce=new B({props:{code:"bWVzc2FnZXMlMjAlM0QlMjAlNUIlMEElMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJyb2xlJTIyJTNBJTIwJTIyc3lzdGVtJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMllvdSUyMGFyZSUyMGElMjBoZWxwZnVsJTIwdmlzaW9uJTIwYXNzaXN0YW50JTIwdGhhdCUyMGNhbiUyMGFuYWx5emUlMjBpbWFnZXMuJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycm9sZSUyMiUzQSUyMCUyMnVzZXIlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJjb250ZW50JTIyJTNBJTIwJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTIydHlwZSUyMiUzQSUyMCUyMnRleHQlMjIlMkMlMjAlMjJ0ZXh0JTIyJTNBJTIwJTIyV2hhdCdzJTIwaW4lMjB0aGlzJTIwaW1hZ2UlM0YlMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMjJ0eXBlJTIyJTNBJTIwJTIyaW1hZ2UlMjIlMkMlMjAlMjJpbWFnZV91cmwlMjIlM0ElMjAlMjJodHRwcyUzQSUyRiUyRmV4YW1wbGUuY29tJTJGaW1hZ2UuanBnJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTVE",highlighted:`messages = [
    {
        <span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;system&quot;</span>,
        <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;You are a helpful vision assistant that can analyze images.&quot;</span>,
    },
    {
        <span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>,
        <span class="hljs-string">&quot;content&quot;</span>: [
            {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;text&quot;</span>, <span class="hljs-string">&quot;text&quot;</span>: <span class="hljs-string">&quot;What&#x27;s in this image?&quot;</span>},
            {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;image&quot;</span>, <span class="hljs-string">&quot;image_url&quot;</span>: <span class="hljs-string">&quot;https://example.com/image.jpg&quot;</span>},
        ],
    },
]`,wrap:!1}}),Je=new B({props:{code:"bWVzc2FnZXMlMjAlM0QlMjAlNUIlMEElMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJyb2xlJTIyJTNBJTIwJTIyc3lzdGVtJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMllvdSUyMGFyZSUyMGFuJTIwQUklMjBhc3Npc3RhbnQlMjB0aGF0JTIwY2FuJTIwdXNlJTIwdG9vbHMuJTIwQXZhaWxhYmxlJTIwdG9vbHMlM0ElMjBjYWxjdWxhdG9yJTJDJTIwd2VhdGhlcl9hcGklMjIlMkMlMEElMjAlMjAlMjAlMjAlN0QlMkMlMEElMjAlMjAlMjAlMjAlN0IlMjJyb2xlJTIyJTNBJTIwJTIydXNlciUyMiUyQyUyMCUyMmNvbnRlbnQlMjIlM0ElMjAlMjJXaGF0J3MlMjAxMjMlMjAqJTIwNDU2JTIwYW5kJTIwaXMlMjBpdCUyMHJhaW5pbmclMjBpbiUyMFBhcmlzJTNGJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycm9sZSUyMiUzQSUyMCUyMmFzc2lzdGFudCUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmNvbnRlbnQlMjIlM0ElMjAlMjJMZXQlMjBtZSUyMGhlbHAlMjB5b3UlMjB3aXRoJTIwdGhhdC4lMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJ0b29sX2NhbGxzJTIyJTNBJTIwJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydG9vbCUyMiUzQSUyMCUyMmNhbGN1bGF0b3IlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJwYXJhbWV0ZXJzJTIyJTNBJTIwJTdCJTIyb3BlcmF0aW9uJTIyJTNBJTIwJTIybXVsdGlwbHklMjIlMkMlMjAlMjJ4JTIyJTNBJTIwMTIzJTJDJTIwJTIyeSUyMiUzQSUyMDQ1NiU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUyMnRvb2wlMjIlM0ElMjAlMjJ3ZWF0aGVyX2FwaSUyMiUyQyUyMCUyMnBhcmFtZXRlcnMlMjIlM0ElMjAlN0IlMjJjaXR5JTIyJTNBJTIwJTIyUGFyaXMlMjIlMkMlMjAlMjJjb3VudHJ5JTIyJTNBJTIwJTIyRnJhbmNlJTIyJTdEJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTIycm9sZSUyMiUzQSUyMCUyMnRvb2wlMjIlMkMlMjAlMjJ0b29sX25hbWUlMjIlM0ElMjAlMjJjYWxjdWxhdG9yJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMjU2MDg4JTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycm9sZSUyMiUzQSUyMCUyMnRvb2wlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJ0b29sX25hbWUlMjIlM0ElMjAlMjJ3ZWF0aGVyX2FwaSUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmNvbnRlbnQlMjIlM0ElMjAlMjIlN0InY29uZGl0aW9uJyUzQSUyMCdyYWluJyUyQyUyMCd0ZW1wZXJhdHVyZSclM0ElMjAxNSU3RCUyMiUyQyUwQSUyMCUyMCUyMCUyMCU3RCUyQyUwQSU1RA==",highlighted:`messages = [
    {
        <span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;system&quot;</span>,
        <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;You are an AI assistant that can use tools. Available tools: calculator, weather_api&quot;</span>,
    },
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;What&#x27;s 123 * 456 and is it raining in Paris?&quot;</span>},
    {
        <span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;assistant&quot;</span>,
        <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;Let me help you with that.&quot;</span>,
        <span class="hljs-string">&quot;tool_calls&quot;</span>: [
            {
                <span class="hljs-string">&quot;tool&quot;</span>: <span class="hljs-string">&quot;calculator&quot;</span>,
                <span class="hljs-string">&quot;parameters&quot;</span>: {<span class="hljs-string">&quot;operation&quot;</span>: <span class="hljs-string">&quot;multiply&quot;</span>, <span class="hljs-string">&quot;x&quot;</span>: <span class="hljs-number">123</span>, <span class="hljs-string">&quot;y&quot;</span>: <span class="hljs-number">456</span>},
            },
            {<span class="hljs-string">&quot;tool&quot;</span>: <span class="hljs-string">&quot;weather_api&quot;</span>, <span class="hljs-string">&quot;parameters&quot;</span>: {<span class="hljs-string">&quot;city&quot;</span>: <span class="hljs-string">&quot;Paris&quot;</span>, <span class="hljs-string">&quot;country&quot;</span>: <span class="hljs-string">&quot;France&quot;</span>}},
        ],
    },
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;tool&quot;</span>, <span class="hljs-string">&quot;tool_name&quot;</span>: <span class="hljs-string">&quot;calculator&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;56088&quot;</span>},
    {
        <span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;tool&quot;</span>,
        <span class="hljs-string">&quot;tool_name&quot;</span>: <span class="hljs-string">&quot;weather_api&quot;</span>,
        <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;{&#x27;condition&#x27;: &#x27;rain&#x27;, &#x27;temperature&#x27;: 15}&quot;</span>,
    },
]`,wrap:!1}}),Te=new z({props:{title:"Cele mai bune practici",local:"cele-mai-bune-practici",headingTag:"h2"}}),de=new z({props:{title:"Ghiduri generale",local:"ghiduri-generale",headingTag:"h3"}}),_=new Ae({props:{warning:!0,$$slots:{default:[al]},$$scope:{ctx:b}}}),Ue=new z({props:{title:"Exercițiu practic",local:"exercițiu-practic",headingTag:"h2"}}),Z=new Ae({props:{$$slots:{default:[nl]},$$scope:{ctx:b}}}),fe=new z({props:{title:"Resurse adiționale",local:"resurse-adiționale",headingTag:"h2"}}),ge=new Kt({props:{source:"https://github.com/huggingface/course/blob/main/chapters/ro/chapter11/2.mdx"}}),{c(){o=u("meta"),r=a(),U=u("p"),h=a(),p(y.$$.fragment),w=a(),p(f.$$.fragment),F=a(),p(q.$$.fragment),v=a(),p(A.$$.fragment),C=a(),x=u("p"),x.textContent=X,G=a(),p(N.$$.fragment),S=a(),p(i.$$.fragment),I=a(),p(k.$$.fragment),Ne=a(),W=u("p"),W.innerHTML=ft,xe=a(),R=u("p"),R.textContent=ht,ze=a(),H=u("p"),H.innerHTML=gt,Be=a(),p(Q.$$.fragment),Se=a(),p(Y.$$.fragment),Qe=a(),L=u("p"),L.textContent=wt,Ee=a(),D=u("p"),D.textContent=Ct,_e=a(),p(P.$$.fragment),Ze=a(),O=u("p"),O.textContent=$t,Ve=a(),p(K.$$.fragment),Fe=a(),ee=u("p"),ee.innerHTML=bt,Xe=a(),p(te.$$.fragment),ke=a(),le=u("p"),le.textContent=qt,We=a(),se=u("ol"),se.innerHTML=vt,Re=a(),ae=u("p"),ae.textContent=At,He=a(),p(ne.$$.fragment),Ye=a(),g=u("details"),we=u("summary"),we.textContent=Gt,dt=a(),Ce=u("p"),Ce.textContent=Nt,jt=a(),p(ie.$$.fragment),yt=a(),$e=u("p"),$e.textContent=xt,Ut=a(),p(re.$$.fragment),Le=a(),p(oe.$$.fragment),De=a(),ue=u("p"),ue.textContent=zt,Pe=a(),Me=u("ol"),Me.innerHTML=Bt,Oe=a(),p(E.$$.fragment),Ke=a(),pe=u("p"),pe.textContent=St,et=a(),p(ce.$$.fragment),tt=a(),me=u("p"),me.textContent=Qt,lt=a(),p(Je.$$.fragment),st=a(),p(Te.$$.fragment),at=a(),p(de.$$.fragment),nt=a(),je=u("p"),je.textContent=Et,it=a(),ye=u("ol"),ye.innerHTML=_t,rt=a(),p(_.$$.fragment),ot=a(),p(Ue.$$.fragment),ut=a(),Ie=u("p"),Ie.textContent=Zt,Mt=a(),p(Z.$$.fragment),pt=a(),p(fe.$$.fragment),ct=a(),he=u("ul"),he.innerHTML=Vt,mt=a(),p(ge.$$.fragment),Jt=a(),ve=u("p"),this.h()},l(e){const t=Pt("svelte-u9bgzb",document.head);o=M(t,"META",{name:!0,content:!0}),t.forEach(l),r=n(e),U=M(e,"P",{}),It(U).forEach(l),h=n(e),c(y.$$.fragment,e),w=n(e),c(f.$$.fragment,e),F=n(e),c(q.$$.fragment,e),v=n(e),c(A.$$.fragment,e),C=n(e),x=M(e,"P",{"data-svelte-h":!0}),j(x)!=="svelte-efjyc8"&&(x.textContent=X),G=n(e),c(N.$$.fragment,e),S=n(e),c(i.$$.fragment,e),I=n(e),c(k.$$.fragment,e),Ne=n(e),W=M(e,"P",{"data-svelte-h":!0}),j(W)!=="svelte-1kxnxv1"&&(W.innerHTML=ft),xe=n(e),R=M(e,"P",{"data-svelte-h":!0}),j(R)!=="svelte-11j6czy"&&(R.textContent=ht),ze=n(e),H=M(e,"P",{"data-svelte-h":!0}),j(H)!=="svelte-uy952i"&&(H.innerHTML=gt),Be=n(e),c(Q.$$.fragment,e),Se=n(e),c(Y.$$.fragment,e),Qe=n(e),L=M(e,"P",{"data-svelte-h":!0}),j(L)!=="svelte-pa7umo"&&(L.textContent=wt),Ee=n(e),D=M(e,"P",{"data-svelte-h":!0}),j(D)!=="svelte-15c8r09"&&(D.textContent=Ct),_e=n(e),c(P.$$.fragment,e),Ze=n(e),O=M(e,"P",{"data-svelte-h":!0}),j(O)!=="svelte-ya2czi"&&(O.textContent=$t),Ve=n(e),c(K.$$.fragment,e),Fe=n(e),ee=M(e,"P",{"data-svelte-h":!0}),j(ee)!=="svelte-1vgyvf9"&&(ee.innerHTML=bt),Xe=n(e),c(te.$$.fragment,e),ke=n(e),le=M(e,"P",{"data-svelte-h":!0}),j(le)!=="svelte-1ur3o1d"&&(le.textContent=qt),We=n(e),se=M(e,"OL",{"data-svelte-h":!0}),j(se)!=="svelte-14dpjxx"&&(se.innerHTML=vt),Re=n(e),ae=M(e,"P",{"data-svelte-h":!0}),j(ae)!=="svelte-qa5clv"&&(ae.textContent=At),He=n(e),c(ne.$$.fragment,e),Ye=n(e),g=M(e,"DETAILS",{});var $=It(g);we=M($,"SUMMARY",{"data-svelte-h":!0}),j(we)!=="svelte-ajm8pg"&&(we.textContent=Gt),dt=n($),Ce=M($,"P",{"data-svelte-h":!0}),j(Ce)!=="svelte-1n91zpm"&&(Ce.textContent=Nt),jt=n($),c(ie.$$.fragment,$),yt=n($),$e=M($,"P",{"data-svelte-h":!0}),j($e)!=="svelte-17tv0a8"&&($e.textContent=xt),Ut=n($),c(re.$$.fragment,$),$.forEach(l),Le=n(e),c(oe.$$.fragment,e),De=n(e),ue=M(e,"P",{"data-svelte-h":!0}),j(ue)!=="svelte-1d2exv2"&&(ue.textContent=zt),Pe=n(e),Me=M(e,"OL",{"data-svelte-h":!0}),j(Me)!=="svelte-x1k6ha"&&(Me.innerHTML=Bt),Oe=n(e),c(E.$$.fragment,e),Ke=n(e),pe=M(e,"P",{"data-svelte-h":!0}),j(pe)!=="svelte-jes84c"&&(pe.textContent=St),et=n(e),c(ce.$$.fragment,e),tt=n(e),me=M(e,"P",{"data-svelte-h":!0}),j(me)!=="svelte-7miir3"&&(me.textContent=Qt),lt=n(e),c(Je.$$.fragment,e),st=n(e),c(Te.$$.fragment,e),at=n(e),c(de.$$.fragment,e),nt=n(e),je=M(e,"P",{"data-svelte-h":!0}),j(je)!=="svelte-1nyycr1"&&(je.textContent=Et),it=n(e),ye=M(e,"OL",{"data-svelte-h":!0}),j(ye)!=="svelte-b8j9ml"&&(ye.innerHTML=_t),rt=n(e),c(_.$$.fragment,e),ot=n(e),c(Ue.$$.fragment,e),ut=n(e),Ie=M(e,"P",{"data-svelte-h":!0}),j(Ie)!=="svelte-15chzdr"&&(Ie.textContent=Zt),Mt=n(e),c(Z.$$.fragment,e),pt=n(e),c(fe.$$.fragment,e),ct=n(e),he=M(e,"UL",{"data-svelte-h":!0}),j(he)!=="svelte-1noeit7"&&(he.innerHTML=Vt),mt=n(e),c(ge.$$.fragment,e),Jt=n(e),ve=M(e,"P",{}),It(ve).forEach(l),this.h()},h(){Ge(o,"name","hf:doc:metadata"),Ge(o,"content",rl)},m(e,t){V(document.head,o),s(e,r,t),s(e,U,t),s(e,h,t),m(y,e,t),s(e,w,t),m(f,e,t),s(e,F,t),m(q,e,t),s(e,v,t),m(A,e,t),s(e,C,t),s(e,x,t),s(e,G,t),m(N,e,t),s(e,S,t),m(i,e,t),s(e,I,t),m(k,e,t),s(e,Ne,t),s(e,W,t),s(e,xe,t),s(e,R,t),s(e,ze,t),s(e,H,t),s(e,Be,t),m(Q,e,t),s(e,Se,t),m(Y,e,t),s(e,Qe,t),s(e,L,t),s(e,Ee,t),s(e,D,t),s(e,_e,t),m(P,e,t),s(e,Ze,t),s(e,O,t),s(e,Ve,t),m(K,e,t),s(e,Fe,t),s(e,ee,t),s(e,Xe,t),m(te,e,t),s(e,ke,t),s(e,le,t),s(e,We,t),s(e,se,t),s(e,Re,t),s(e,ae,t),s(e,He,t),m(ne,e,t),s(e,Ye,t),s(e,g,t),V(g,we),V(g,dt),V(g,Ce),V(g,jt),m(ie,g,null),V(g,yt),V(g,$e),V(g,Ut),m(re,g,null),s(e,Le,t),m(oe,e,t),s(e,De,t),s(e,ue,t),s(e,Pe,t),s(e,Me,t),s(e,Oe,t),m(E,e,t),s(e,Ke,t),s(e,pe,t),s(e,et,t),m(ce,e,t),s(e,tt,t),s(e,me,t),s(e,lt,t),m(Je,e,t),s(e,st,t),m(Te,e,t),s(e,at,t),m(de,e,t),s(e,nt,t),s(e,je,t),s(e,it,t),s(e,ye,t),s(e,rt,t),m(_,e,t),s(e,ot,t),m(Ue,e,t),s(e,ut,t),s(e,Ie,t),s(e,Mt,t),m(Z,e,t),s(e,pt,t),m(fe,e,t),s(e,ct,t),s(e,he,t),s(e,mt,t),m(ge,e,t),s(e,Jt,t),s(e,ve,t),Tt=!0},p(e,[t]){const $={};t&2&&($.$$scope={dirty:t,ctx:e}),N.$set($);const Ft={};t&2&&(Ft.$$scope={dirty:t,ctx:e}),Q.$set(Ft);const Xt={};t&2&&(Xt.$$scope={dirty:t,ctx:e}),E.$set(Xt);const kt={};t&2&&(kt.$$scope={dirty:t,ctx:e}),_.$set(kt);const Wt={};t&2&&(Wt.$$scope={dirty:t,ctx:e}),Z.$set(Wt)},i(e){Tt||(J(y.$$.fragment,e),J(f.$$.fragment,e),J(q.$$.fragment,e),J(A.$$.fragment,e),J(N.$$.fragment,e),J(i.$$.fragment,e),J(k.$$.fragment,e),J(Q.$$.fragment,e),J(Y.$$.fragment,e),J(P.$$.fragment,e),J(K.$$.fragment,e),J(te.$$.fragment,e),J(ne.$$.fragment,e),J(ie.$$.fragment,e),J(re.$$.fragment,e),J(oe.$$.fragment,e),J(E.$$.fragment,e),J(ce.$$.fragment,e),J(Je.$$.fragment,e),J(Te.$$.fragment,e),J(de.$$.fragment,e),J(_.$$.fragment,e),J(Ue.$$.fragment,e),J(Z.$$.fragment,e),J(fe.$$.fragment,e),J(ge.$$.fragment,e),Tt=!0)},o(e){T(y.$$.fragment,e),T(f.$$.fragment,e),T(q.$$.fragment,e),T(A.$$.fragment,e),T(N.$$.fragment,e),T(i.$$.fragment,e),T(k.$$.fragment,e),T(Q.$$.fragment,e),T(Y.$$.fragment,e),T(P.$$.fragment,e),T(K.$$.fragment,e),T(te.$$.fragment,e),T(ne.$$.fragment,e),T(ie.$$.fragment,e),T(re.$$.fragment,e),T(oe.$$.fragment,e),T(E.$$.fragment,e),T(ce.$$.fragment,e),T(Je.$$.fragment,e),T(Te.$$.fragment,e),T(de.$$.fragment,e),T(_.$$.fragment,e),T(Ue.$$.fragment,e),T(Z.$$.fragment,e),T(fe.$$.fragment,e),T(ge.$$.fragment,e),Tt=!1},d(e){e&&(l(r),l(U),l(h),l(w),l(F),l(v),l(C),l(x),l(G),l(S),l(I),l(Ne),l(W),l(xe),l(R),l(ze),l(H),l(Be),l(Se),l(Qe),l(L),l(Ee),l(D),l(_e),l(Ze),l(O),l(Ve),l(Fe),l(ee),l(Xe),l(ke),l(le),l(We),l(se),l(Re),l(ae),l(He),l(Ye),l(g),l(Le),l(De),l(ue),l(Pe),l(Me),l(Oe),l(Ke),l(pe),l(et),l(tt),l(me),l(lt),l(st),l(at),l(nt),l(je),l(it),l(ye),l(rt),l(ot),l(ut),l(Ie),l(Mt),l(pt),l(ct),l(he),l(mt),l(Jt),l(ve)),l(o),d(y,e),d(f,e),d(q,e),d(A,e),d(N,e),d(i,e),d(k,e),d(Q,e),d(Y,e),d(P,e),d(K,e),d(te,e),d(ne,e),d(ie),d(re),d(oe,e),d(E,e),d(ce,e),d(Je,e),d(Te,e),d(de,e),d(_,e),d(Ue,e),d(Z,e),d(fe,e),d(ge,e)}}}const rl='{"title":"Template-uri de chat","local":"template-uri-de-chat","sections":[{"title":"Introducere","local":"introducere","sections":[],"depth":2},{"title":"Tipuri de modele și template-uri","local":"tipuri-de-modele-și-template-uri","sections":[{"title":"Modele de bază versus modele instruct","local":"modele-de-bază-versus-modele-instruct","sections":[],"depth":3},{"title":"Formate comune de template","local":"formate-comune-de-template","sections":[],"depth":3},{"title":"Funcționalități avansate","local":"funcționalități-avansate","sections":[],"depth":3}],"depth":2},{"title":"Cele mai bune practici","local":"cele-mai-bune-practici","sections":[{"title":"Ghiduri generale","local":"ghiduri-generale","sections":[],"depth":3}],"depth":2},{"title":"Exercițiu practic","local":"exercițiu-practic","sections":[],"depth":2},{"title":"Resurse adiționale","local":"resurse-adiționale","sections":[],"depth":2}],"depth":1}';function ol(b){return Yt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Tl extends Lt{constructor(o){super(),Dt(this,o,ol,il,Ht,{})}}export{Tl as component};
