Hub documentation

Tự động hóa Webhooks

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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 JSON
  • WEBHOOK_REPO_ID: tên kho hoặc bucket (ví dụ: user/repo-name)
  • WEBHOOK_REPO_TYPE: loại kho (model, dataset, space hoặc bucket)
  • WEBHOOK_SECRET: bí mật webhook, nếu có được cấu hình
  • WEBHOOK_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ùng secrets= trong create_webhook. Để chạy một script UV từ webhook, hãy định nghĩa job của bạn bằng hf jobs run <image> uv run <url>, vì nếu không, hf jobs uv run sẽ 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 files

Bạn có thể tìm thêm thông tin về webhooks trong tài liệu Webhooks của huggingface_hub.

Update on GitHub