Hub documentation
Webhooks Otomasyonu
Webhooks Otomasyonu
Webhooks, Hugging Face'te belirli depoların veya depoların (bucket) yeni değişikliklerini dinlemenize ya da belirli bir kullanıcı/organizasyon grubuna ait tüm depolara (sadece sizin depolarınız değil, herhangi bir depo) ait değişiklikleri dinlemenize olanak tanır.
Bir Hugging Face deposunda değişiklik olduğunda bir Job’u tetikleyen bir webhook oluşturmak için huggingface_hub Python istemcisinde create_webhook kullanın:
from huggingface_hub import create_webhook
# Example: Creating a webhook that triggers a Job
webhook = create_webhook(
job_id=job_id,
watched=[{"type": "user", "name": "your-username"}, {"type": "org", "name": "your-org-name"}],
domains=["repo", "discussion"],
secret="your-secret"
)Bir bucket'a dosyalar eklendiğinde veya silindiğinde bir Job çalıştırmak için, bucket'ı izleyin:
webhook = create_webhook(
job_id=job_id,
watched=[{"type": "bucket", "name": "your-username/your-bucket"}],
domains=["repo"],
secrets={"HF_TOKEN": "hf_***"},
)Tam bir örnek için Jobs ile bir kovadaki yeni dosyaları işleme konusuna bakın.
Webhook, aşağıdaki ortam değişkenleriyle Job'u tetikler:
WEBHOOK_PAYLOAD: JSON dizgesi olarak tam webhook yüküWEBHOOK_REPO_ID: depo veya varlık adı (ör.user/repo-name)WEBHOOK_REPO_TYPE: depo türü (model,dataset,spaceveyabucket)WEBHOOK_SECRET: yapılandırılmışsa webhook gizli anahtarıWEBHOOK_ID: teslimat için benzersiz bir tanımlayıcı, o teslimatın yeniden denemeleri arasında sabit kalır
Bir webhook çalıştırması, Job’un hacimlerini veya gizli bilgilerini (secrets) korumaz. Job’un ihtiyaç duyduğu
HF_TOKENgibi gizli bilgileri,create_webhookiçindesecrets=ile iletin. Bir webhook’tan UV betiği çalıştırmak için işinizihf jobs run <image> uv run <url>ile tanımlayın; aksi takdirdehf jobs uv runbetiği bir hacme yükler ve webhook çalıştırmasının böyle bir hacmi yoktur.
Webhook yükü birden fazla alan içerir, işte birkaç faydalı olanı:
- event:
- action: one of "create", "delete", "move", "update"
- scope: string
- repo:
- owner: string
- headSha: string (not sent for buckets)
- name: string
- type: one of "dataset", "model", "space", "bucket"
- updatedFiles: for bucket file changes, the list of added and deleted filesWebhooklar hakkında daha fazla bilgiyi huggingface_hub Webhooks belgelerinde bulabilirsiniz.