Hub documentation
GitHub Actions
GitHub Actions
GitHub Actions๋ฅผ ์ฌ์ฉํ์ฌ GitHub ์ ์ฅ์๋ฅผ Hugging Face Hub์ ์๋์ผ๋ก ๋๊ธฐํํ ์ ์์ต๋๋ค. ๊ณต์ huggingface/hub-sync ์ก์
์ Models, Datasets, Spaces ๋๊ธฐํ๋ฅผ ์ง์ํฉ๋๋ค.
ํค ์์ด ๊ฒ์ํ๋ ๋ฐฉ๋ฒ โ ์ ์ฅํ๊ฑฐ๋ ๊ต์ฒดํ
HF_TOKEN์ํฌ๋ฆฟ์ด ํ์ํ์ง ์์ต๋๋ค โ ๊ฐ ์คํ ์์ ์ GitHub Actions์ ๋ด์ฅ OIDC ํ ํฐ์ ์งง์ ์๋ช ์ ์ ์ฅ์ ๋ฒ์ Hub ํ ํฐ์ผ๋ก ๊ตํํ๋ Trusted Publishers๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค์
- ๋์ ์ ์ฅ์์ ๋ํ write ๊ถํ์ด ์๋ Hugging Face access token์ ์์ฑํ์ธ์. ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด ๋๊ธฐํ ๋์ ์ ์ฅ์์๋ง ๋ฒ์๊ฐ ์ค์ ๋ fine-grained token์ ์ฌ์ฉํ์ธ์.
- ๋ฆฌํฌ์งํ ๋ฆฌ ์ค์ ์์ ํ ํฐ์
HF_TOKEN์ด๋ผ๋ ์ด๋ฆ์ GitHub secret์ผ๋ก ์ถ๊ฐํ์ธ์. - ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ํฌํ๋ก ํ์ผ(์:
.github/workflows/sync-to-hub.yml)์ ์ถ๊ฐํ์ธ์.
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
name: Sync to Hugging Face Hub
on:
push:
branches: [main]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: huggingface/hub-sync@v0.3.0
with:
github_repo_id: ${{ github.repository }}
huggingface_repo_id: username/repo-name
hf_token: ${{ secrets.HF_TOKEN }}๊ธฐ๋ณธ์ ์ผ๋ก Space์ ๋๊ธฐํ๋ฉ๋๋ค. ๋ชจ๋ธ ๋๋ ๋ฐ์ดํฐ์
์ ๋๊ธฐํํ๋ ค๋ฉด repo_type ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ์ธ์:
- uses: huggingface/hub-sync@v0.3.0
with:
github_repo_id: ${{ github.repository }}
huggingface_repo_id: username/my-dataset
hf_token: ${{ secrets.HF_TOKEN }}
repo_type: dataset๋งค๊ฐ๋ณ์
| ๋งค๊ฐ๋ณ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|
github_repo_id | ์ | โ | GitHub ์ ์ฅ์(${{ github.repository }} ์ฌ์ฉ) |
huggingface_repo_id | ์ | โ | Hub์ ๋์ ์ ์ฅ์(username/repo-name) |
hf_token | ์ | โ | Hugging Face ์ก์ธ์ค ํ ํฐ |
repo_type | ์๋์ | space | space, model ๋๋ dataset |
space_sdk | ์๋์ | gradio | gradio, streamlit, docker ๋๋ static |
private | ์๋์ | false | ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋น๊ณต๊ฐ๋ก ์์ฑํ ์ง ์ฌ๋ถ |
subdirectory | ์๋์ | . | Sync a specific subdirectory (useful for monorepos) |
์ด ์ก์
์ hf CLI๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ Hub์ ๋ฏธ๋ฌ๋งํฉ๋๋ค. git-to-git ๋๊ธฐํ๊ฐ ์๋๋๋ค. .github/ ๋ฐ .git/ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์ ์ธํ๊ณ ์ญ์ ์ฌํญ์ ๋ฏธ๋ฌ๋งํฉ๋๋ค(GitHub์์ ์ญ์ ๋ ํ์ผ์ Hub์์๋ ์ญ์ ๋ฉ๋๋ค).
๋ ๋ณต์กํ ์ํฌํ๋ก(์: ๋น๋ ๋จ๊ณ, ์ฌ์ฉ์ ์ ์ ์
๋ก๋ ๋ก์ง)์ ๊ฒฝ์ฐ, ์ํฌํ๋ก์์ hf CLI๋ฅผ ์ง์ ์ค์นํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Spaces์ ๋ํ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ด๋(ํ์ผ ํฌ๊ธฐ ์ ํ, LFS ์ฒ๋ฆฌ)๋ GitHub Actions๋ฅผ ์ฌ์ฉํ Spaces ๊ด๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Update on GitHub