Hub documentation
Tự động hóa Webhooks
Tự động hóa Webhooks
Webhooks cho phép bạn theo dõi các thay đổi mới trên các kho lưu trữ hoặc bucket cụ thể, hoặc trên tất cả các kho lưu trữ thuộc một nhóm người dùng/tổ chức nhất định (không chỉ các kho của bạn, mà là bất kỳ kho nào) trên Hugging Face.
Sử dụng create_webhook trong client Python huggingface_hub để tạo một webhook kích hoạt một Job khi có thay đổi xảy ra trong một kho Hugging Face:
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"
)Để chạy một Job khi có tệp được thêm vào hoặc xóa khỏi bucket, hãy theo dõi bucket:
webhook = create_webhook(
job_id=job_id,
watched=[{"type": "bucket", "name": "your-username/your-bucket"}],
domains=["repo"],
secrets={"HF_TOKEN": "hf_***"},
)Để xem một ví dụ hoàn chỉnh, hãy xem Xử lý các tệp mới trong một bucket với Jobs.
Webhook kích hoạt Job với các biến môi trường sau:
WEBHOOK_PAYLOAD: toàn bộ webhook payload dưới dạng chuỗi JSONWEBHOOK_REPO_ID: tên kho hoặc bucket (ví dụ:user/repo-name)WEBHOOK_REPO_TYPE: loại kho (model,dataset,spacehoặcbucket)WEBHOOK_SECRET: bí mật webhook, nếu có được cấu hìnhWEBHOOK_ID: một định danh duy nhất cho lần giao, ổn định qua các lần thử lại của lần giao đó
Một lần chạy webhook không giữ lại các volume hay secrets của Job. Hãy truyền các secrets mà Job cần, chẳng hạn như
HF_TOKEN, bằng cách dùngsecrets=trongcreate_webhook. Để chạy một script UV từ webhook, hãy định nghĩa job của bạn bằnghf jobs run <image> uv run <url>, vì nếu không,hf jobs uv runsẽ tải script lên một volume, mà lần chạy webhook không có.
Trang tải webhook chứa nhiều trường, dưới đây là một số trường hữu ích:
- 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 filesBạn có thể tìm thêm thông tin về webhooks trong tài liệu Webhooks của huggingface_hub.