import{s as ne,f as Ut,n as le,o as ae}from"../chunks/scheduler.37c15a92.js";import{S as se,i as oe,g as o,s as a,r as u,A as ie,h as i,f as n,c as s,j as D,u as g,x as c,k as p,y as pe,a as l,v as d,d as y,t as b,w}from"../chunks/index.2bf4358c.js";import{C as N}from"../chunks/CodeBlock.4e987730.js";import{D as ce}from"../chunks/DocNotebookDropdown.efc1fb7c.js";import{H as ee,E as re}from"../chunks/index.b8688d36.js";function he(Zt){let f,K,F,O,M,tt,v,et,j,Ht="Hãy bắt đầu bằng cách cài đặt Gradio! Vì nó là một gói Python, chỉ cần chạy:",nt,J,_t="<code>$ pip install gradio</code>",lt,T,Wt=`Bạn có thể chạy Gradio ở bất cứ đâu, từ IDE Python yêu thích của bạn, đến notebook Jupyter hoặc thậm chí trong Google Colab 🤯!
Vì vậy, hãy cài đặt Gradio ở bất cứ đâu bạn chạy Python!`,at,x,Vt="Hãy bắt đầu với một ví dụ “Hello World” đơn giản để làm quen với cú pháp Gradio:",st,k,ot,B,Rt="Hãy xem qua đoạn mã trên:",it,$,qt="<li>Đầu tiên, chúng ta định nghĩa một hàm có tên là <code>welcome()</code>. Trong trường hợp này, nó là một hàm đơn giản có thêm “Hello” trước tên của bạn, nhưng nó có thể là <em>bất kỳ</em> hàm Python nào nói chung. Ví dụ: trong các ứng dụng học máy, hàm này sẽ <em>gọi một mô hình để đưa ra dự đoán</em> trên một đầu vào và trả lại đầu ra.</li> <li>Sau đó, chúng ta tạo một Giao diện Gradio với ba tham số <code>fn</code>, <code>inputs</code>, và <code>outputs</code>. Các tham số này xác định hàm dự đoán, cũng như <em>kiểu</em> của các thành phần đầu vào và đầu ra mà ta muốn. Trong trường hợp của mình, cả hai thành phần đều là các hộp văn bản đơn giản.</li> <li>Sau đó, chúng ta gọi phương thức <code>launch()</code> trên <code>Interface</code> đã tạo.</li>",pt,G,Qt='Nếu bạn chạy đoạn mã này, giao diện bên dưới sẽ tự động xuất hiện trong notebook Jupyter/Colab hoặc bật trong trình duyệt trên <strong><a href="http://localhost:7860/" rel="nofollow">http://localhost:7860</a></strong> nếu đang chạy từ một tập lệnh.',ct,r,Xt,rt,I,Pt="Hãy thử sử dụng GUI này ngay bây giờ với tên của chính bạn hoặc một số đầu vào khác!",ht,C,St="Bạn sẽ nhận thấy rằng trong GUI này, Gradio tự động suy ra tên của tham số đầu vào (<code>name</code>) và lấy nó làm nhãn trên đầu hộp văn bản. Điều gì xảy ra nếu bạn muốn thay đổi điều đó? Hoặc nếu bạn muốn tùy chỉnh hộp văn bản theo một số cách khác? Trong trường hợp đó, bạn có thể khởi tạo một đối tượng lớp đại diện cho thành phần đầu vào.",mt,U,ut,h,Et,gt,Z,Yt="Ở đây, chúng ta đã tạo một hộp văn bản đầu vào với nhãn, trình giữ chỗ và một số dòng. Bạn có thể làm tương tự đối với hộp văn bản đầu ra, nhưng chúng ta sẽ để lại điều đó ngay bây giờ.",dt,H,Lt=`Chúng ta thấy rằng chỉ với một vài dòng mã, Gradio cho phép bạn tạo một giao diện đơn giản xung quanh bất kỳ chức năng nào
với bất kỳ loại đầu vào hoặc đầu ra nào. Trong phần này, chúng ta đã bắt đầu với hộp văn bản đơn giản, nhưng trong các phần tiếp theo, chúng ta sẽ đề cập đến các loại đầu vào và đầu ra khác. Bây giờ chúng ta hãy xem bao gồm một số NLP trong một ứng dụng Gradio thì sao.`,yt,_,bt,W,zt="Bây giờ chúng ta hãy xây dựng một giao diện đơn giản cho phép bạn demo mô hình <strong>tạo văn bản</strong> như GPT-2.",wt,V,Nt=`Chúng ta sẽ tải mô hình của mình bằng cách sử dụng hàm <code>pipeline()</code> từ 🤗 Transformers.
Nếu bạn cần cập nhật nhanh, bạn có thể quay lại <a href="/course/chapter1/3#text-generation">phần đó trong Chương 1</a>`,ft,R,Ft="Đầu tiên, chúng ta định nghĩa một hàm dự đoán nhận lời nhắc văn bản và trả về văn bản đã hoàn thiện:",Mt,q,vt,Q,At="Hàm này hoàn thành các lời nhắc mà bạn cung cấp và bạn có thể chạy nó với lời nhắc đầu vào của riêng mình để xem nó hoạt động như thế nào. Đây là một ví dụ (bạn có thể nhận được một kết quả khác):",jt,X,Jt,P,Tt,S,Dt="Bây giờ chúng ta có một hàm để tạo các dự đoán, chúng ta có thể tạo và khởi chạy một <code>Interface</code> theo cách giống như cách chúng ta đã làm trước đó:",xt,E,kt,Y,Kt="Nó đó! Bây giờ bạn có thể sử dụng giao diện này để tạo văn bản bằng mô hình GPT-2 như hình bên dưới 🤯.",Bt,m,Ot,$t,L,te="Hãy tiếp tục đọc để biết cách tạo các loại demo khác với Gradio!",Gt,z,It,A,Ct;return M=new ee({props:{title:"Xây dựng bản demo đầu tiên của bạn",local:"xây-dựng-bản-demo-đầu-tiên-của-bạn",headingTag:"h1"}}),v=new ce({props:{classNames:"absolute z-10 right-0 top-0",options:[{label:"Google Colab",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/master/course/vi/chapter9/section2.ipynb"},{label:"Aws Studio",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/master/course/vi/chapter9/section2.ipynb"}]}}),k=new N({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQSUwQWRlZiUyMGdyZWV0KG5hbWUpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTIySGVsbG8lMjAlMjIlMjAlMkIlMjBuYW1lJTBBJTBBJTBBZGVtbyUyMCUzRCUyMGdyLkludGVyZmFjZShmbiUzRGdyZWV0JTJDJTIwaW5wdXRzJTNEJTIydGV4dCUyMiUyQyUyMG91dHB1dHMlM0QlMjJ0ZXh0JTIyKSUwQSUwQWRlbW8ubGF1bmNoKCk=",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr


<span class="hljs-keyword">def</span> <span class="hljs-title function_">greet</span>(<span class="hljs-params">name</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Hello &quot;</span> + name


demo = gr.Interface(fn=greet, inputs=<span class="hljs-string">&quot;text&quot;</span>, outputs=<span class="hljs-string">&quot;text&quot;</span>)

demo.launch()`,wrap:!1}}),U=new N({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQSUwQWRlZiUyMGdyZWV0KG5hbWUpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTIySGVsbG8lMjAlMjIlMjAlMkIlMjBuYW1lJTBBJTBBJTBBJTIzJTIwQ2glQzMlQkFuZyUyMHQlQzMlQjRpJTIwa2glRTElQkIlOUZpJTIwdCVFMSVCQSVBMW8lMjBsJUUxJUJCJTlCcCUyMFRleHRib3glMEF0ZXh0Ym94JTIwJTNEJTIwZ3IuVGV4dGJveChsYWJlbCUzRCUyMlR5cGUlMjB5b3VyJTIwbmFtZSUyMGhlcmUlM0ElMjIlMkMlMjBwbGFjZWhvbGRlciUzRCUyMkpvaG4lMjBEb2UlMjIlMkMlMjBsaW5lcyUzRDIpJTBBJTBBZ3IuSW50ZXJmYWNlKGZuJTNEZ3JlZXQlMkMlMjBpbnB1dHMlM0R0ZXh0Ym94JTJDJTIwb3V0cHV0cyUzRCUyMnRleHQlMjIpLmxhdW5jaCgp",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr


<span class="hljs-keyword">def</span> <span class="hljs-title function_">greet</span>(<span class="hljs-params">name</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Hello &quot;</span> + name


<span class="hljs-comment"># Chúng tôi khởi tạo lớp Textbox</span>
textbox = gr.Textbox(label=<span class="hljs-string">&quot;Type your name here:&quot;</span>, placeholder=<span class="hljs-string">&quot;John Doe&quot;</span>, lines=<span class="hljs-number">2</span>)

gr.Interface(fn=greet, inputs=textbox, outputs=<span class="hljs-string">&quot;text&quot;</span>).launch()`,wrap:!1}}),_=new ee({props:{title:"🤖 Bao gồm các dự đoán mô hình",local:"-bao-gồm-các-dự-đoán-mô-hình",headingTag:"h2"}}),q=new N({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBbW9kZWwlMjAlM0QlMjBwaXBlbGluZSglMjJ0ZXh0LWdlbmVyYXRpb24lMjIpJTBBJTBBJTBBZGVmJTIwcHJlZGljdChwcm9tcHQpJTNBJTBBJTIwJTIwJTIwJTIwY29tcGxldGlvbiUyMCUzRCUyMG1vZGVsKHByb21wdCklNUIwJTVEJTVCJTIyZ2VuZXJhdGVkX3RleHQlMjIlNUQlMEElMjAlMjAlMjAlMjByZXR1cm4lMjBjb21wbGV0aW9u",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

model = pipeline(<span class="hljs-string">&quot;text-generation&quot;</span>)


<span class="hljs-keyword">def</span> <span class="hljs-title function_">predict</span>(<span class="hljs-params">prompt</span>):
    completion = model(prompt)[<span class="hljs-number">0</span>][<span class="hljs-string">&quot;generated_text&quot;</span>]
    <span class="hljs-keyword">return</span> completion`,wrap:!1}}),X=new N({props:{code:"cHJlZGljdCglMjJNeSUyMGZhdm9yaXRlJTIwcHJvZ3JhbW1pbmclMjBsYW5ndWFnZSUyMGlzJTIyKQ==",highlighted:'<span class="hljs-function"><span class="hljs-title">predict</span><span class="hljs-params">(<span class="hljs-string">&quot;My favorite programming language is&quot;</span>)</span></span>',wrap:!1}}),P=new N({props:{code:"JTNFJTNFJTIwTXklMjBmYXZvcml0ZSUyMHByb2dyYW1taW5nJTIwbGFuZ3VhZ2UlMjBpcyUyMEhhc2tlbGwuJTIwSSUyMHJlYWxseSUyMGVuam95ZWQlMjB0aGUlMjBIYXNrZWxsJTIwbGFuZ3VhZ2UlMkMlMjBidXQlMjBpdCUyMGRvZXNuJ3QlMjBoYXZlJTIwYWxsJTIwdGhlJTIwZmVhdHVyZXMlMjB0aGF0JTIwY2FuJTIwYmUlMjBhcHBsaWVkJTIwdG8lMjBhbnklMjBvdGhlciUyMGxhbmd1YWdlLiUyMEZvciUyMGV4YW1wbGUlMkMlMjBhbGwlMjBpdCUyMGRvZXMlMjBpcyUyMGNvbXBpbGUlMjB0byUyMGElMjBieXRlJTIwYXJyYXku",highlighted:'&gt;&gt; My favorite programming language <span class="hljs-keyword">is</span> Haskell. I really enjoyed <span class="hljs-keyword">the</span> Haskell language, <span class="hljs-keyword">but</span> <span class="hljs-keyword">it</span> doesn&#x27;t have all <span class="hljs-keyword">the</span> features <span class="hljs-keyword">that</span> can be applied <span class="hljs-keyword">to</span> any other language. For example, all <span class="hljs-keyword">it</span> <span class="hljs-keyword">does</span> <span class="hljs-keyword">is</span> compile <span class="hljs-keyword">to</span> a byte array.',wrap:!1}}),E=new N({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQWdyLkludGVyZmFjZShmbiUzRHByZWRpY3QlMkMlMjBpbnB1dHMlM0QlMjJ0ZXh0JTIyJTJDJTIwb3V0cHV0cyUzRCUyMnRleHQlMjIpLmxhdW5jaCgp",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr

gr.Interface(fn=predict, inputs=<span class="hljs-string">&quot;text&quot;</span>, outputs=<span class="hljs-string">&quot;text&quot;</span>).launch()`,wrap:!1}}),z=new re({props:{source:"https://github.com/huggingface/course/blob/main/chapters/vi/chapter9/2.mdx"}}),{c(){f=o("meta"),K=a(),F=o("p"),O=a(),u(M.$$.fragment),tt=a(),u(v.$$.fragment),et=a(),j=o("p"),j.textContent=Ht,nt=a(),J=o("p"),J.innerHTML=_t,lt=a(),T=o("p"),T.textContent=Wt,at=a(),x=o("p"),x.textContent=Vt,st=a(),u(k.$$.fragment),ot=a(),B=o("p"),B.textContent=Rt,it=a(),$=o("ul"),$.innerHTML=qt,pt=a(),G=o("p"),G.innerHTML=Qt,ct=a(),r=o("iframe"),rt=a(),I=o("p"),I.textContent=Pt,ht=a(),C=o("p"),C.innerHTML=St,mt=a(),u(U.$$.fragment),ut=a(),h=o("iframe"),gt=a(),Z=o("p"),Z.textContent=Yt,dt=a(),H=o("p"),H.textContent=Lt,yt=a(),u(_.$$.fragment),bt=a(),W=o("p"),W.innerHTML=zt,wt=a(),V=o("p"),V.innerHTML=Nt,ft=a(),R=o("p"),R.textContent=Ft,Mt=a(),u(q.$$.fragment),vt=a(),Q=o("p"),Q.textContent=At,jt=a(),u(X.$$.fragment),Jt=a(),u(P.$$.fragment),Tt=a(),S=o("p"),S.innerHTML=Dt,xt=a(),u(E.$$.fragment),kt=a(),Y=o("p"),Y.textContent=Kt,Bt=a(),m=o("iframe"),$t=a(),L=o("p"),L.textContent=te,Gt=a(),u(z.$$.fragment),It=a(),A=o("p"),this.h()},l(t){const e=ie("svelte-u9bgzb",document.head);f=i(e,"META",{name:!0,content:!0}),e.forEach(n),K=s(t),F=i(t,"P",{}),D(F).forEach(n),O=s(t),g(M.$$.fragment,t),tt=s(t),g(v.$$.fragment,t),et=s(t),j=i(t,"P",{"data-svelte-h":!0}),c(j)!=="svelte-gzlgbt"&&(j.textContent=Ht),nt=s(t),J=i(t,"P",{"data-svelte-h":!0}),c(J)!=="svelte-sv8g3f"&&(J.innerHTML=_t),lt=s(t),T=i(t,"P",{"data-svelte-h":!0}),c(T)!=="svelte-1q8b66a"&&(T.textContent=Wt),at=s(t),x=i(t,"P",{"data-svelte-h":!0}),c(x)!=="svelte-1cguvi0"&&(x.textContent=Vt),st=s(t),g(k.$$.fragment,t),ot=s(t),B=i(t,"P",{"data-svelte-h":!0}),c(B)!=="svelte-ul3mki"&&(B.textContent=Rt),it=s(t),$=i(t,"UL",{"data-svelte-h":!0}),c($)!=="svelte-1ngi771"&&($.innerHTML=qt),pt=s(t),G=i(t,"P",{"data-svelte-h":!0}),c(G)!=="svelte-bb94k9"&&(G.innerHTML=Qt),ct=s(t),r=i(t,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),D(r).forEach(n),rt=s(t),I=i(t,"P",{"data-svelte-h":!0}),c(I)!=="svelte-8i7nn"&&(I.textContent=Pt),ht=s(t),C=i(t,"P",{"data-svelte-h":!0}),c(C)!=="svelte-tnewxj"&&(C.innerHTML=St),mt=s(t),g(U.$$.fragment,t),ut=s(t),h=i(t,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),D(h).forEach(n),gt=s(t),Z=i(t,"P",{"data-svelte-h":!0}),c(Z)!=="svelte-xl57zg"&&(Z.textContent=Yt),dt=s(t),H=i(t,"P",{"data-svelte-h":!0}),c(H)!=="svelte-1nx7wjr"&&(H.textContent=Lt),yt=s(t),g(_.$$.fragment,t),bt=s(t),W=i(t,"P",{"data-svelte-h":!0}),c(W)!=="svelte-lsxsyy"&&(W.innerHTML=zt),wt=s(t),V=i(t,"P",{"data-svelte-h":!0}),c(V)!=="svelte-r05xkh"&&(V.innerHTML=Nt),ft=s(t),R=i(t,"P",{"data-svelte-h":!0}),c(R)!=="svelte-17g6aku"&&(R.textContent=Ft),Mt=s(t),g(q.$$.fragment,t),vt=s(t),Q=i(t,"P",{"data-svelte-h":!0}),c(Q)!=="svelte-fgwbqv"&&(Q.textContent=At),jt=s(t),g(X.$$.fragment,t),Jt=s(t),g(P.$$.fragment,t),Tt=s(t),S=i(t,"P",{"data-svelte-h":!0}),c(S)!=="svelte-kwyjsv"&&(S.innerHTML=Dt),xt=s(t),g(E.$$.fragment,t),kt=s(t),Y=i(t,"P",{"data-svelte-h":!0}),c(Y)!=="svelte-7x9odb"&&(Y.textContent=Kt),Bt=s(t),m=i(t,"IFRAME",{src:!0,frameborder:!0,height:!0,title:!0,class:!0,allow:!0,sandbox:!0}),D(m).forEach(n),$t=s(t),L=i(t,"P",{"data-svelte-h":!0}),c(L)!=="svelte-ha2j39"&&(L.textContent=te),Gt=s(t),g(z.$$.fragment,t),It=s(t),A=i(t,"P",{}),D(A).forEach(n),this.h()},h(){p(f,"name","hf:doc:metadata"),p(f,"content",me),Ut(r.src,Xt="https://course-demos-hello-world.hf.space")||p(r,"src",Xt),p(r,"frameborder","0"),p(r,"height","250"),p(r,"title","Gradio app"),p(r,"class","container p-0 flex-grow space-iframe"),p(r,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),p(r,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"),Ut(h.src,Et="https://course-demos-hello-world-custom.hf.space")||p(h,"src",Et),p(h,"frameborder","0"),p(h,"height","300"),p(h,"title","Gradio app"),p(h,"class","container p-0 flex-grow space-iframe"),p(h,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),p(h,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads"),Ut(m.src,Ot="https://course-demos-gpt-2.hf.space")||p(m,"src",Ot),p(m,"frameborder","0"),p(m,"height","300"),p(m,"title","Gradio app"),p(m,"class","container p-0 flex-grow space-iframe"),p(m,"allow","accelerometer; ambient-light-sensor; autoplay; battery; camera; document-domain; encrypted-media; fullscreen; geolocation; gyroscope; layout-animations; legacy-image-formats; magnetometer; microphone; midi; oversized-images; payment; picture-in-picture; publickey-credentials-get; sync-xhr; usb; vr ; wake-lock; xr-spatial-tracking"),p(m,"sandbox","allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-downloads")},m(t,e){pe(document.head,f),l(t,K,e),l(t,F,e),l(t,O,e),d(M,t,e),l(t,tt,e),d(v,t,e),l(t,et,e),l(t,j,e),l(t,nt,e),l(t,J,e),l(t,lt,e),l(t,T,e),l(t,at,e),l(t,x,e),l(t,st,e),d(k,t,e),l(t,ot,e),l(t,B,e),l(t,it,e),l(t,$,e),l(t,pt,e),l(t,G,e),l(t,ct,e),l(t,r,e),l(t,rt,e),l(t,I,e),l(t,ht,e),l(t,C,e),l(t,mt,e),d(U,t,e),l(t,ut,e),l(t,h,e),l(t,gt,e),l(t,Z,e),l(t,dt,e),l(t,H,e),l(t,yt,e),d(_,t,e),l(t,bt,e),l(t,W,e),l(t,wt,e),l(t,V,e),l(t,ft,e),l(t,R,e),l(t,Mt,e),d(q,t,e),l(t,vt,e),l(t,Q,e),l(t,jt,e),d(X,t,e),l(t,Jt,e),d(P,t,e),l(t,Tt,e),l(t,S,e),l(t,xt,e),d(E,t,e),l(t,kt,e),l(t,Y,e),l(t,Bt,e),l(t,m,e),l(t,$t,e),l(t,L,e),l(t,Gt,e),d(z,t,e),l(t,It,e),l(t,A,e),Ct=!0},p:le,i(t){Ct||(y(M.$$.fragment,t),y(v.$$.fragment,t),y(k.$$.fragment,t),y(U.$$.fragment,t),y(_.$$.fragment,t),y(q.$$.fragment,t),y(X.$$.fragment,t),y(P.$$.fragment,t),y(E.$$.fragment,t),y(z.$$.fragment,t),Ct=!0)},o(t){b(M.$$.fragment,t),b(v.$$.fragment,t),b(k.$$.fragment,t),b(U.$$.fragment,t),b(_.$$.fragment,t),b(q.$$.fragment,t),b(X.$$.fragment,t),b(P.$$.fragment,t),b(E.$$.fragment,t),b(z.$$.fragment,t),Ct=!1},d(t){t&&(n(K),n(F),n(O),n(tt),n(et),n(j),n(nt),n(J),n(lt),n(T),n(at),n(x),n(st),n(ot),n(B),n(it),n($),n(pt),n(G),n(ct),n(r),n(rt),n(I),n(ht),n(C),n(mt),n(ut),n(h),n(gt),n(Z),n(dt),n(H),n(yt),n(bt),n(W),n(wt),n(V),n(ft),n(R),n(Mt),n(vt),n(Q),n(jt),n(Jt),n(Tt),n(S),n(xt),n(kt),n(Y),n(Bt),n(m),n($t),n(L),n(Gt),n(It),n(A)),n(f),w(M,t),w(v,t),w(k,t),w(U,t),w(_,t),w(q,t),w(X,t),w(P,t),w(E,t),w(z,t)}}}const me='{"title":"Xây dựng bản demo đầu tiên của bạn","local":"xây-dựng-bản-demo-đầu-tiên-của-bạn","sections":[{"title":"🤖 Bao gồm các dự đoán mô hình","local":"-bao-gồm-các-dự-đoán-mô-hình","sections":[],"depth":2}],"depth":1}';function ue(Zt){return ae(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class fe extends se{constructor(f){super(),oe(this,f,ue,he,ne,{})}}export{fe as component};
