Buckets:

download
raw
16.8 kB
import{s as Ge,b as We,n as Ne,o as xe}from"../chunks/scheduler.aec39e6a.js";import{S as He,i as _e,e as o,s,c as p,h as Re,a as i,d as l,b as n,f as qe,g as M,j as r,k as g,l as Xe,m as a,n as m,t as u,o as d,p as c}from"../chunks/index.4ee0a2d0.js";import{C as Fe,H as R,E as Qe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.c07de156.js";import{C as we}from"../chunks/CodeBlock.22855481.js";function Ye(fe){let j,Q,X,Y,f,z,J,V,b,L,T,Je='Amazon SageMaker JumpStart lets you deploy the most-popular open Hugging Face models with one click—inside your own AWS account. JumpStart offers a curated <a href="https://aws.amazon.com/sagemaker-ai/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.model-name&amp;sagemaker-jumpstart-cards.sort-order=asc&amp;awsf.sagemaker-jumpstart-filter-product-type=*all&amp;awsf.sagemaker-jumpstart-filter-text=*all&amp;awsf.sagemaker-jumpstart-filter-vision=*all&amp;awsf.sagemaker-jumpstart-filter-tabular=*all&amp;awsf.sagemaker-jumpstart-filter-audio-tasks=*all&amp;awsf.sagemaker-jumpstart-filter-multimodal=*all&amp;awsf.sagemaker-jumpstart-filter-RL=*all&amp;awsm.page-sagemaker-jumpstart-cards=1&amp;sagemaker-jumpstart-cards.q=qwen&amp;sagemaker-jumpstart-cards.q_operator=AND" rel="nofollow">selection</a> of model checkpoints for various tasks, including text generation, embeddings, vision, audio, and more. Most models are deployed using the official <a href="https://huggingface.co/docs/sagemaker/main/en/dlcs/introduction" rel="nofollow">Hugging Face Deep Learning Containers</a> with a sensible default instance type, so you can move from idea to production in minutes.',P,k,be='In this quickstart guide, we will deploy <a href="https://huggingface.co/Qwen/Qwen2.5-14B-Instruct" rel="nofollow">Qwen/Qwen2.5-14B-Instruct</a>.',D,U,O,A,Te='<thead><tr><th></th> <th>Requirement</th></tr></thead> <tbody><tr><td>AWS account with SageMaker enabled</td> <td>An AWS account that will contain all your AWS resources.</td></tr> <tr><td>An IAM role to access SageMaker AI</td> <td>Learn more about how IAM works with SageMaker AI in this <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam.html" rel="nofollow">guide</a>.</td></tr> <tr><td>SageMaker Studio domain and user profile</td> <td>We recommend using SageMaker Studio for straightforward deployment and inference. Follow this <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html" rel="nofollow">guide</a>.</td></tr> <tr><td>Service quotas</td> <td>Most LLMs need GPU instances (e.g. ml.g5). Verify you have quota for <code>ml.g5.24xlarge</code> or <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-requesting-quota-increases.html" rel="nofollow">request it</a>.</td></tr></tbody>',K,y,ke='<p>These docs and examples use the <a href="https://github.com/aws/sagemaker-python-sdk" rel="nofollow">SageMaker Python SDK v3</a>, which introduces a new framework-agnostic API built around <code>ModelBuilder</code> (inference) and <code>ModelTrainer</code> (training), replacing the v2 <code>HuggingFaceModel</code> and <code>HuggingFace</code> classes. Install it with <code>pip install &quot;sagemaker&gt;=3.0.0&quot;</code>.</p>',ee,I,te,$,Ue="Let’s explain how you would deploy a Hugging Face model to SageMaker browsing through the Jumpstart catalog:",le,v,Ae="<li>Open SageMaker → JumpStart.</li> <li>Filter “Hugging Face” or search for your model (e.g. Qwen2.5-14B).</li> <li>Click Deploy → (optional) adjust instance size / count → Deploy.</li> <li>Wait until Endpoints shows In service.</li> <li>Copy the Endpoint name (or ARN) for later use.</li>",ae,h,Ie,se,B,$e="Alternatively, you can also browse through the Hugging Face Model Hub:",ne,C,ve="<li>Open the model page → Click Deploy → SageMaker → Jumpstart tab if model is available.</li> <li>Copy the code snippet and use it from a SageMaker Notebook instance.</li>",oe,w,Be,ie,S,re,Z,Ce="The endpoint creation can take several minutes, depending on the size of the model.",pe,E,Me,W,Se="If you deployed through the console, you need to grab the endpoint ARN and reuse in your code.",me,q,ue,G,Ze="The endpoint supports the OpenAI API specification.",de,N,ce,x,Ee="To avoid incurring unnecessary costs, when you’re done, delete the SageMaker endpoints in the Deployments → Endpoints console or using the following code snippets:",je,H,ge,_,ye,F,he;return f=new Fe({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),J=new R({props:{title:"Quickstart - Deploy Hugging Face Models with SageMaker Jumpstart",local:"quickstart---deploy-hugging-face-models-with-sagemaker-jumpstart",headingTag:"h1"}}),b=new R({props:{title:"Why use SageMaker JumpStart for Hugging Face models?",local:"why-use-sagemaker-jumpstart-for-hugging-face-models",headingTag:"h2"}}),U=new R({props:{title:"1. Prerequisites",local:"1-prerequisites",headingTag:"h2"}}),I=new R({props:{title:"2. Endpoint deployment",local:"2-endpoint-deployment",headingTag:"h2"}}),S=new we({props:{code:"JTIzJTIwU2FnZU1ha2VyJTIwSnVtcFN0YXJ0JTIwbW9kZWxzJTIwY2FuJTIwYmUlMjBkZXBsb3llZCUyMHdpdGglMjBNb2RlbEJ1aWxkZXIlMjBieSUyMHBhc3NpbmclMjB0aGUlMEElMjMlMjBKdW1wU3RhcnQlMjBtb2RlbCUyMElEJTIwYXMlMjAlNjBtb2RlbCU2MC4lMjBNb2RlbEJ1aWxkZXIlMjByZXNvbHZlcyUyMHRoZSUyMEp1bXBTdGFydCUyMGFydGlmYWN0cyUyMGFuZCUwQSUyMyUyMGNvbnRhaW5lciUyQyUyMGFuZCUyMHJ1bnMlMjB0aGUlMjBkZXBsb3ltZW50JTIwaW4lMjBuZXR3b3JrJTIwaXNvbGF0aW9uLiUwQSUyMyUyMFNldCUyMCU2MGluc3RhbmNlX3R5cGUlNjAlMjB0byUyMG9uZSUyMHRoZSUyMG1vZGVsJTIwc3VwcG9ydHMlMjAoc2VlJTIwdGhlJTIwbW9kZWwlMjBjYXJkKSUzQSUyME1vZGVsQnVpbGRlcidzJTBBJTIzJTIwYXV0by1kZXRlY3Rpb24lMjBvdGhlcndpc2UlMjBwaWNrcyUyMGElMjBDUFUlMjBpbnN0YW5jZSUyQyUyMHdoaWNoJTIwTExNcyUyMGRvbid0JTIwc3VwcG9ydC4lMEFpbXBvcnQlMjBqc29uJTBBZnJvbSUyMHNhZ2VtYWtlci5zZXJ2ZSUyMGltcG9ydCUyME1vZGVsQnVpbGRlciUwQSUwQSUyMyUyMHVzZSUyMHRoZSUyMCU2MHJvbGVfYXJuJTYwJTIwcGFyYW1ldGVyJTIwdG8lMjB1c2UlMjBhJTIwZGlmZmVyZW50JTIwcm9sZSUwQW1vZGVsX2J1aWxkZXIlMjAlM0QlMjBNb2RlbEJ1aWxkZXIoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0QlMjJodWdnaW5nZmFjZS1sbG0tcXdlbjItNS0xNGItaW5zdHJ1Y3QlMjIlMkMlMEElMjAlMjAlMjAlMjBpbnN0YW5jZV90eXBlJTNEJTIybWwuZzUuMjR4bGFyZ2UlMjIlMkMlMEEpJTBBbW9kZWxfYnVpbGRlci5idWlsZCgpJTBBJTBBcHJlZGljdG9yJTIwJTNEJTIwbW9kZWxfYnVpbGRlci5kZXBsb3koYWNjZXB0X2V1bGElM0RUcnVlKSUwQSUwQXBheWxvYWQlMjAlM0QlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjJpbnB1dHMlMjIlM0ElMjAlMjJ3aGF0JTIwaXMlMjBtYWNoaW5lJTIwbGVhcm5pbmclM0YlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjJwYXJhbWV0ZXJzJTIyJTNBJTIwJTdCJTIybWF4X25ld190b2tlbnMlMjIlM0ElMjAyNTYlN0QlMkMlMEElN0QlMEFyZXNwb25zZSUyMCUzRCUyMHByZWRpY3Rvci5pbnZva2UoYm9keSUzRGpzb24uZHVtcHMocGF5bG9hZCklMkMlMjBjb250ZW50X3R5cGUlM0QlMjJhcHBsaWNhdGlvbiUyRmpzb24lMjIpJTBBcHJpbnQoanNvbi5sb2FkcyhyZXNwb25zZS5ib2R5LnJlYWQoKSkp",highlighted:`<span class="hljs-comment"># SageMaker JumpStart models can be deployed with ModelBuilder by passing the</span>
<span class="hljs-comment"># JumpStart model ID as \`model\`. ModelBuilder resolves the JumpStart artifacts and</span>
<span class="hljs-comment"># container, and runs the deployment in network isolation.</span>
<span class="hljs-comment"># Set \`instance_type\` to one the model supports (see the model card): ModelBuilder&#x27;s</span>
<span class="hljs-comment"># auto-detection otherwise picks a CPU instance, which LLMs don&#x27;t support.</span>
<span class="hljs-keyword">import</span> json
<span class="hljs-keyword">from</span> sagemaker.serve <span class="hljs-keyword">import</span> ModelBuilder
<span class="hljs-comment"># use the \`role_arn\` parameter to use a different role</span>
model_builder = ModelBuilder(
model=<span class="hljs-string">&quot;huggingface-llm-qwen2-5-14b-instruct&quot;</span>,
instance_type=<span class="hljs-string">&quot;ml.g5.24xlarge&quot;</span>,
)
model_builder.build()
predictor = model_builder.deploy(accept_eula=<span class="hljs-literal">True</span>)
payload = {
<span class="hljs-string">&quot;inputs&quot;</span>: <span class="hljs-string">&quot;what is machine learning?&quot;</span>,
<span class="hljs-string">&quot;parameters&quot;</span>: {<span class="hljs-string">&quot;max_new_tokens&quot;</span>: <span class="hljs-number">256</span>},
}
response = predictor.invoke(body=json.dumps(payload), content_type=<span class="hljs-string">&quot;application/json&quot;</span>)
<span class="hljs-built_in">print</span>(json.loads(response.body.read()))`,lang:"python",wrap:!1}}),E=new R({props:{title:"3. Test interactively",local:"3-test-interactively",headingTag:"h2"}}),q=new we({props:{code:"aW1wb3J0JTIwanNvbiUwQWZyb20lMjBzYWdlbWFrZXIuY29yZS5yZXNvdXJjZXMlMjBpbXBvcnQlMjBFbmRwb2ludCUwQSUwQWVuZHBvaW50X25hbWUlMjAlM0QlMjAlMjJNWSUyMEVORFBPSU5UJTIwTkFNRSUyMiUwQXByZWRpY3RvciUyMCUzRCUyMEVuZHBvaW50LmdldChlbmRwb2ludF9uYW1lJTNEZW5kcG9pbnRfbmFtZSklMEFwYXlsb2FkJTIwJTNEJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIybWVzc2FnZXMlMjIlM0ElMjAlNUIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJyb2xlJTIyJTNBJTIwJTIyc3lzdGVtJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyY29udGVudCUyMiUzQSUyMCUyMllvdSUyMGFyZSUyMGElMjBwYXNzaW9uYXRlJTIwZGF0YSUyMHNjaWVudGlzdC4lMjIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJyb2xlJTIyJTNBJTIwJTIydXNlciUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmNvbnRlbnQlMjIlM0ElMjAlMjJ3aGF0JTIwaXMlMjBtYWNoaW5lJTIwbGVhcm5pbmclM0YlMjIlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlMjAlMjAlNUQlMkMlMEElMjAlMjAlMjAlMjAlMjJtYXhfdG9rZW5zJTIyJTNBJTIwMjA0OCUyQyUwQSUyMCUyMCUyMCUyMCUyMnRlbXBlcmF0dXJlJTIyJTNBJTIwMC43JTJDJTBBJTIwJTIwJTIwJTIwJTIydG9wX3AlMjIlM0ElMjAwLjklMkMlMEElMjAlMjAlMjAlMjAlMjJzdHJlYW0lMjIlM0ElMjBGYWxzZSUwQSU3RCUwQSUwQXJlc3BvbnNlJTIwJTNEJTIwcHJlZGljdG9yLmludm9rZShib2R5JTNEanNvbi5kdW1wcyhwYXlsb2FkKSUyQyUyMGNvbnRlbnRfdHlwZSUzRCUyMmFwcGxpY2F0aW9uJTJGanNvbiUyMiklMEFwcmludChqc29uLmxvYWRzKHJlc3BvbnNlLmJvZHkucmVhZCgpKSk=",highlighted:`<span class="hljs-keyword">import</span> json
<span class="hljs-keyword">from</span> sagemaker.core.resources <span class="hljs-keyword">import</span> Endpoint
endpoint_name = <span class="hljs-string">&quot;MY ENDPOINT NAME&quot;</span>
predictor = Endpoint.get(endpoint_name=endpoint_name)
payload = {
<span class="hljs-string">&quot;messages&quot;</span>: [
{
<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 passionate data scientist.&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 is machine learning?&quot;</span>
}
],
<span class="hljs-string">&quot;max_tokens&quot;</span>: <span class="hljs-number">2048</span>,
<span class="hljs-string">&quot;temperature&quot;</span>: <span class="hljs-number">0.7</span>,
<span class="hljs-string">&quot;top_p&quot;</span>: <span class="hljs-number">0.9</span>,
<span class="hljs-string">&quot;stream&quot;</span>: <span class="hljs-literal">False</span>
}
response = predictor.invoke(body=json.dumps(payload), content_type=<span class="hljs-string">&quot;application/json&quot;</span>)
<span class="hljs-built_in">print</span>(json.loads(response.body.read()))`,lang:"python",wrap:!1}}),N=new R({props:{title:"4. Clean‑up",local:"4-cleanup",headingTag:"h2"}}),H=new we({props:{code:"cHJlZGljdG9yLmRlbGV0ZSgp",highlighted:"predictor.delete()",lang:"python",wrap:!1}}),_=new Qe({props:{source:"https://github.com/huggingface/hub-docs/blob/main/docs/sagemaker/source/tutorials/jumpstart/jumpstart-quickstart.md"}}),{c(){j=o("meta"),Q=s(),X=o("p"),Y=s(),p(f.$$.fragment),z=s(),p(J.$$.fragment),V=s(),p(b.$$.fragment),L=s(),T=o("p"),T.innerHTML=Je,P=s(),k=o("p"),k.innerHTML=be,D=s(),p(U.$$.fragment),O=s(),A=o("table"),A.innerHTML=Te,K=s(),y=o("blockquote"),y.innerHTML=ke,ee=s(),p(I.$$.fragment),te=s(),$=o("p"),$.textContent=Ue,le=s(),v=o("ol"),v.innerHTML=Ae,ae=s(),h=o("img"),se=s(),B=o("p"),B.textContent=$e,ne=s(),C=o("ol"),C.innerHTML=ve,oe=s(),w=o("img"),ie=s(),p(S.$$.fragment),re=s(),Z=o("p"),Z.textContent=Ce,pe=s(),p(E.$$.fragment),Me=s(),W=o("p"),W.textContent=Se,me=s(),p(q.$$.fragment),ue=s(),G=o("p"),G.textContent=Ze,de=s(),p(N.$$.fragment),ce=s(),x=o("p"),x.textContent=Ee,je=s(),p(H.$$.fragment),ge=s(),p(_.$$.fragment),ye=s(),F=o("p"),this.h()},l(e){const t=Re("svelte-u9bgzb",document.head);j=i(t,"META",{name:!0,content:!0}),t.forEach(l),Q=n(e),X=i(e,"P",{}),qe(X).forEach(l),Y=n(e),M(f.$$.fragment,e),z=n(e),M(J.$$.fragment,e),V=n(e),M(b.$$.fragment,e),L=n(e),T=i(e,"P",{"data-svelte-h":!0}),r(T)!=="svelte-c323bq"&&(T.innerHTML=Je),P=n(e),k=i(e,"P",{"data-svelte-h":!0}),r(k)!=="svelte-glhkwk"&&(k.innerHTML=be),D=n(e),M(U.$$.fragment,e),O=n(e),A=i(e,"TABLE",{"data-svelte-h":!0}),r(A)!=="svelte-170vxk4"&&(A.innerHTML=Te),K=n(e),y=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),r(y)!=="svelte-3zi9fd"&&(y.innerHTML=ke),ee=n(e),M(I.$$.fragment,e),te=n(e),$=i(e,"P",{"data-svelte-h":!0}),r($)!=="svelte-el0n8y"&&($.textContent=Ue),le=n(e),v=i(e,"OL",{"data-svelte-h":!0}),r(v)!=="svelte-7ng80t"&&(v.innerHTML=Ae),ae=n(e),h=i(e,"IMG",{src:!0,alt:!0,width:!0}),se=n(e),B=i(e,"P",{"data-svelte-h":!0}),r(B)!=="svelte-1lzsyqk"&&(B.textContent=$e),ne=n(e),C=i(e,"OL",{"data-svelte-h":!0}),r(C)!=="svelte-vh08fk"&&(C.innerHTML=ve),oe=n(e),w=i(e,"IMG",{src:!0,alt:!0,width:!0}),ie=n(e),M(S.$$.fragment,e),re=n(e),Z=i(e,"P",{"data-svelte-h":!0}),r(Z)!=="svelte-knhstf"&&(Z.textContent=Ce),pe=n(e),M(E.$$.fragment,e),Me=n(e),W=i(e,"P",{"data-svelte-h":!0}),r(W)!=="svelte-v65zqa"&&(W.textContent=Se),me=n(e),M(q.$$.fragment,e),ue=n(e),G=i(e,"P",{"data-svelte-h":!0}),r(G)!=="svelte-jr1a7s"&&(G.textContent=Ze),de=n(e),M(N.$$.fragment,e),ce=n(e),x=i(e,"P",{"data-svelte-h":!0}),r(x)!=="svelte-t814jl"&&(x.textContent=Ee),je=n(e),M(H.$$.fragment,e),ge=n(e),M(_.$$.fragment,e),ye=n(e),F=i(e,"P",{}),qe(F).forEach(l),this.h()},h(){g(j,"name","hf:doc:metadata"),g(j,"content",ze),g(y,"class","note"),We(h.src,Ie="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/sagemaker/jumpstart-deployment.gif")||g(h,"src",Ie),g(h,"alt","JumpStart deployment demo"),g(h,"width","500"),We(w.src,Be="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/sagemaker/hf-jumpstart-deployment.gif")||g(w,"src",Be),g(w,"alt","JumpStart deployment demo"),g(w,"width","500")},m(e,t){Xe(document.head,j),a(e,Q,t),a(e,X,t),a(e,Y,t),m(f,e,t),a(e,z,t),m(J,e,t),a(e,V,t),m(b,e,t),a(e,L,t),a(e,T,t),a(e,P,t),a(e,k,t),a(e,D,t),m(U,e,t),a(e,O,t),a(e,A,t),a(e,K,t),a(e,y,t),a(e,ee,t),m(I,e,t),a(e,te,t),a(e,$,t),a(e,le,t),a(e,v,t),a(e,ae,t),a(e,h,t),a(e,se,t),a(e,B,t),a(e,ne,t),a(e,C,t),a(e,oe,t),a(e,w,t),a(e,ie,t),m(S,e,t),a(e,re,t),a(e,Z,t),a(e,pe,t),m(E,e,t),a(e,Me,t),a(e,W,t),a(e,me,t),m(q,e,t),a(e,ue,t),a(e,G,t),a(e,de,t),m(N,e,t),a(e,ce,t),a(e,x,t),a(e,je,t),m(H,e,t),a(e,ge,t),m(_,e,t),a(e,ye,t),a(e,F,t),he=!0},p:Ne,i(e){he||(u(f.$$.fragment,e),u(J.$$.fragment,e),u(b.$$.fragment,e),u(U.$$.fragment,e),u(I.$$.fragment,e),u(S.$$.fragment,e),u(E.$$.fragment,e),u(q.$$.fragment,e),u(N.$$.fragment,e),u(H.$$.fragment,e),u(_.$$.fragment,e),he=!0)},o(e){d(f.$$.fragment,e),d(J.$$.fragment,e),d(b.$$.fragment,e),d(U.$$.fragment,e),d(I.$$.fragment,e),d(S.$$.fragment,e),d(E.$$.fragment,e),d(q.$$.fragment,e),d(N.$$.fragment,e),d(H.$$.fragment,e),d(_.$$.fragment,e),he=!1},d(e){e&&(l(Q),l(X),l(Y),l(z),l(V),l(L),l(T),l(P),l(k),l(D),l(O),l(A),l(K),l(y),l(ee),l(te),l($),l(le),l(v),l(ae),l(h),l(se),l(B),l(ne),l(C),l(oe),l(w),l(ie),l(re),l(Z),l(pe),l(Me),l(W),l(me),l(ue),l(G),l(de),l(ce),l(x),l(je),l(ge),l(ye),l(F)),l(j),c(f,e),c(J,e),c(b,e),c(U,e),c(I,e),c(S,e),c(E,e),c(q,e),c(N,e),c(H,e),c(_,e)}}}const ze='{"title":"Quickstart - Deploy Hugging Face Models with SageMaker Jumpstart","local":"quickstart---deploy-hugging-face-models-with-sagemaker-jumpstart","sections":[{"title":"Why use SageMaker JumpStart for Hugging Face models?","local":"why-use-sagemaker-jumpstart-for-hugging-face-models","sections":[],"depth":2},{"title":"1. Prerequisites","local":"1-prerequisites","sections":[],"depth":2},{"title":"2. Endpoint deployment","local":"2-endpoint-deployment","sections":[],"depth":2},{"title":"3. Test interactively","local":"3-test-interactively","sections":[],"depth":2},{"title":"4. Clean‑up","local":"4-cleanup","sections":[],"depth":2}],"depth":1}';function Ve(fe){return xe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ke extends He{constructor(j){super(),_e(this,j,Ve,Ye,Ge,{})}}export{Ke as component};

Xet Storage Details

Size:
16.8 kB
·
Xet hash:
be425b5aae3c76f7acf2d85a87bcecbb8e532a88d26325abe4ed1e6be075e4b1

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.