Huggingface API 指北

Reno 于 2024-12-10 发布

Huggingface 可通过 Hub Python Library 实现 API 调用

入门篇

安装

pip install --upgrade huggingface_hub

令牌

访问 令牌页 ,点击 Create new token,然后先后点击 ReadWrite 创建两种不同权限的密钥,为方便管理命名可直接使用 RadWrite

登录

执行下面命令,输入获取的令牌登录,token 保存在 ~/.cache/huggingface/token

huggingface-cli login

查看当前登录用户的 username,这个参数后面将会用到

huggingface-cli whoami

创建模型仓库

若要创建仓库,需要使用 Write 权限的令牌登录

from huggingface_hub import HfApi
api = HfApi()
api.create_repo(repo_id="super-cool-model", private=True)

上传文件

注意修改 username 和上传路径,path_or_fileobj 对应源文件路径,path_in_repo 对应上传到仓库的路径

from huggingface_hub import HfApi
api = HfApi()
api.upload_file(
    path_or_fileobj="/path/to/local/file",
    path_in_repo="/path/to/repo/file",
    repo_id="username/super-cool-model",
)

上传成功会返回文件的访问链接,形如

https://huggingface.co/username/super-cool-model/blob/main/path/to/repo/file

空间篇

创建空间

注意替换 username

from huggingface_hub import HfApi
api = HfApi()
api.create_repo(repo_id="username/my-cool-training-space", repo_type="space", space_sdk="gradio")

创建成功后同样会返回空间的链接

复制空间

from huggingface_hub import HfApi
api = HfApi()
api.duplicate_space("open-webui/open-webui")

上传项目

注意替换 username,folder_path 为待上传项目的目录

from huggingface_hub import HfApi
api = HfApi()
api.upload_folder(repo_id="username/my-cool-training-space", repo_type="space", folder_path="src/")

暂停空间

from huggingface_hub import HfApi
api = HfApi()
api.pause_space(repo_id="username/my-cool-training-space")

重启空间

from huggingface_hub import HfApi
api = HfApi()
api.restart_space(repo_id="username/my-cool-training-space")

环境变量