Hoe verbind je GitHub met Hugging Face?
Het automatisch importeren van je code van GitHub naar Hugging Face klinkt aantrekkelijk, maar het is verrassend complexer dan simpelweg op een knop klikken. Als je ooit hebt geprobeerd modellen of apps gesynchroniseerd te houden zonder alles te kopiëren en plakken, dan is dit een goede handleiding. Wanneer het werkt, krijg je een soepel proces: code wordt naar GitHub gepusht en je Space of model op Hugging Face wordt automatisch bijgewerkt. Maar in sommige gevallen kan het wat lastiger zijn, vooral als sleutels of mappen niet goed zijn ingesteld. Deze handleiding helpt je bij die stappen, zodat er niets misgaat.
Hoe je alles klaarzet om de magie te laten gebeuren
Genereer een toegangstoken voor Hugging Face.
Begin hier als je wilt dat je GitHub-repository wijzigingen rechtstreeks naar Hugging Face pusht. Het is een beetje vreemd, maar je hebt dit token nodig om te authenticeren zonder steeds je wachtwoord te hoeven invoeren. Zo doe je dat:
- Log in op je Hugging Face-account.
- Klik op je profielfoto en ga vervolgens naar Instellingen.
- Klik in de linkerzijbalk op Toegangstokens en vervolgens op Nieuw token aanmaken.
- Kies een logische naam, zoals ‘GitHub Automation’, en selecteer ‘schrijven’ als tokentype. Daarmee kan je GitHub-bot updates pushen (een alleen-lezen token werkt niet zoals je wilt).
- Klik op ‘Token aanmaken’ en kopieer het direct. Zodra u de pagina verlaat, krijgt u mogelijk geen tweede kans om het te bekijken. Bewaar het op een veilige plek, bijvoorbeeld in een wachtwoordmanager.
Waarom het handig is: Dit token is je bewijs van legitieme toegang zonder je wachtwoord prijs te geven. Het is van belang als je wilt dat je geautomatiseerde pipeline taken uitvoert zoals het pushen van code of het bijwerken van modellen.
Op sommige machines kan het token in eerste instantie mislukken, vooral als de machtigingen niet kloppen of het token niet correct is geplakt. Controleer dit dus goed voordat u verdergaat.
Bewaar het token als een GitHub-geheim.
Dit voorkomt dat je dat token in je code openbaar maakt. Geheimen moeten immers geheim blijven, toch?
- Ga naar je GitHub-repository en vervolgens naar Instellingen.
- Klik op Geheimen en variabelen > Acties.
- Klik op Nieuw repositorygeheim.
- Geef het de naam HF_TOKEN.(De exacte naam is belangrijk, dus verander deze niet.)
- Plak hier het ‘Hugging Face’-token dat je eerder hebt gekopieerd.
- Redden.
Een waarschuwing: als je een verkeerde naam opgeeft of een typefout maakt in je workflow, werkt het niet. Houd rekening met wat debuggen als het niet lukt.
Maak het GitHub Actions-workflowbestand aan.
Hier begint de magie van automatisering. Je vertelt GitHub: voer bij bepaalde triggers (zoals het pushen van code) een script uit dat synchroniseert met Hugging Face.
Maak in je repository een nieuwe map aan: .github/workflows/. Voeg daarin een bestand toe met de naam deploy.yml. Als je niet zeker weet hoe:
- Klik op “Bestand toevoegen” > “Nieuw bestand maken”.
- Geef het pad de naam .github/workflows/deploy.yml.
Hier is een eenvoudig codefragment dat u in dat bestand kunt plakken:
name: Sync to Hugging Face hub on: push: branches: [main] workflow_dispatch: jobs: sync-to-hf: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 with: fetch-depth: 0 lfs: true - name: Push to Hugging Face env: HF_TOKEN: ${{ secrets. HF_TOKEN }} run: git push https://
Zorg ervoor dat je <YOUR_HF_USERNAME> en <SPACE_NAME> correct verwisselt. Eerlijk gezegd ziet de URL er een beetje lelijk uit, maar het is de snelste manier om pushes te authenticeren zonder SSH-sleutels in te stellen (wat in sommige configuraties lastig kan zijn).Het is wel een beetje kwetsbaar: als je workspace-naam of gebruikersnaam verandert, moet de URL worden bijgewerkt. Bovendien kan de push in sommige configuraties mislukken als je tokenrechten niet kloppen of als je je git remote niet correct hebt ingesteld.
Creëer je eigen knuffel-gezichtsruimte.
Als je helemaal opnieuw begint, is het aanmaken van een Space vrij eenvoudig. Log in bij Hugging Face, klik op je profielfoto en vervolgens op Nieuwe Space. Geef de Space een naam, kies een SDK zoals Gradio of Streamlit en stel de Space in op Openbaar. De standaardbestanden doen er niet echt toe, omdat je GitHub-workflow ze toch zal overschrijven. Weet wel dat zodra de Space is ingesteld, je Python- of app-bestanden zich in die Space bevinden en klaar zijn om te worden bijgewerkt wanneer GitHub wijzigingen pusht.
Zet door, doe je best en zie hoe het allemaal gebeurt.
Sla nu het deploy.yml- bestand op en push het. Zodra het in de hoofdbranch staat, ga je naar het tabblad Acties en zie je wat er gebeurt. De workflow zou meteen moeten starten. Als het lukt, is je code nu live en wordt je Hugging Face Space automatisch bijgewerkt elke keer dat je naar GitHub pusht. Hopelijk werkt het soepel — in sommige gevallen moet je mogelijk de machtigingen aanpassen of je geheimen controleren, maar meestal is het geen probleem.
Gebruikt Hugging Face GitHub?
Ja, het is geen toeval. De repositories van Hugging Face zijn in feite Git-repositories die in hun platform zijn geïntegreerd. Veel mensen koppelen hun Hugging Face Spaces of modellen rechtstreeks aan GitHub-repositories voor naadloze updates. Je kunt klonen, pushen, pullen, de gebruikelijke Git-functies. Dus als je gewend bent aan Git-workflows, werkt Hugging Face daar prima mee samen en kun je alles automatisch up-to-date houden. Houd er wel rekening mee dat het losstaat van GitHub, ook al gebruikt het Git op de achtergrond.
Hoe kan ik code naar Hugging Face pushen?
Het werkt net als elke andere Git-repository. Kloon hem van Hugging Face, en dan kun je wijzigingen toevoegen, vastleggen en pushen:
- Stel uw externe URL in, waarschijnlijk iets als https://huggingface.co/spaces/uw-gebruikersnaam/uw-ruimtenaam.
- Breng de wijzigingen lokaal aan en voer het programma vervolgens uit
git add.. - Ga een verbintenis aan met
git commit -m “Your message”. - Duw met
git push origin main.
Om dit te automatiseren, kun je GitHub Actions instellen met het geheim dat je eerder hebt aangemaakt. Houd er wel rekening mee dat als er iets misgaat, dit vaak te maken heeft met machtigingen of een onjuiste URL-opmaak. Controleer daarom altijd de logboeken in het tabblad Acties.
Hopelijk bespaart dit iemand een hoop kopzorgen. Als alles eenmaal is ingesteld, is het best prettig om gewoon code te pushen en te zien hoe je Space in realtime wordt bijgewerkt.