Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Git 대 HTTP 패러다임","local":"git-대-http-패러다임","sections":[{"title":"Repository: 역사적인 Git 기반 접근 방식","local":"repository-역사적인-git-기반-접근-방식","sections":[],"depth":2},{"title":"HfApi: 유연하고 편리한 HTTP 클라이언트","local":"hfapi-유연하고-편리한-http-클라이언트","sections":[],"depth":2},{"title":"무엇을 사용해야 하나요? 언제 사용하나요?","local":"무엇을-사용해야-하나요-언제-사용하나요","sections":[],"depth":2}],"depth":1}"> | |
| <link href="/docs/huggingface_hub/main/ko/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/entry/start.f80f7f76.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/scheduler.6062bdaf.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/singletons.92601c89.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/paths.38a9f07a.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/entry/app.b2096ed9.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/index.4bca734e.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/nodes/0.aa71add6.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/each.e59479a4.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/nodes/2.09d81e70.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/Tip.b9ac1f03.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/ko/_app/immutable/chunks/EditOnGithub.74ab2baa.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{"title":"Git 대 HTTP 패러다임","local":"git-대-http-패러다임","sections":[{"title":"Repository: 역사적인 Git 기반 접근 방식","local":"repository-역사적인-git-기반-접근-방식","sections":[],"depth":2},{"title":"HfApi: 유연하고 편리한 HTTP 클라이언트","local":"hfapi-유연하고-편리한-http-클라이언트","sections":[],"depth":2},{"title":"무엇을 사용해야 하나요? 언제 사용하나요?","local":"무엇을-사용해야-하나요-언제-사용하나요","sections":[],"depth":2}],"depth":1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="git-대-http-패러다임" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#git-대-http-패러다임"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Git 대 HTTP 패러다임</span></h1> <p data-svelte-h="svelte-piflqw"><code>huggingface_hub</code> 라이브러리는 git 기반의 저장소(Models, Datasets 또는 Spaces)로 구성된 Hugging Face Hub과 상호 작용하기 위한 라이브러리입니다. | |
| <code>huggingface_hub</code>를 사용하여 Hub에 접근하는 방법은 크게 두 가지입니다.</p> <p data-svelte-h="svelte-rwtu7v">첫 번째 접근 방식인 소위 “git 기반” 접근 방식은 <a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a> 클래스가 주도합니다. | |
| 이 방법은 허브와 상호 작용하도록 특별히 설계된 추가 기능이 있는 <code>git</code> 명령에 랩퍼를 사용합니다. | |
| 두 번째 방법은 “HTTP 기반” 접근 방식이며, <a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a> 클라이언트를 사용하여 HTTP 요청을 수행합니다. | |
| 각 방법의 장단점을 살펴보겠습니다.</p> <h2 class="relative group"><a id="repository-역사적인-git-기반-접근-방식" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#repository-역사적인-git-기반-접근-방식"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Repository: 역사적인 Git 기반 접근 방식</span></h2> <p data-svelte-h="svelte-1uw3yrn">먼저, <code>huggingface_hub</code>는 주로 <a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a> 클래스를 기반으로 구축되었습니다. | |
| 이 클래스는 <code>"git add"</code>, <code>"git commit"</code>, <code>"git push"</code>, <code>"git tag"</code>, <code>"git checkout"</code> 등과 같은 일반적인 <code>git</code> 명령에 대한 Python 랩퍼를 제공합니다.</p> <p data-svelte-h="svelte-14e9kdh">이 라이브러리는 머신러닝 저장소에서 자주 사용되는 큰 파일을 추적하고 자격 증명을 설정하는 데 도움이 됩니다. | |
| 또한, 이 라이브러리는 백그라운드에서 메소드를 실행할 수 있어, 훈련 중에 데이터를 업로드할 때 유용합니다.</p> <p data-svelte-h="svelte-1dx5y3s">로컬 머신에 전체 저장소의 로컬 복사본을 유지할 수 있다는 것은 <a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a>를 사용하는 가장 큰 장점입니다. | |
| 하지만 동시에 로컬 복사본을 지속적으로 업데이트하고 유지해야 한다는 단점이 될 수도 있습니다. | |
| 이는 각 개발자가 자체 로컬 복사본을 유지하고 기능을 개발할 때 변경 사항을 push하는 전통적인 소프트웨어 개발과 유사합니다. | |
| 그러나 머신러닝의 경우, 사용자가 전체 저장소를 복제할 필요 없이 추론을 위해 가중치만 다운로드하거나 가중치를 한 형식에서 다른 형식으로 변환하기만 하면 되기 때문에 이런 방식이 항상 필요한 것은 아닙니다.</p> <div class="course-tip course-tip-orange bg-gradient-to-br dark:bg-gradient-to-r before:border-orange-500 dark:before:border-orange-800 from-orange-50 dark:from-gray-900 to-white dark:to-gray-950 border border-orange-50 text-orange-700 dark:text-gray-400"><p data-svelte-h="svelte-i5dj7j"><a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a>는 지원이 중단될 예정이므로 HTTP 기반 대안을 사용하는 것을 권장합니다. 기존 코드에서 널리 사용되기 때문에 <a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a>의 완전한 제거는 릴리스 <code>v1.0</code>에서 이루어질 예정입니다.</p></div> <h2 class="relative group"><a id="hfapi-유연하고-편리한-http-클라이언트" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#hfapi-유연하고-편리한-http-클라이언트"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>HfApi: 유연하고 편리한 HTTP 클라이언트</span></h2> <p data-svelte-h="svelte-14i9bgq"><a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a> 클래스는 특히 큰 모델이나 데이터셋을 처리할 때 유지하기 어려운 로컬 git 저장소의 대안으로 개발되었습니다. | |
| <a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a> 클래스는 파일 다운로드 및 push, 브랜치 및 태그 생성과 같은 git 기반 접근 방식과 동일한 기능을 제공하지만, 동기화 상태를 유지해야 하는 로컬 폴더가 필요하지 않습니다.</p> <p data-svelte-h="svelte-yt3r3m"><a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a> 클래스는 <code>git</code>이 제공하는 기능 외에도 추가적인 기능을 제공합니다. | |
| 저장소를 관리하고, 효율적인 재사용을 위해 캐싱을 사용하여 파일을 다운로드하고, Hub에서 저장소 및 메타데이터를 검색하고, 토론, PR 및 코멘트와 같은 커뮤니티 기능에 접근하고, Spaces 하드웨어 및 시크릿을 구성할 수 있습니다.</p> <h2 class="relative group"><a id="무엇을-사용해야-하나요-언제-사용하나요" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#무엇을-사용해야-하나요-언제-사용하나요"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>무엇을 사용해야 하나요? 언제 사용하나요?</span></h2> <p data-svelte-h="svelte-y8v9pj">전반적으로, <strong>HTTP 기반 접근 방식은 모든 경우에</strong> <code>huggingface_hub</code>를 사용하는 것이 좋습니다. | |
| <a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a>를 사용하면 변경 사항을 pull하고 push하고, PR, 태그 및 브랜치로 작업하고, 토론과 상호 작용하는 등의 작업을 할 수 있습니다. | |
| <code>0.16</code> 릴리스부터는 <a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a> 클래스의 마지막 주요 장점이었던 http 기반 메소드도 백그라운드에서 실행할 수 있습니다.</p> <p data-svelte-h="svelte-qcl60c">그러나 모든 git 명령이 <a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a>를 통해 사용 가능한 것은 아닙니다. 일부는 구현되지 않을 수도 있지만, 저희는 항상 개선하고 격차를 줄이기 위해 노력하고 있습니다. | |
| 사용 사례에 해당되지 않는 경우, <a href="https://github.com/huggingface/huggingface_hub" rel="nofollow">Github에서 이슈</a>를 개설해 주세요! | |
| 사용자와 함께, 사용자를 위한 🤗 생태계를 구축하는 데 도움이 되는 피드백을 환영합니다.</p> <p data-svelte-h="svelte-ew6cv0">git 기반 <a href="/docs/huggingface_hub/main/ko/package_reference/repository#huggingface_hub.Repository">Repository</a>보다 http 기반 <a href="/docs/huggingface_hub/main/ko/package_reference/hf_api#huggingface_hub.HfApi">HfApi</a>를 선호한다고 해서 Hugging Face Hub에서 git 버전 관리가 바로 사라지는 것은 아닙니다. | |
| 워크플로우 상 합당하다면 언제든 로컬에서 <code>git</code> 명령을 사용할 수 있습니다.</p> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/huggingface_hub/blob/main/docs/source/ko/concepts/git_vs_http.md" target="_blank"><span data-svelte-h="svelte-1kd6by1"><</span> <span data-svelte-h="svelte-x0xyl0">></span> <span data-svelte-h="svelte-1dajgef"><span class="underline ml-1.5">Update</span> on GitHub</span></a> <p></p> | |
| <script> | |
| { | |
| __sveltekit_57bbwb = { | |
| assets: "/docs/huggingface_hub/main/ko", | |
| base: "/docs/huggingface_hub/main/ko", | |
| env: {} | |
| }; | |
| const element = document.currentScript.parentElement; | |
| const data = [null,null]; | |
| Promise.all([ | |
| import("/docs/huggingface_hub/main/ko/_app/immutable/entry/start.f80f7f76.js"), | |
| import("/docs/huggingface_hub/main/ko/_app/immutable/entry/app.b2096ed9.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 2], | |
| data, | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 15.1 kB
- Xet hash:
- 3b4f956109e60535b1c1885de7f5faf687978d75a77bd26eae207879ddb64c39
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.