Buckets:
| import{s as ns,n as ss,o as ts}from"../chunks/scheduler.0cf4ef2e.js";import{S as as,i as ls,e as p,s as a,c as r,h as ps,a as i,d as s,b as l,f as es,g,j as c,k as ye,l as is,m as t,n as o,t as h,o as u,p as f}from"../chunks/index.abc433bf.js";import{C as cs,H as d,E as rs}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.a38ba6c9.js";import{C as m}from"../chunks/CodeBlock.da0c98f9.js";function gs(wn){let j,be,Me,Ue,b,xe,U,$e,x,Tn=`추론 엔드포인트는 Hugging Face가 관리하는 전용 및 자동 확장 인프라에 <code>transformers</code>, <code>sentence-transformers</code> 및 <code>diffusers</code> 모델을 쉽게 배포할 수 있는 안전한 프로덕션 솔루션을 제공합니다. 추론 엔드포인트는 <a href="https://huggingface.co/models" rel="nofollow">Hub</a>의 모델로 구축됩니다. | |
| 이 가이드에서는 <code>huggingface_hub</code>를 사용하여 프로그래밍 방식으로 추론 엔드포인트를 관리하는 방법을 배웁니다. 추론 엔드포인트 제품 자체에 대한 자세한 내용은 <a href="https://huggingface.co/docs/inference-endpoints/index" rel="nofollow">공식 문서</a>를 참조하세요.`,we,$,kn='이 가이드에서는 <code>huggingface_hub</code>가 올바르게 설치 및 로그인되어 있다고 가정합니다. 아직 그렇지 않은 경우 <a href="https://huggingface.co/docs/huggingface_hub/quick-start#quickstart" rel="nofollow">빠른 시작 가이드</a>를 참조하세요. 추론 엔드포인트 API를 지원하는 최소 버전은 <code>v0.19.0</code>입니다.',Te,w,ke,T,Cn='첫 번째 단계는 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.create_inference_endpoint">create_inference_endpoint()</a>를 사용하여 추론 엔드포인트를 생성하는 것입니다:',Ce,k,Ie,C,In='예시에서는 <code>"my-endpoint-name"</code>라는 <code>protected</code> 추론 엔드포인트를 생성하여 <code>text-generation</code>을 위한 <a href="https://huggingface.co/gpt2" rel="nofollow">gpt2</a>를 제공합니다. <code>protected</code> 추론 엔드포인트 API에 액세스하려면 토큰이 필요합니다. 또한 벤더, 지역, 액셀러레이터, 인스턴스 유형, 크기와 같은 하드웨어 요구 사항을 구성하기 위한 추가 정보를 제공해야 합니다. 사용 가능한 리소스 목록은 <a href="https://api.endpoints.huggingface.cloud/#/v2%3A%3Aprovider/list_vendors" rel="nofollow">여기</a>에서 확인할 수 있습니다. 또한 <a href="https://ui.endpoints.huggingface.co/new" rel="nofollow">웹 인터페이스</a>를 사용하여 편리하게 수동으로 추론 엔드포인트를 생성할 수 있습니다. 고급 설정 및 사용법에 대한 자세한 내용은 <a href="https://huggingface.co/docs/inference-endpoints/guides/advanced" rel="nofollow">이 가이드</a>를 참조하세요.',Je,I,Jn='<a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.create_inference_endpoint">create_inference_endpoint()</a>에서 반환된 값은 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint">InferenceEndpoint</a> 개체입니다:',Ee,J,Ze,E,En="이것은 엔드포인트에 대한 정보를 저장하는 데이터클래스입니다. <code>name</code>, <code>repository</code>, <code>status</code>, <code>task</code>, <code>created_at</code>, <code>updated_at</code> 등과 같은 중요한 속성에 접근할 수 있습니다. 필요한 경우 <code>endpoint.raw</code>를 통해 서버로부터의 원시 응답에도 접근할 수 있습니다.",We,Z,Zn='추론 엔드포인트가 생성되면 <a href="https://ui.endpoints.huggingface.co/" rel="nofollow">개인 대시보드</a>에서 확인할 수 있습니다.',qe,W,Wn='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/huggingface_hub/inference_endpoints_created.png"/>',ve,q,He,v,qn='기본적으로 추론 엔드포인트는 Hugging Face에서 제공하는 도커 이미지로 구축됩니다. 그러나 <code>custom_image</code> 매개변수를 사용하여 모든 도커 이미지를 지정할 수 있습니다. 일반적인 사용 사례는 <a href="https://github.com/huggingface/text-generation-inference" rel="nofollow">text-generation-inference</a> 프레임워크를 사용하여 LLM을 실행하는 것입니다. 다음과 같이 수행할 수 있습니다:',Qe,H,Ae,Q,vn='<code>custom_image</code>에 전달할 값은 도커 컨테이너의 URL과 이를 실행하기 위한 구성이 포함된 딕셔너리입니다. 자세한 내용은 <a href="https://api.endpoints.huggingface.cloud/#/v2%3A%3Aendpoint/create_endpoint" rel="nofollow">Swagger 문서</a>를 참조하세요.',Be,A,Le,B,Hn='경우에 따라 이전에 생성한 추론 엔드포인트를 관리해야 할 수 있습니다. 이름을 알고 있는 경우 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.get_inference_endpoint">get_inference_endpoint()</a>를 사용하여 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint">InferenceEndpoint</a> 개체를 가져올 수 있습니다. 또는 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.list_inference_endpoints">list_inference_endpoints()</a>를 사용하여 모든 추론 엔드포인트 리스트를 검색할 수 있습니다. 두 메소드 모두 선택적 <code>namespace</code> 매개변수를 허용합니다. 속해 있는 조직의 <code>namespace</code>를 설정할 수 있습니다. 그렇지 않으면 기본적으로 사용자 이름이 사용됩니다.',Ve,L,Xe,V,Ge,X,Qn='이 가이드의 나머지 부분에서는 <code>endpoint</code>라는 이름의 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint">InferenceEndpoint</a> 객체를 가지고 있다고 가정합니다. 엔드포인트에 <code>status</code> 속성이 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpointStatus">InferenceEndpointStatus</a> 유형이라는 것을 알 수 있었습니다. 추론 엔드포인트가 배포되고 접근 가능하면 상태가 <code>"running"</code>이 되고 <code>url</code> 속성이 설정됩니다:',Ne,G,Ye,N,An='<code>추론 엔드포인트가 "running"</code> 상태에 도달하기 전에 일반적으로 <code>"initializing"</code> 또는 <code>"pending"</code> 단계를 거칩니다. <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.fetch">fetch()</a>를 실행하여 엔드포인트의 새로운 상태를 가져올 수 있습니다. <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint">InferenceEndpoint</a>의 다른 메소드와 마찬가지로 이 메소드는 서버에 요청을 하며, <code>endpoint</code>의 내부 속성이 변경됩니다:',Re,Y,ze,R,Bn='추론 엔드포인트가 실행될 때까지 기다리면서 상태를 가져오는 대신 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.wait">wait()</a>를 직접 호출할 수 있습니다. 이 헬퍼는 <code>timeout</code>과 <code>fetch_every</code> 매개변수를 입력으로 받아 (초 단위) 추론 엔드포인트가 배포될 때까지 스레드를 차단합니다. 기본값은 각각 <code>None</code>(제한 시간 없음)과 <code>5</code>초입니다.',Se,z,Fe,S,Ln="<code>timeout</code>이 설정되어 있고 추론 엔드포인트를 불러오는 데 너무 오래 걸리면, <code>InferenceEndpointTimeoutError</code> 제한 시간 초과 오류가 발생합니다.",Pe,F,Ke,P,Vn="추론 엔드포인트가 실행되면, 마침내 추론을 실행할 수 있습니다!",De,K,Xn='<a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint">InferenceEndpoint</a>에는 각각 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_client#huggingface_hub.InferenceClient">InferenceClient</a>와 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_client#huggingface_hub.AsyncInferenceClient">AsyncInferenceClient</a>를 반환하는 <code>client</code>와 <code>async_client</code> 속성이 있습니다.',Oe,D,en,O,Gn='추론 엔드포인트가 실행 중이 아니면 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpointError">InferenceEndpointError</a> 오류가 발생합니다:',nn,ee,sn,ne,Nn='<a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_client#huggingface_hub.InferenceClient">InferenceClient</a>를 사용하는 방법에 대한 자세한 내용은 <a href="../guides/inference">추론 가이드</a>를 참조하세요.',tn,se,an,te,Yn="이제 추론 엔드포인트를 생성하고 추론을 실행하는 방법을 살펴보았으니, 라이프사이클을 관리하는 방법을 살펴봅시다.",ln,M,Rn='<p>이 섹션에서는 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.pause">pause()</a>, <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.resume">resume()</a>, <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.scale_to_zero">scale_to_zero()</a>, <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.update">update()</a> 및 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.delete">delete()</a> 등의 메소드를 살펴볼 것입니다. 모든 메소드는 편의를 위해 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint">InferenceEndpoint</a>에 추가된 별칭입니다. 원한다면 <code>HfApi</code>에 정의된 일반 메소드 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.pause_inference_endpoint">pause_inference_endpoint()</a>, <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.resume_inference_endpoint">resume_inference_endpoint()</a>, <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.scale_to_zero_inference_endpoint">scale_to_zero_inference_endpoint()</a>, <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.update_inference_endpoint">update_inference_endpoint()</a> 및 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/hf_api#huggingface_hub.HfApi.delete_inference_endpoint">delete_inference_endpoint()</a>를 사용할 수도 있습니다.</p>',pn,ae,cn,le,zn='추론 엔드포인트를 사용하지 않을 때 비용을 절감하기 위해 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.pause">pause()</a>를 사용하여 일시 중지하거나 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.scale_to_zero">scale_to_zero()</a>를 사용하여 0으로 스케일링할 수 있습니다.',rn,_,Sn='<p><em>일시 중지</em> 또는 <em>0으로 스케일링</em>된 추론 엔드포인트는 비용이 들지 않습니다. 이 두 가지의 차이점은 <em>일시 중지</em> 엔드포인트는 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.resume">resume()</a>를 사용하여 명시적으로 <em>재개</em>해야 한다는 것입니다. 반대로 <em>0으로 스케일링</em>된 엔드포인트는 추론 호출이 있으면 추가 콜드 스타트 지연과 함께 자동으로 시작됩니다. 추론 엔드포인트는 일정 기간 비활성화된 후 자동으로 0으로 스케일링되도록 구성할 수도 있습니다.</p>',gn,pe,on,ie,hn,ce,Fn='경우에 따라 새로운 엔드포인트를 생성하지 않고 추론 엔드포인트를 업데이트하고 싶을 수 있습니다. 호스팅된 모델이나 모델 실행에 필요한 하드웨어 요구 사항을 업데이트할 수 있습니다. 이렇게 하려면 <a href="/docs/huggingface_hub/pr_4140/ko/package_reference/inference_endpoints#huggingface_hub.InferenceEndpoint.update">update()</a>를 사용합니다:',un,re,fn,ge,mn,oe,Pn="마지막으로 더 이상 추론 엔드포인트를 사용하지 않을 경우, <code>~InferenceEndpoint.delete()</code>를 호출하기만 하면 됩니다.",dn,y,Kn="<p>이것은 돌이킬 수 없는 작업이며, 구성, 로그 및 사용 메트릭을 포함한 엔드포인트를 완전히 제거합니다. 삭제된 추론 엔드포인트는 복원할 수 없습니다.</p>",jn,he,Mn,ue,Dn="추론 엔드포인트의 일반적인 사용 사례는 한 번에 여러 개의 작업을 처리하여 인프라 비용을 제한하는 것입니다. 이 가이드에서 본 것을 사용하여 이 프로세스를 자동화할 수 있습니다:",_n,fe,yn,me,On="또는 추론 엔드포인트가 이미 존재하고 일시 중지된 경우:",bn,de,Un,je,xn,_e,$n;return b=new cs({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),U=new d({props:{title:"추론 엔드포인트",local:"inference-endpoints",headingTag:"h1"}}),w=new d({props:{title:"추론 엔드포인트 생성",local:"create-an-inference-endpoint",headingTag:"h2"}}),k=new m({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGNyZWF0ZV9pbmZlcmVuY2VfZW5kcG9pbnQlMEElMEFlbmRwb2ludCUyMCUzRCUyMGNyZWF0ZV9pbmZlcmVuY2VfZW5kcG9pbnQoJTBBJTIwJTIwJTIwJTIwJTIybXktZW5kcG9pbnQtbmFtZSUyMiUyQyUwQSUyMCUyMCUyMCUyMHJlcG9zaXRvcnklM0QlMjJncHQyJTIyJTJDJTBBJTIwJTIwJTIwJTIwZnJhbWV3b3JrJTNEJTIycHl0b3JjaCUyMiUyQyUwQSUyMCUyMCUyMCUyMHRhc2slM0QlMjJ0ZXh0LWdlbmVyYXRpb24lMjIlMkMlMEElMjAlMjAlMjAlMjBhY2NlbGVyYXRvciUzRCUyMmNwdSUyMiUyQyUwQSUyMCUyMCUyMCUyMHZlbmRvciUzRCUyMmF3cyUyMiUyQyUwQSUyMCUyMCUyMCUyMHJlZ2lvbiUzRCUyMnVzLWVhc3QtMSUyMiUyQyUwQSUyMCUyMCUyMCUyMHR5cGUlM0QlMjJwcm90ZWN0ZWQlMjIlMkMlMEElMjAlMjAlMjAlMjBpbnN0YW5jZV9zaXplJTNEJTIyeDIlMjIlMkMlMEElMjAlMjAlMjAlMjBpbnN0YW5jZV90eXBlJTNEJTIyaW50ZWwtaWNsJTIyJTBBKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_inference_endpoint | |
| <span class="hljs-meta">>>> </span>endpoint = create_inference_endpoint( | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"my-endpoint-name"</span>, | |
| <span class="hljs-meta">... </span> repository=<span class="hljs-string">"gpt2"</span>, | |
| <span class="hljs-meta">... </span> framework=<span class="hljs-string">"pytorch"</span>, | |
| <span class="hljs-meta">... </span> task=<span class="hljs-string">"text-generation"</span>, | |
| <span class="hljs-meta">... </span> accelerator=<span class="hljs-string">"cpu"</span>, | |
| <span class="hljs-meta">... </span> vendor=<span class="hljs-string">"aws"</span>, | |
| <span class="hljs-meta">... </span> region=<span class="hljs-string">"us-east-1"</span>, | |
| <span class="hljs-meta">... </span> <span class="hljs-built_in">type</span>=<span class="hljs-string">"protected"</span>, | |
| <span class="hljs-meta">... </span> instance_size=<span class="hljs-string">"x2"</span>, | |
| <span class="hljs-meta">... </span> instance_type=<span class="hljs-string">"intel-icl"</span> | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),J=new m({props:{code:"ZW5kcG9pbnQ=",highlighted:`<span class="hljs-meta">>>> </span>endpoint | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>)`,wrap:!1}}),q=new d({props:{title:"사용자 정의 이미지 사용",local:"using-a-custom-image",headingTag:"h4"}}),H=new m({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGNyZWF0ZV9pbmZlcmVuY2VfZW5kcG9pbnQlMEFlbmRwb2ludCUyMCUzRCUyMGNyZWF0ZV9pbmZlcmVuY2VfZW5kcG9pbnQoJTBBJTIwJTIwJTIwJTIwJTIyYXdzLXplcGh5ci03Yi1iZXRhLTA0ODYlMjIlMkMlMEElMjAlMjAlMjAlMjByZXBvc2l0b3J5JTNEJTIySHVnZ2luZ0ZhY2VINCUyRnplcGh5ci03Yi1iZXRhJTIyJTJDJTBBJTIwJTIwJTIwJTIwZnJhbWV3b3JrJTNEJTIycHl0b3JjaCUyMiUyQyUwQSUyMCUyMCUyMCUyMHRhc2slM0QlMjJ0ZXh0LWdlbmVyYXRpb24lMjIlMkMlMEElMjAlMjAlMjAlMjBhY2NlbGVyYXRvciUzRCUyMmdwdSUyMiUyQyUwQSUyMCUyMCUyMCUyMHZlbmRvciUzRCUyMmF3cyUyMiUyQyUwQSUyMCUyMCUyMCUyMHJlZ2lvbiUzRCUyMnVzLWVhc3QtMSUyMiUyQyUwQSUyMCUyMCUyMCUyMHR5cGUlM0QlMjJwcm90ZWN0ZWQlMjIlMkMlMEElMjAlMjAlMjAlMjBpbnN0YW5jZV9zaXplJTNEJTIyeDElMjIlMkMlMEElMjAlMjAlMjAlMjBpbnN0YW5jZV90eXBlJTNEJTIybnZpZGlhLWExMGclMjIlMkMlMEElMjAlMjAlMjAlMjBjdXN0b21faW1hZ2UlM0QlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJoZWFsdGhfcm91dGUlMjIlM0ElMjAlMjIlMkZoZWFsdGglMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbnYlMjIlM0ElMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJNQVhfQkFUQ0hfUFJFRklMTF9UT0tFTlMlMjIlM0ElMjAlMjIyMDQ4JTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyTUFYX0lOUFVUX0xFTkdUSCUyMiUzQSUyMCUyMjEwMjQlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJNQVhfVE9UQUxfVE9LRU5TJTIyJTNBJTIwJTIyMTUxMiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMk1PREVMX0lEJTIyJTNBJTIwJTIyJTJGcmVwb3NpdG9yeSUyMiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnVybCUyMiUzQSUyMCUyMmdoY3IuaW8lMkZodWdnaW5nZmFjZSUyRnRleHQtZ2VuZXJhdGlvbi1pbmZlcmVuY2UlM0ExLjEuMCUyMiUyQyUwQSUyMCUyMCUyMCUyMCU3RCUyQyUwQSk=",highlighted:`<span class="hljs-comment"># TGI에서 Zephyr-7b-beta를 실행하는 추론 엔드포인트 시작하기</span> | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_inference_endpoint | |
| <span class="hljs-meta">>>> </span>endpoint = create_inference_endpoint( | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"aws-zephyr-7b-beta-0486"</span>, | |
| <span class="hljs-meta">... </span> repository=<span class="hljs-string">"HuggingFaceH4/zephyr-7b-beta"</span>, | |
| <span class="hljs-meta">... </span> framework=<span class="hljs-string">"pytorch"</span>, | |
| <span class="hljs-meta">... </span> task=<span class="hljs-string">"text-generation"</span>, | |
| <span class="hljs-meta">... </span> accelerator=<span class="hljs-string">"gpu"</span>, | |
| <span class="hljs-meta">... </span> vendor=<span class="hljs-string">"aws"</span>, | |
| <span class="hljs-meta">... </span> region=<span class="hljs-string">"us-east-1"</span>, | |
| <span class="hljs-meta">... </span> <span class="hljs-built_in">type</span>=<span class="hljs-string">"protected"</span>, | |
| <span class="hljs-meta">... </span> instance_size=<span class="hljs-string">"x1"</span>, | |
| <span class="hljs-meta">... </span> instance_type=<span class="hljs-string">"nvidia-a10g"</span>, | |
| <span class="hljs-meta">... </span> custom_image={ | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"health_route"</span>: <span class="hljs-string">"/health"</span>, | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"env"</span>: { | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"MAX_BATCH_PREFILL_TOKENS"</span>: <span class="hljs-string">"2048"</span>, | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"MAX_INPUT_LENGTH"</span>: <span class="hljs-string">"1024"</span>, | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"MAX_TOTAL_TOKENS"</span>: <span class="hljs-string">"1512"</span>, | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"MODEL_ID"</span>: <span class="hljs-string">"/repository"</span> | |
| <span class="hljs-meta">... </span> }, | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"url"</span>: <span class="hljs-string">"ghcr.io/huggingface/text-generation-inference:1.1.0"</span>, | |
| <span class="hljs-meta">... </span> }, | |
| <span class="hljs-meta">... </span>)`,wrap:!1}}),A=new d({props:{title:"기존 추론 엔드포인트 가져오기 또는 리스트 조회",local:"get-or-list-existing-inference-endpoints",headingTag:"h3"}}),L=new m({props:{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMGdldF9pbmZlcmVuY2VfZW5kcG9pbnQlMkMlMjBsaXN0X2luZmVyZW5jZV9lbmRwb2ludHMlMEElMEFnZXRfaW5mZXJlbmNlX2VuZHBvaW50KCUyMm15LWVuZHBvaW50LW5hbWUlMjIpJTBBJTBBbGlzdF9pbmZlcmVuY2VfZW5kcG9pbnRzKG5hbWVzcGFjZSUzRCUyMmh1Z2dpbmdmYWNlJTIyKSUwQSUwQWxpc3RfaW5mZXJlbmNlX2VuZHBvaW50cyhuYW1lc3BhY2UlM0QlMjIqJTIyKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> get_inference_endpoint, list_inference_endpoints | |
| <span class="hljs-comment"># 엔드포인트 개체 가져오기</span> | |
| <span class="hljs-meta">>>> </span>get_inference_endpoint(<span class="hljs-string">"my-endpoint-name"</span>) | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>) | |
| <span class="hljs-comment"># 조직의 모든 추론 엔드포인트 나열</span> | |
| <span class="hljs-meta">>>> </span>list_inference_endpoints(namespace=<span class="hljs-string">"huggingface"</span>) | |
| [InferenceEndpoint(name=<span class="hljs-string">'aws-starchat-beta'</span>, namespace=<span class="hljs-string">'huggingface'</span>, repository=<span class="hljs-string">'HuggingFaceH4/starchat-beta'</span>, status=<span class="hljs-string">'paused'</span>, url=<span class="hljs-literal">None</span>), ...] | |
| <span class="hljs-comment"># 사용자가 속해있는 모든 조직의 엔드포인트 나열</span> | |
| <span class="hljs-meta">>>> </span>list_inference_endpoints(namespace=<span class="hljs-string">"*"</span>) | |
| [InferenceEndpoint(name=<span class="hljs-string">'aws-starchat-beta'</span>, namespace=<span class="hljs-string">'huggingface'</span>, repository=<span class="hljs-string">'HuggingFaceH4/starchat-beta'</span>, status=<span class="hljs-string">'paused'</span>, url=<span class="hljs-literal">None</span>), ...]`,wrap:!1}}),V=new d({props:{title:"배포 상태 확인",local:"check-deployment-status",headingTag:"h2"}}),G=new m({props:{code:"ZW5kcG9pbnQ=",highlighted:`<span class="hljs-meta">>>> </span>endpoint | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'running'</span>, url=<span class="hljs-string">'https://jpj7k2q4j805b727.us-east-1.aws.endpoints.huggingface.cloud'</span>)`,wrap:!1}}),Y=new m({props:{code:"ZW5kcG9pbnQuZmV0Y2goKQ==",highlighted:`<span class="hljs-meta">>>> </span>endpoint.fetch() | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>)`,wrap:!1}}),z=new m({props:{code:"ZW5kcG9pbnQlMEElMEFlbmRwb2ludC53YWl0KHRpbWVvdXQlM0QxMCklMEElMEFlbmRwb2ludC53YWl0KCk=",highlighted:`<span class="hljs-comment"># 엔드포인트 보류</span> | |
| <span class="hljs-meta">>>> </span>endpoint | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>) | |
| <span class="hljs-comment"># 10초 대기 => InferenceEndpointTimeoutError 발생</span> | |
| <span class="hljs-meta">>>> </span>endpoint.wait(timeout=<span class="hljs-number">10</span>) | |
| <span class="hljs-keyword">raise</span> InferenceEndpointTimeoutError(<span class="hljs-string">"Timeout while waiting for Inference Endpoint to be deployed."</span>) | |
| huggingface_hub._inference_endpoints.InferenceEndpointTimeoutError: Timeout <span class="hljs-keyword">while</span> waiting <span class="hljs-keyword">for</span> Inference Endpoint to be deployed. | |
| <span class="hljs-comment"># 추가 대기</span> | |
| <span class="hljs-meta">>>> </span>endpoint.wait() | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'running'</span>, url=<span class="hljs-string">'https://jpj7k2q4j805b727.us-east-1.aws.endpoints.huggingface.cloud'</span>)`,wrap:!1}}),F=new d({props:{title:"추론 실행",local:"run-inference",headingTag:"h2"}}),D=new m({props:{code:"ZW5kcG9pbnQuY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMjJJJTIwYW0lMjIpJTBBJTBBYXdhaXQlMjBlbmRwb2ludC5hc3luY19jbGllbnQudGV4dF9nZW5lcmF0aW9uKCUyMkklMjBhbSUyMik=",highlighted:`<span class="hljs-comment"># 텍스트 생성 작업 실행:</span> | |
| <span class="hljs-meta">>>> </span>endpoint.client.text_generation(<span class="hljs-string">"I am"</span>) | |
| <span class="hljs-string">' not a fan of the idea of a "big-budget" movie. I think it\\'s a'</span> | |
| <span class="hljs-comment"># 비동기 컨텍스트에서도 마찬가지로 실행:</span> | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">await</span> endpoint.async_client.text_generation(<span class="hljs-string">"I am"</span>)`,wrap:!1}}),ee=new m({props:{code:"ZW5kcG9pbnQuY2xpZW50",highlighted:'<span class="hljs-meta">>>> </span>endpoint.client\nhuggingface_hub._inference_endpoints.InferenceEndpointError: Cannot create a client <span class="hljs-keyword">for</span> this Inference Endpoint <span class="hljs-keyword">as</span> it <span class="hljs-keyword">is</span> <span class="hljs-keyword">not</span> yet deployed. Please wait <span class="hljs-keyword">for</span> the Inference Endpoint to be deployed using `endpoint.wait()` <span class="hljs-keyword">and</span> <span class="hljs-keyword">try</span> again.',wrap:!1}}),se=new d({props:{title:"라이프사이클 관리",local:"manage-lifecycle",headingTag:"h2"}}),ae=new d({props:{title:"일시 중지 또는 0으로 확장",local:"pause-or-scale-to-zero",headingTag:"h3"}}),pe=new m({props:{code:"ZW5kcG9pbnQucGF1c2UoKSUwQWVuZHBvaW50LnJlc3VtZSgpJTBBZW5kcG9pbnQud2FpdCgpLmNsaWVudC50ZXh0X2dlbmVyYXRpb24oLi4uKSUwQSUwQWVuZHBvaW50LnNjYWxlX3RvX3plcm8oKQ==",highlighted:`<span class="hljs-comment"># 엔드포인트 일시중지 및 재시작</span> | |
| <span class="hljs-meta">>>> </span>endpoint.pause() | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'paused'</span>, url=<span class="hljs-literal">None</span>) | |
| <span class="hljs-meta">>>> </span>endpoint.resume() | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>) | |
| <span class="hljs-meta">>>> </span>endpoint.wait().client.text_generation(...) | |
| ... | |
| <span class="hljs-comment"># 0으로 스케일링</span> | |
| <span class="hljs-meta">>>> </span>endpoint.scale_to_zero() | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2'</span>, status=<span class="hljs-string">'scaledToZero'</span>, url=<span class="hljs-string">'https://jpj7k2q4j805b727.us-east-1.aws.endpoints.huggingface.cloud'</span>) | |
| <span class="hljs-comment"># 엔드포인트는 'running'은 아니지만 URL�을 가지고 있으며 첫 번째 호출 시 다시 시작됩니다.</span>`,wrap:!1}}),ie=new d({props:{title:"모델 또는 하드웨어 요구 사항 업데이트",local:"update-model-or-hardware-requirements",headingTag:"h3"}}),re=new m({props:{code:"ZW5kcG9pbnQudXBkYXRlKHJlcG9zaXRvcnklM0QlMjJncHQyLWxhcmdlJTIyKSUwQSUwQWVuZHBvaW50LnVwZGF0ZShtaW5fcmVwbGljYSUzRDIlMkMlMjBtYXhfcmVwbGljYSUzRDYpJTBBJTBBZW5kcG9pbnQudXBkYXRlKGFjY2VsZXJhdG9yJTNEJTIyY3B1JTIyJTJDJTIwaW5zdGFuY2Vfc2l6ZSUzRCUyMng0JTIyJTJDJTIwaW5zdGFuY2VfdHlwZSUzRCUyMmludGVsLWljbCUyMik=",highlighted:`<span class="hljs-comment"># 타겟 모델 변경</span> | |
| <span class="hljs-meta">>>> </span>endpoint.update(repository=<span class="hljs-string">"gpt2-large"</span>) | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2-large'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>) | |
| <span class="hljs-comment"># 복제본 갯수 업데이트</span> | |
| <span class="hljs-meta">>>> </span>endpoint.update(min_replica=<span class="hljs-number">2</span>, max_replica=<span class="hljs-number">6</span>) | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2-large'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>) | |
| <span class="hljs-comment"># 더 큰 인스턴스로 업데이트</span> | |
| <span class="hljs-meta">>>> </span>endpoint.update(accelerator=<span class="hljs-string">"cpu"</span>, instance_size=<span class="hljs-string">"x4"</span>, instance_type=<span class="hljs-string">"intel-icl"</span>) | |
| InferenceEndpoint(name=<span class="hljs-string">'my-endpoint-name'</span>, namespace=<span class="hljs-string">'Wauplin'</span>, repository=<span class="hljs-string">'gpt2-large'</span>, status=<span class="hljs-string">'pending'</span>, url=<span class="hljs-literal">None</span>)`,wrap:!1}}),ge=new d({props:{title:"엔드포인트 삭제",local:"delete-the-endpoint",headingTag:"h3"}}),he=new d({props:{title:"엔드 투 엔드 예제 an-end-to-end-example",local:"엔드-투-엔드-예제-an-end-to-end-example",headingTag:"h2"}}),fe=new m({props:{code:"aW1wb3J0JTIwYXN5bmNpbyUwQWZyb20lMjBodWdnaW5nZmFjZV9odWIlMjBpbXBvcnQlMjBjcmVhdGVfaW5mZXJlbmNlX2VuZHBvaW50JTBBJTBBZW5kcG9pbnQlMjAlM0QlMjBjcmVhdGVfaW5mZXJlbmNlX2VuZHBvaW50KG5hbWUlM0QlMjJiYXRjaC1lbmRwb2ludCUyMiUyQy4uLikud2FpdCgpJTBBJTBBY2xpZW50JTIwJTNEJTIwZW5kcG9pbnQuY2xpZW50JTBBcmVzdWx0cyUyMCUzRCUyMCU1QmNsaWVudC50ZXh0X2dlbmVyYXRpb24oLi4uKSUyMGZvciUyMGpvYiUyMGluJTIwam9icyU1RCUwQSUwQWFzeW5jX2NsaWVudCUyMCUzRCUyMGVuZHBvaW50LmFzeW5jX2NsaWVudCUwQXJlc3VsdHMlMjAlM0QlMjBhc3luY2lvLmdhdGhlcigqJTVCYXN5bmNfY2xpZW50LnRleHRfZ2VuZXJhdGlvbiguLi4pJTIwZm9yJTIwam9iJTIwaW4lMjBqb2JzJTVEKSUwQSUwQWVuZHBvaW50LnBhdXNlKCk=",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> asyncio | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> create_inference_endpoint | |
| <span class="hljs-comment"># 엔드포인트 시작 + 초기화될 때까지 대기</span> | |
| <span class="hljs-meta">>>> </span>endpoint = create_inference_endpoint(name=<span class="hljs-string">"batch-endpoint"</span>,...).wait() | |
| <span class="hljs-comment"># 추론 실행</span> | |
| <span class="hljs-meta">>>> </span>client = endpoint.client | |
| <span class="hljs-meta">>>> </span>results = [client.text_generation(...) <span class="hljs-keyword">for</span> job <span class="hljs-keyword">in</span> jobs] | |
| <span class="hljs-comment"># 비동기 추론 실행</span> | |
| <span class="hljs-meta">>>> </span>async_client = endpoint.async_client | |
| <span class="hljs-meta">>>> </span>results = asyncio.gather(*[async_client.text_generation(...) <span class="hljs-keyword">for</span> job <span class="hljs-keyword">in</span> jobs]) | |
| <span class="hljs-comment"># 엔드포인트 중지</span> | |
| <span class="hljs-meta">>>> </span>endpoint.pause()`,wrap:!1}}),de=new m({props:{code:"aW1wb3J0JTIwYXN5bmNpbyUwQWZyb20lMjBodWdnaW5nZmFjZV9odWIlMjBpbXBvcnQlMjBnZXRfaW5mZXJlbmNlX2VuZHBvaW50JTBBJTBBZW5kcG9pbnQlMjAlM0QlMjBnZXRfaW5mZXJlbmNlX2VuZHBvaW50KCUyMmJhdGNoLWVuZHBvaW50JTIyKS5yZXN1bWUoKS53YWl0KCklMEElMEFhc3luY19jbGllbnQlMjAlM0QlMjBlbmRwb2ludC5hc3luY19jbGllbnQlMEFyZXN1bHRzJTIwJTNEJTIwYXN5bmNpby5nYXRoZXIoKiU1QmFzeW5jX2NsaWVudC50ZXh0X2dlbmVyYXRpb24oLi4uKSUyMGZvciUyMGpvYiUyMGluJTIwam9icyU1RCklMEElMEFlbmRwb2ludC5wYXVzZSgp",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> asyncio | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> get_inference_endpoint | |
| <span class="hljs-comment"># 엔드포인트 가져오기 + 초기화될 때까지 대기</span> | |
| <span class="hljs-meta">>>> </span>endpoint = get_inference_endpoint(<span class="hljs-string">"batch-endpoint"</span>).resume().wait() | |
| <span class="hljs-comment"># 추론 실행</span> | |
| <span class="hljs-meta">>>> </span>async_client = endpoint.async_client | |
| <span class="hljs-meta">>>> </span>results = asyncio.gather(*[async_client.text_generation(...) <span class="hljs-keyword">for</span> job <span class="hljs-keyword">in</span> jobs]) | |
| <span class="hljs-comment"># 엔드포인트 중지</span> | |
| <span class="hljs-meta">>>> </span>endpoint.pause()`,wrap:!1}}),je=new rs({props:{source:"https://github.com/huggingface/huggingface_hub/blob/main/docs/source/ko/guides/inference_endpoints.md"}}),{c(){j=p("meta"),be=a(),Me=p("p"),Ue=a(),r(b.$$.fragment),xe=a(),r(U.$$.fragment),$e=a(),x=p("p"),x.innerHTML=Tn,we=a(),$=p("p"),$.innerHTML=kn,Te=a(),r(w.$$.fragment),ke=a(),T=p("p"),T.innerHTML=Cn,Ce=a(),r(k.$$.fragment),Ie=a(),C=p("p"),C.innerHTML=In,Je=a(),I=p("p"),I.innerHTML=Jn,Ee=a(),r(J.$$.fragment),Ze=a(),E=p("p"),E.innerHTML=En,We=a(),Z=p("p"),Z.innerHTML=Zn,qe=a(),W=p("p"),W.innerHTML=Wn,ve=a(),r(q.$$.fragment),He=a(),v=p("p"),v.innerHTML=qn,Qe=a(),r(H.$$.fragment),Ae=a(),Q=p("p"),Q.innerHTML=vn,Be=a(),r(A.$$.fragment),Le=a(),B=p("p"),B.innerHTML=Hn,Ve=a(),r(L.$$.fragment),Xe=a(),r(V.$$.fragment),Ge=a(),X=p("p"),X.innerHTML=Qn,Ne=a(),r(G.$$.fragment),Ye=a(),N=p("p"),N.innerHTML=An,Re=a(),r(Y.$$.fragment),ze=a(),R=p("p"),R.innerHTML=Bn,Se=a(),r(z.$$.fragment),Fe=a(),S=p("p"),S.innerHTML=Ln,Pe=a(),r(F.$$.fragment),Ke=a(),P=p("p"),P.textContent=Vn,De=a(),K=p("p"),K.innerHTML=Xn,Oe=a(),r(D.$$.fragment),en=a(),O=p("p"),O.innerHTML=Gn,nn=a(),r(ee.$$.fragment),sn=a(),ne=p("p"),ne.innerHTML=Nn,tn=a(),r(se.$$.fragment),an=a(),te=p("p"),te.textContent=Yn,ln=a(),M=p("blockquote"),M.innerHTML=Rn,pn=a(),r(ae.$$.fragment),cn=a(),le=p("p"),le.innerHTML=zn,rn=a(),_=p("blockquote"),_.innerHTML=Sn,gn=a(),r(pe.$$.fragment),on=a(),r(ie.$$.fragment),hn=a(),ce=p("p"),ce.innerHTML=Fn,un=a(),r(re.$$.fragment),fn=a(),r(ge.$$.fragment),mn=a(),oe=p("p"),oe.innerHTML=Pn,dn=a(),y=p("blockquote"),y.innerHTML=Kn,jn=a(),r(he.$$.fragment),Mn=a(),ue=p("p"),ue.textContent=Dn,_n=a(),r(fe.$$.fragment),yn=a(),me=p("p"),me.textContent=On,bn=a(),r(de.$$.fragment),Un=a(),r(je.$$.fragment),xn=a(),_e=p("p"),this.h()},l(e){const n=ps("svelte-u9bgzb",document.head);j=i(n,"META",{name:!0,content:!0}),n.forEach(s),be=l(e),Me=i(e,"P",{}),es(Me).forEach(s),Ue=l(e),g(b.$$.fragment,e),xe=l(e),g(U.$$.fragment,e),$e=l(e),x=i(e,"P",{"data-svelte-h":!0}),c(x)!=="svelte-ah66md"&&(x.innerHTML=Tn),we=l(e),$=i(e,"P",{"data-svelte-h":!0}),c($)!=="svelte-1ql8zue"&&($.innerHTML=kn),Te=l(e),g(w.$$.fragment,e),ke=l(e),T=i(e,"P",{"data-svelte-h":!0}),c(T)!=="svelte-116xdgf"&&(T.innerHTML=Cn),Ce=l(e),g(k.$$.fragment,e),Ie=l(e),C=i(e,"P",{"data-svelte-h":!0}),c(C)!=="svelte-1aqjns7"&&(C.innerHTML=In),Je=l(e),I=i(e,"P",{"data-svelte-h":!0}),c(I)!=="svelte-dhzr2x"&&(I.innerHTML=Jn),Ee=l(e),g(J.$$.fragment,e),Ze=l(e),E=i(e,"P",{"data-svelte-h":!0}),c(E)!=="svelte-qy7mei"&&(E.innerHTML=En),We=l(e),Z=i(e,"P",{"data-svelte-h":!0}),c(Z)!=="svelte-q97gnz"&&(Z.innerHTML=Zn),qe=l(e),W=i(e,"P",{"data-svelte-h":!0}),c(W)!=="svelte-1tajtyl"&&(W.innerHTML=Wn),ve=l(e),g(q.$$.fragment,e),He=l(e),v=i(e,"P",{"data-svelte-h":!0}),c(v)!=="svelte-52wlj1"&&(v.innerHTML=qn),Qe=l(e),g(H.$$.fragment,e),Ae=l(e),Q=i(e,"P",{"data-svelte-h":!0}),c(Q)!=="svelte-kvtuxg"&&(Q.innerHTML=vn),Be=l(e),g(A.$$.fragment,e),Le=l(e),B=i(e,"P",{"data-svelte-h":!0}),c(B)!=="svelte-16wuhry"&&(B.innerHTML=Hn),Ve=l(e),g(L.$$.fragment,e),Xe=l(e),g(V.$$.fragment,e),Ge=l(e),X=i(e,"P",{"data-svelte-h":!0}),c(X)!=="svelte-7d50as"&&(X.innerHTML=Qn),Ne=l(e),g(G.$$.fragment,e),Ye=l(e),N=i(e,"P",{"data-svelte-h":!0}),c(N)!=="svelte-14ibg3e"&&(N.innerHTML=An),Re=l(e),g(Y.$$.fragment,e),ze=l(e),R=i(e,"P",{"data-svelte-h":!0}),c(R)!=="svelte-1dgigfy"&&(R.innerHTML=Bn),Se=l(e),g(z.$$.fragment,e),Fe=l(e),S=i(e,"P",{"data-svelte-h":!0}),c(S)!=="svelte-1su15dj"&&(S.innerHTML=Ln),Pe=l(e),g(F.$$.fragment,e),Ke=l(e),P=i(e,"P",{"data-svelte-h":!0}),c(P)!=="svelte-mbyh0u"&&(P.textContent=Vn),De=l(e),K=i(e,"P",{"data-svelte-h":!0}),c(K)!=="svelte-en27dt"&&(K.innerHTML=Xn),Oe=l(e),g(D.$$.fragment,e),en=l(e),O=i(e,"P",{"data-svelte-h":!0}),c(O)!=="svelte-1h5l0zx"&&(O.innerHTML=Gn),nn=l(e),g(ee.$$.fragment,e),sn=l(e),ne=i(e,"P",{"data-svelte-h":!0}),c(ne)!=="svelte-1enrs11"&&(ne.innerHTML=Nn),tn=l(e),g(se.$$.fragment,e),an=l(e),te=i(e,"P",{"data-svelte-h":!0}),c(te)!=="svelte-d4vepm"&&(te.textContent=Yn),ln=l(e),M=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),c(M)!=="svelte-1dk19sz"&&(M.innerHTML=Rn),pn=l(e),g(ae.$$.fragment,e),cn=l(e),le=i(e,"P",{"data-svelte-h":!0}),c(le)!=="svelte-ldzdbz"&&(le.innerHTML=zn),rn=l(e),_=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),c(_)!=="svelte-19kbo75"&&(_.innerHTML=Sn),gn=l(e),g(pe.$$.fragment,e),on=l(e),g(ie.$$.fragment,e),hn=l(e),ce=i(e,"P",{"data-svelte-h":!0}),c(ce)!=="svelte-fm51kn"&&(ce.innerHTML=Fn),un=l(e),g(re.$$.fragment,e),fn=l(e),g(ge.$$.fragment,e),mn=l(e),oe=i(e,"P",{"data-svelte-h":!0}),c(oe)!=="svelte-16aox72"&&(oe.innerHTML=Pn),dn=l(e),y=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),c(y)!=="svelte-1i16qbl"&&(y.innerHTML=Kn),jn=l(e),g(he.$$.fragment,e),Mn=l(e),ue=i(e,"P",{"data-svelte-h":!0}),c(ue)!=="svelte-4lg1fr"&&(ue.textContent=Dn),_n=l(e),g(fe.$$.fragment,e),yn=l(e),me=i(e,"P",{"data-svelte-h":!0}),c(me)!=="svelte-5upsam"&&(me.textContent=On),bn=l(e),g(de.$$.fragment,e),Un=l(e),g(je.$$.fragment,e),xn=l(e),_e=i(e,"P",{}),es(_e).forEach(s),this.h()},h(){ye(j,"name","hf:doc:metadata"),ye(j,"content",os),ye(M,"class","tip"),ye(_,"class","tip"),ye(y,"class","warning")},m(e,n){is(document.head,j),t(e,be,n),t(e,Me,n),t(e,Ue,n),o(b,e,n),t(e,xe,n),o(U,e,n),t(e,$e,n),t(e,x,n),t(e,we,n),t(e,$,n),t(e,Te,n),o(w,e,n),t(e,ke,n),t(e,T,n),t(e,Ce,n),o(k,e,n),t(e,Ie,n),t(e,C,n),t(e,Je,n),t(e,I,n),t(e,Ee,n),o(J,e,n),t(e,Ze,n),t(e,E,n),t(e,We,n),t(e,Z,n),t(e,qe,n),t(e,W,n),t(e,ve,n),o(q,e,n),t(e,He,n),t(e,v,n),t(e,Qe,n),o(H,e,n),t(e,Ae,n),t(e,Q,n),t(e,Be,n),o(A,e,n),t(e,Le,n),t(e,B,n),t(e,Ve,n),o(L,e,n),t(e,Xe,n),o(V,e,n),t(e,Ge,n),t(e,X,n),t(e,Ne,n),o(G,e,n),t(e,Ye,n),t(e,N,n),t(e,Re,n),o(Y,e,n),t(e,ze,n),t(e,R,n),t(e,Se,n),o(z,e,n),t(e,Fe,n),t(e,S,n),t(e,Pe,n),o(F,e,n),t(e,Ke,n),t(e,P,n),t(e,De,n),t(e,K,n),t(e,Oe,n),o(D,e,n),t(e,en,n),t(e,O,n),t(e,nn,n),o(ee,e,n),t(e,sn,n),t(e,ne,n),t(e,tn,n),o(se,e,n),t(e,an,n),t(e,te,n),t(e,ln,n),t(e,M,n),t(e,pn,n),o(ae,e,n),t(e,cn,n),t(e,le,n),t(e,rn,n),t(e,_,n),t(e,gn,n),o(pe,e,n),t(e,on,n),o(ie,e,n),t(e,hn,n),t(e,ce,n),t(e,un,n),o(re,e,n),t(e,fn,n),o(ge,e,n),t(e,mn,n),t(e,oe,n),t(e,dn,n),t(e,y,n),t(e,jn,n),o(he,e,n),t(e,Mn,n),t(e,ue,n),t(e,_n,n),o(fe,e,n),t(e,yn,n),t(e,me,n),t(e,bn,n),o(de,e,n),t(e,Un,n),o(je,e,n),t(e,xn,n),t(e,_e,n),$n=!0},p:ss,i(e){$n||(h(b.$$.fragment,e),h(U.$$.fragment,e),h(w.$$.fragment,e),h(k.$$.fragment,e),h(J.$$.fragment,e),h(q.$$.fragment,e),h(H.$$.fragment,e),h(A.$$.fragment,e),h(L.$$.fragment,e),h(V.$$.fragment,e),h(G.$$.fragment,e),h(Y.$$.fragment,e),h(z.$$.fragment,e),h(F.$$.fragment,e),h(D.$$.fragment,e),h(ee.$$.fragment,e),h(se.$$.fragment,e),h(ae.$$.fragment,e),h(pe.$$.fragment,e),h(ie.$$.fragment,e),h(re.$$.fragment,e),h(ge.$$.fragment,e),h(he.$$.fragment,e),h(fe.$$.fragment,e),h(de.$$.fragment,e),h(je.$$.fragment,e),$n=!0)},o(e){u(b.$$.fragment,e),u(U.$$.fragment,e),u(w.$$.fragment,e),u(k.$$.fragment,e),u(J.$$.fragment,e),u(q.$$.fragment,e),u(H.$$.fragment,e),u(A.$$.fragment,e),u(L.$$.fragment,e),u(V.$$.fragment,e),u(G.$$.fragment,e),u(Y.$$.fragment,e),u(z.$$.fragment,e),u(F.$$.fragment,e),u(D.$$.fragment,e),u(ee.$$.fragment,e),u(se.$$.fragment,e),u(ae.$$.fragment,e),u(pe.$$.fragment,e),u(ie.$$.fragment,e),u(re.$$.fragment,e),u(ge.$$.fragment,e),u(he.$$.fragment,e),u(fe.$$.fragment,e),u(de.$$.fragment,e),u(je.$$.fragment,e),$n=!1},d(e){e&&(s(be),s(Me),s(Ue),s(xe),s($e),s(x),s(we),s($),s(Te),s(ke),s(T),s(Ce),s(Ie),s(C),s(Je),s(I),s(Ee),s(Ze),s(E),s(We),s(Z),s(qe),s(W),s(ve),s(He),s(v),s(Qe),s(Ae),s(Q),s(Be),s(Le),s(B),s(Ve),s(Xe),s(Ge),s(X),s(Ne),s(Ye),s(N),s(Re),s(ze),s(R),s(Se),s(Fe),s(S),s(Pe),s(Ke),s(P),s(De),s(K),s(Oe),s(en),s(O),s(nn),s(sn),s(ne),s(tn),s(an),s(te),s(ln),s(M),s(pn),s(cn),s(le),s(rn),s(_),s(gn),s(on),s(hn),s(ce),s(un),s(fn),s(mn),s(oe),s(dn),s(y),s(jn),s(Mn),s(ue),s(_n),s(yn),s(me),s(bn),s(Un),s(xn),s(_e)),s(j),f(b,e),f(U,e),f(w,e),f(k,e),f(J,e),f(q,e),f(H,e),f(A,e),f(L,e),f(V,e),f(G,e),f(Y,e),f(z,e),f(F,e),f(D,e),f(ee,e),f(se,e),f(ae,e),f(pe,e),f(ie,e),f(re,e),f(ge,e),f(he,e),f(fe,e),f(de,e),f(je,e)}}}const os='{"title":"추론 엔드포인트","local":"inference-endpoints","sections":[{"title":"추론 엔드포인트 생성","local":"create-an-inference-endpoint","sections":[{"title":"사용자 정의 이미지 사용","local":"using-a-custom-image","sections":[],"depth":4},{"title":"기존 추론 엔드포인트 가져오기 또는 리스트 조회","local":"get-or-list-existing-inference-endpoints","sections":[],"depth":3}],"depth":2},{"title":"배포 상태 확인","local":"check-deployment-status","sections":[],"depth":2},{"title":"추론 실행","local":"run-inference","sections":[],"depth":2},{"title":"라이프사이클 관리","local":"manage-lifecycle","sections":[{"title":"일시 중지 또는 0으로 확장","local":"pause-or-scale-to-zero","sections":[],"depth":3},{"title":"모델 또는 하드웨어 요구 사항 업데이트","local":"update-model-or-hardware-requirements","sections":[],"depth":3},{"title":"엔드포인트 삭제","local":"delete-the-endpoint","sections":[],"depth":3}],"depth":2},{"title":"엔드 투 엔드 예제 an-end-to-end-example","local":"엔드-투-엔드-예제-an-end-to-end-example","sections":[],"depth":2}],"depth":1}';function hs(wn){return ts(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class js extends as{constructor(j){super(),ls(this,j,hs,gs,ns,{})}}export{js as component}; | |
Xet Storage Details
- Size:
- 44.6 kB
- Xet hash:
- 37861ac3a12423ae62afc15a44866bcedb5853a3fef72ee3a8b402fb4ddd7c04
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.