Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Git ou HTTP?","local":"git-ou-http","sections":[{"title":"Repository: l’approche historique basée sur git","local":"repository-lapproche-historique-basée-sur-git","sections":[],"depth":2},{"title":"HfApi: Un client HTTP plus flexible","local":"hfapi-un-client-http-plus-flexible","sections":[],"depth":2},{"title":"Quelle méthode utiliser et quand ?","local":"quelle-méthode-utiliser-et-quand-","sections":[],"depth":2}],"depth":1}"> | |
| <link href="/docs/huggingface_hub/main/fr/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/entry/start.05a3ef6d.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/chunks/scheduler.b108d059.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/chunks/singletons.b0b671a5.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/chunks/paths.9bed4606.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/entry/app.fdbc8075.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/chunks/index.008de539.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/nodes/0.1d2b16b3.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/nodes/2.d18e261b.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/chunks/Tip.aeb15ab7.js"> | |
| <link rel="modulepreload" href="/docs/huggingface_hub/main/fr/_app/immutable/chunks/EditOnGithub.d1c48e3d.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{"title":"Git ou HTTP?","local":"git-ou-http","sections":[{"title":"Repository: l’approche historique basée sur git","local":"repository-lapproche-historique-basée-sur-git","sections":[],"depth":2},{"title":"HfApi: Un client HTTP plus flexible","local":"hfapi-un-client-http-plus-flexible","sections":[],"depth":2},{"title":"Quelle méthode utiliser et quand ?","local":"quelle-méthode-utiliser-et-quand-","sections":[],"depth":2}],"depth":1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="git-ou-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-ou-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 ou HTTP?</span></h1> <p data-svelte-h="svelte-14uu2vm"><code>huggingface_hub</code> est une librairie qui permet d’interagir avec le Hugging Face Hub, | |
| qui est une collection de dépots Git (modèles, datasets ou spaces). | |
| Il y a deux manières principales pour accéder au Hub en utilisant <code>huggingface_hub</code>.</p> <p data-svelte-h="svelte-1a5h7gd">La première approche, basée sur Git, appelée approche “git-based”, est rendue possible par la classe <code>Repository</code>. | |
| Cette méthode utilise un wrapper autour de la commande <code>git</code> avec des fonctionnalités supplémentaires conçues pour interagir avec le Hub. La deuxième option, appelée approche “HTTP-based” , consiste à faire des requêtes HTTP en utilisant le client <code>HfApi</code>. Examinons | |
| les avantages et les inconvénients de ces deux méthodes.</p> <h2 class="relative group"><a id="repository-lapproche-historique-basée-sur-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-lapproche-historique-basée-sur-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: l’approche historique basée sur git</span></h2> <p data-svelte-h="svelte-1td4ndg">Initialement, <code>huggingface_hub</code> était principalement construite autour de la classe <code>Repository</code>. Elle fournit des | |
| wrappers Python pour les commandes <code>git</code> usuelles, telles que <code>"git add"</code>, <code>"git commit"</code>, <code>"git push"</code>, | |
| <code>"git tag"</code>, <code>"git checkout"</code>, etc.</p> <p data-svelte-h="svelte-qd4ap1">Cette librairie permet aussi de gérer l’authentification et les fichiers volumineux, souvent présents dans les dépôts Git de machine learning. De plus, ses méthodes sont exécutables en arrière-plan, ce qui est utile pour upload des données durant l’entrainement d’un modèle.</p> <p data-svelte-h="svelte-18wnmr4">L’avantage principal de l’approche <code>Repository</code> est qu’elle permet de garder une | |
| copie en local du dépot Git sur votre machine. Cela peut aussi devenir un désavantage, | |
| car cette copie locale doit être mise à jour et maintenue constamment. C’est une méthode | |
| analogue au développement de logiciel classique où chaque développeur maintient sa propre copie locale | |
| et push ses changements lorsqu’il travaille sur une nouvelle fonctionnalité. | |
| Toutefois, dans le contexte du machine learning la taille des fichiers rend peu pertinente cette approche car | |
| les utilisateurs ont parfois besoin d’avoir | |
| uniquement les poids des modèles pour l’inférence ou de convertir ces poids d’un format à un autre sans avoir à cloner | |
| tout le dépôt.</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-p4w1lm"><code>Repository</code> est maintenant obsolète et remplacée par les alternatives basées sur des requêtes HTTP. Étant donné son adoption massive par les utilisateurs, | |
| la suppression complète de <code>Repository</code> ne sera faite que pour la version <code>v1.0</code>.</p></div> <h2 class="relative group"><a id="hfapi-un-client-http-plus-flexible" 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-un-client-http-plus-flexible"><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: Un client HTTP plus flexible</span></h2> <p data-svelte-h="svelte-142kxa4">La classe <code>HfApi</code> a été développée afin de fournir une alternative aux dépôts git locaux, | |
| qui peuvent être encombrant à maintenir, en particulier pour des modèles ou datasets volumineux. | |
| La classe <code>HfApi</code> offre les mêmes fonctionnalités que les approches basées sur Git, | |
| telles que le téléchargement et le push de fichiers ainsi que la création de branches et de tags, mais sans | |
| avoir besoin d’un fichier local qui doit être constamment synchronisé.</p> <p data-svelte-h="svelte-1mlifqm">En plus des fonctionnalités déjà fournies par <code>git</code>, La classe <code>HfApi</code> offre des fonctionnalités | |
| additionnelles, telles que la capacité à gérer des dépôts, le téléchargement des fichiers | |
| dans le cache (permettant une réutilisation), la recherche dans le Hub pour trouver | |
| des dépôts et des métadonnées, l’accès aux fonctionnalités communautaires telles que, les discussions, | |
| les pull requests et les commentaires.</p> <h2 class="relative group"><a id="quelle-méthode-utiliser-et-quand-" 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="#quelle-méthode-utiliser-et-quand-"><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>Quelle méthode utiliser et quand ?</span></h2> <p data-svelte-h="svelte-1hr4qmt">En général, <strong>l’approche HTTP est la méthode recommandée</strong> pour utiliser <code>huggingface_hub</code> <code>HfApi</code> permet de pull et push des changements, de travailler avec les pull requests, les tags et les branches, l’interaction avec les discussions | |
| et bien plus encore. Depuis la version <code>0.16</code>, les méthodes HTTP-based peuvent aussi être exécutées en arrière-plan, ce qui constituait le | |
| dernier gros avantage de la classe <code>Repository</code>.</p> <p data-svelte-h="svelte-wnzgjk">Toutefois, certaines commandes restent indisponibles en utilisant <code>HfApi</code>. | |
| Peut être que certaines ne le seront jamais, mais nous essayons toujours de réduire le fossé entre ces deux approches. | |
| Si votre cas d’usage n’est pas couvert, nous serions ravis de vous aider. Pour cela, ouvrez | |
| <a href="https://github.com/huggingface/huggingface_hub" rel="nofollow">une issue sur Github</a>! Nous écoutons tous les retours nous permettant de construire | |
| l’écosystème 🤗 avec les utilisateurs et pour les utilisateurs.</p> <p data-svelte-h="svelte-15p4mds">Cette préférence pour l’approche basée sur <code>HfApi</code> plutôt que <code>Repository</code> ne signifie pas que les dépôts stopperons d’être versionnés avec git sur le Hugging Face Hub. Il sera toujours possible d’utiliser les commandes <code>git</code> en local lorsque nécessaire.</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/fr/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_k9d2m7 = { | |
| assets: "/docs/huggingface_hub/main/fr", | |
| base: "/docs/huggingface_hub/main/fr", | |
| env: {} | |
| }; | |
| const element = document.currentScript.parentElement; | |
| const data = [null,null]; | |
| Promise.all([ | |
| import("/docs/huggingface_hub/main/fr/_app/immutable/entry/start.05a3ef6d.js"), | |
| import("/docs/huggingface_hub/main/fr/_app/immutable/entry/app.fdbc8075.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 2], | |
| data, | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 13.6 kB
- Xet hash:
- 835437d1b3d5c5ca4de45484a00bb7794e264dff1ef6c2267bff968d1537d51d
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.