Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Git vs. HTTP-Paradigma","local":"git-vs-http-paradigma","sections":[{"title":"Repository: Der historische git-basierte Ansatz","local":"repository-der-historische-git-basierte-ansatz","sections":[],"depth":2},{"title":"HfApi: Ein flexibler und praktischer HTTP-Client","local":"hfapi-ein-flexibler-und-praktischer-http-client","sections":[],"depth":2},{"title":"Was sollte ich verwenden ? Und wann ?","local":"was-sollte-ich-verwenden--und-wann-","sections":[],"depth":2}],"depth":1}"> | |
| <link href="/docs/huggingface_hub/main/de/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/entry/start.5b39c6b6.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/chunks/scheduler.b108d059.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/chunks/singletons.9188296f.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/chunks/paths.79af46a7.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/entry/app.3b646339.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/chunks/index.008de539.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/nodes/0.c400d672.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/nodes/2.c90555a7.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/de/_app/immutable/chunks/EditOnGithub.d1c48e3d.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{"title":"Git vs. HTTP-Paradigma","local":"git-vs-http-paradigma","sections":[{"title":"Repository: Der historische git-basierte Ansatz","local":"repository-der-historische-git-basierte-ansatz","sections":[],"depth":2},{"title":"HfApi: Ein flexibler und praktischer HTTP-Client","local":"hfapi-ein-flexibler-und-praktischer-http-client","sections":[],"depth":2},{"title":"Was sollte ich verwenden ? Und wann ?","local":"was-sollte-ich-verwenden--und-wann-","sections":[],"depth":2}],"depth":1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="git-vs-http-paradigma" 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-vs-http-paradigma"><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 vs. HTTP-Paradigma</span></h1> <p data-svelte-h="svelte-kjzwod">Die <code>huggingface_hub</code>-Bibliothek ist eine Bibliothek zur Interaktion mit dem Hugging Face | |
| Hub, einer Sammlung von auf Git basierenden Repositories (Modelle, Datensätze oder | |
| Spaces). Es gibt zwei Hauptmethoden, um auf den Hub mit <code>huggingface_hub</code> zuzugreifen.</p> <p data-svelte-h="svelte-hb0so0">Der erste Ansatz, der sogenannte “Git-basierte” Ansatz, wird von der <code>Repository</code> Klasse | |
| geleitet. Diese Methode verwendet einen Wrapper um den <code>git</code>-Befehl mit zusätzlichen | |
| Funktionen, die speziell für die Interaktion mit dem Hub entwickelt wurden. Die zweite | |
| Option, die als “HTTP-basierter” Ansatz bezeichnet wird, umfasst das Senden von | |
| HTTP-Anfragen mit dem <code>HfApi</code> Client. Schauen wir uns die Vor- und Nachteile jeder | |
| Methode an.</p> <h2 class="relative group"><a id="repository-der-historische-git-basierte-ansatz" 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-der-historische-git-basierte-ansatz"><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: Der historische git-basierte Ansatz</span></h2> <p data-svelte-h="svelte-19m9x00">Ursprünglich wurde <code>huggingface_hub</code> größtenteils um die <code>Repository</code> Klasse herum | |
| entwickelt. Sie bietet Python-Wrapper für gängige git-Befehle wie <code>"git add"</code>, <code>"git commit"</code>, | |
| <code>"git push"</code>, <code>"git tag"</code>, <code>"git checkout"</code> usw.</p> <p data-svelte-h="svelte-1ujbqa4">Die Bibliothek hilft auch beim Festlegen von Zugangsdaten und beim Tracking von großen | |
| Dateien, die in Machine-Learning-Repositories häufig verwendet werden. Darüber hinaus | |
| ermöglicht die Bibliothek das Ausführen ihrer Methoden im Hintergrund, was nützlich ist, | |
| um Daten während des Trainings hochzuladen.</p> <p data-svelte-h="svelte-1k6nrim">Der Hauptvorteil bei der Verwendung einer <code>Repository</code> besteht darin, dass Sie eine | |
| lokale Kopie des gesamten Repositorys auf Ihrem Computer pflegen können. Dies kann jedoch | |
| auch ein Nachteil sein, da es erfordert, diese lokale Kopie ständig zu aktualisieren und | |
| zu pflegen. Dies ähnelt der traditionellen Softwareentwicklung, bei der jeder Entwickler | |
| eine eigene lokale Kopie pflegt und Änderungen überträgt, wenn an einer Funktion | |
| gearbeitet wird. Im Kontext des Machine Learning ist dies jedoch nicht immer erforderlich, | |
| da Benutzer möglicherweise nur Gewichte für die Inferenz herunterladen oder Gewichte von | |
| einem Format in ein anderes konvertieren müssen, ohne das gesamte Repository zu klonen.</p> <h2 class="relative group"><a id="hfapi-ein-flexibler-und-praktischer-http-client" 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-ein-flexibler-und-praktischer-http-client"><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: Ein flexibler und praktischer HTTP-Client</span></h2> <p data-svelte-h="svelte-cynmrb">Die <code>HfApi</code> Klasse wurde entwickelt, um eine Alternative zu lokalen Git-Repositories | |
| bereitzustellen, die besonders bei der Arbeit mit großen Modellen oder Datensätzen | |
| umständlich zu pflegen sein können. Die <code>HfApi</code> Klasse bietet die gleiche Funktionalität | |
| wie git-basierte Ansätze, wie das Herunterladen und Hochladen von Dateien sowie das | |
| Erstellen von Branches und Tags, jedoch ohne die Notwendigkeit eines lokalen Ordners, der | |
| synchronisiert werden muss.</p> <p data-svelte-h="svelte-1bsqtes">Zusätzlich zu den bereits von <code>git</code> bereitgestellten Funktionen bietet die <code>HfApi</code> | |
| Klasse zusätzliche Features wie die Möglichkeit, Repositories zu verwalten, Dateien mit | |
| Caching für effiziente Wiederverwendung herunterzuladen, im Hub nach Repositories und | |
| Metadaten zu suchen, auf Community-Funktionen wie Diskussionen, Pull Requests und | |
| Kommentare zuzugreifen und Spaces-Hardware und Geheimnisse zu konfigurieren.</p> <h2 class="relative group"><a id="was-sollte-ich-verwenden--und-wann-" 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="#was-sollte-ich-verwenden--und-wann-"><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>Was sollte ich verwenden ? Und wann ?</span></h2> <p data-svelte-h="svelte-1taxrf4">Insgesamt ist der <strong>HTTP-basierte Ansatz in den meisten Fällen die empfohlene Methode zur Verwendung von</strong> <code>huggingface_hub</code>. Es gibt jedoch einige Situationen, in denen es vorteilhaft sein kann, | |
| eine lokale Git-Kopie (mit <code>Repository</code>) zu pflegen:</p> <ul data-svelte-h="svelte-1dcm1ok"><li>Wenn Sie ein Modell auf Ihrem Computer trainieren, kann es effizienter sein, einen | |
| herkömmlichen git-basierten Workflow zu verwenden und regelmäßige Updates zu pushen. | |
| <code>Repository</code> ist für diese Art von Situation mit seiner Fähigkeit zur Hintergrundarbeit optimiert.</li> <li>Wenn Sie große Dateien manuell bearbeiten müssen, ist <code>git</code> die beste Option, da es nur | |
| die Differenz an den Server sendet. Mit dem <code>HfAPI</code> Client wird die gesamte Datei bei | |
| jeder Bearbeitung hochgeladen. Beachten Sie jedoch, dass die meisten großen Dateien binär | |
| sind und daher sowieso nicht von Git-Diffs profitieren.</li></ul> <p data-svelte-h="svelte-1mxnr72">Nicht alle Git-Befehle sind über <code>HfApi</code> verfügbar. Einige werden vielleicht nie | |
| implementiert, aber wir bemühen uns ständig, die Lücken zu schließen und zu verbessern. | |
| Wenn Sie Ihren Anwendungsfall nicht abgedeckt sehen, öffnen Sie bitte <a href="https://github.com/huggingface/huggingface_hub" rel="nofollow">ein Issue auf | |
| Github</a>! Wir freuen uns über Feedback, um das 🤗-Ökosystem mit und für unsere Benutzer aufzubauen.</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/de/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_h162zg = { | |
| assets: "/docs/huggingface_hub/main/de", | |
| base: "/docs/huggingface_hub/main/de", | |
| env: {} | |
| }; | |
| const element = document.currentScript.parentElement; | |
| const data = [null,null]; | |
| Promise.all([ | |
| import("/docs/huggingface_hub/main/de/_app/immutable/entry/start.5b39c6b6.js"), | |
| import("/docs/huggingface_hub/main/de/_app/immutable/entry/app.3b646339.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 2], | |
| data, | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 13.1 kB
- Xet hash:
- 8275fb63b43789c9e419413cda94ae17ba66407f10bc106accb3ae4cc066b9b1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.