Hub Python Library documentation
任务
快速入门
操作指南
概念指南
参考
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v2.4.0).
任务
请查阅 HfApi 文档页面,以获取用于在 Hub 上管理 Jobs 的方法参考。
- 运行任务:run_job()
- 获取日志:fetch_job_logs()
- 获取指标:fetch_job_metrics()
- 检查任务:inspect_job()
- 等待任务完成:wait_for_job()
- 列出任务:list_jobs()
- 取消任务:cancel_job()
- 运行 UV 任务:run_uv_job()
- 将本地目录同步以在 Job 中挂载:sync_job_volume()
数据结构
JobInfo
类 huggingface_hub.JobInfo
< source >( **kwargs )
参数
- id (
str) — 任务 ID。 - created_at (
datetime或None) — Job 的创建时间。 - started_at (
datetime或None) — Job 开始运行的时间。在 Job 仍处于调度状态时为 None。 - finished_at (
datetime或None) — Job 完成的时间。当 Job 仍在调度或运行中时,该值为 None。 - docker_image (
str或None) — 用于该 Job 的 Docker Hub 上的 Docker 镜像。 如果提供了 space_id,则可以为 None。 - space_id (
str或None) — 用于该 Job 的 Hugging Face Spaces Docker 镜像。 如果存在 docker_image,则可以为 None。 - command (
list[str]或None) — Job 的命令,例如["python", "-c", "print('hello world')"] - arguments(
list[str]或None)— 传递给命令的参数 - environment (
dict[str]或None) — 以字典形式表示的 Job 环境变量。 - secrets (
dict[str]或None) — Job 的机密环境变量(已加密)。 - flavor (
str或None) — 硬件的 Flavor。有关可能的值,请参阅JobHardware。 例如"cpu-basic"。 - labels (
dict[str, str]或None) — 要附加到任务上的标签(键值对)。 - volumes (
list[Volume]或None) — 挂载在作业容器中的卷(存储桶、模型、数据集、空间)。 - status — (
JobStatus或None): Job 的状态,例如JobStatus(stage="RUNNING", message=None)有关可能的 stage 值,请参阅 JobStage。 - durations(
JobDurations或None)— Job 的耗时分解。在所有 Job 状态下均存在,包括 SCHEDULING。 - owner — (
JobOwner或None): Job 的所有者,例如JobOwner(id="5e9ecfc04957053f60648a3e", name="lhoestq", type="user") - initiator (
JobInitiator或None) — 触发该 Job 的原因,例如对于由 cron 触发的运行,值为JobInitiator(type="scheduled-job", id="...")。 - expose_urls (
list[str]或None) — 通过 Job 的公开端口可访问的公共 URL(每个公开端口对应一个), 例如["https://687fb701029421ae5549d998--8000.hf.jobs"]。如果未公开任何端口,则为None。 访问 URL 需要具有 Job 命名空间读取权限的 HF token,除非该端口是公开的。 - ssh_url (
str或None) — Job 的 SSH 端点,例如"ssh://687fb701029421ae5549d998@ssh.hf.jobs"。仅当 Job 以ssh=True启动时才会存在。连接需要对 Job 的命名空间具有写入权限,并在 Hub 上注册 SSH 公钥(https://huggingface.co/settings/keys)。 - network(
JobNetwork或None)— Job 加入的网络组及其声明的别名,例如JobNetwork(group="train", aliases=["master"])。 如果 Job 启动时未指定network_group=,则为None。 - retry (
int或None) — 为 Job 配置的重试次数(attempts - 1)。 - expose (
list[int]或None) — 通过 Jobs 代理公开的所有端口,包括公共端口。 - expose_public (
list[int]或None) — 无需身份验证即可访问的公开端口。
包含有关 Job 的信息。
示例:
>>> from huggingface_hub import run_job
>>> job = run_job(
... image="python:3.12",
... command=["python", "-c", "print('Hello from the cloud!')"]
... )
>>> job
JobInfo(id='687fb701029421ae5549d998', created_at=datetime.datetime(2025, 7, 22, 16, 6, 25, 79000, tzinfo=datetime.timezone.utc), started_at=datetime.datetime(2025, 7, 22, 16, 6, 31, 79000, tzinfo=datetime.timezone.utc), finished_at=None, docker_image='python:3.12', space_id=None, command=['python', '-c', "print('Hello from the cloud!')"], arguments=[], environment={}, secrets={}, flavor='cpu-basic', labels=None, status=JobStatus(stage='RUNNING', message=None), durations=JobDurations(scheduling_secs=6, running_secs=2, total_secs=8), owner=JobOwner(id='5e9ecfc04957053f60648a3e', name='lhoestq', type='user'), initiator=JobInitiator(type='user', id='5e9ecfc04957053f60648a3e', name='lhoestq'), endpoint='https://huggingface.co', url='https://huggingface.co/jobs/lhoestq/687fb701029421ae5549d998')
>>> job.id
'687fb701029421ae5549d998'
>>> job.url
'https://huggingface.co/jobs/lhoestq/687fb701029421ae5549d998'
>>> job.status.stage
'RUNNING'JobOwner
JobNetwork
类 huggingface_hub.JobNetwork
< source >( **kwargs )
网络组 a Job 已加入。
JobStage
类 huggingface_hub.JobStage
< source >( valuenames = Nonemodule = Nonequalname = Nonetype = Nonestart = 1 )
Hub 上 Job 可能处于的阶段枚举。
Possible values are: `COMPLETED`, `CANCELED`, `ERROR`, `DELETED`, `SCHEDULING`, `RUNNING`. Taken from https://github.com/huggingface/moon-landing/blob/main/server/job_types/JobInfo.ts#L61 (private url).JobStatus
类 huggingface_hub.JobStatus
< source >( stage: JobStagemessage: str | Noneexpose_urls: list[str] | Nonessh_url: str | None )
卷
类 huggingface_hub.Volume
< source >( **kwargs )
参数
- type (
str) — 卷的类型:"bucket"、"model"、"dataset"或"space"。 - source (
str) — 源标识符,例如"username/my-bucket"或"username/my-model"。 - mount_path (
str) — 容器内的挂载路径,例如"/data"。必须以/开头。 - revision (
str或None) — Git 修订版本(仅适用于仓库,默认为"main")。 - read_only (
bool或None) — 只读挂载。对于仓库强制为True,对于存储桶默认为False。 - path (
str或None) — 要挂载的存储桶/仓库内的子文件夹前缀,例如"path/to/dir"。
描述要在 Space 或 Job 容器中挂载的卷。
将其序列化为 Hub API 预期的 JSON 负载。
以 CLI 所期望的格式,将卷返回为 HF 挂载 URI。