Hub Python Library documentation
身份验证
身份验证
huggingface_hub 库允许用户以编程方式管理对 Hub 的认证。这包括登录、登出、在令牌之间切换以及列出可用令牌。
有关身份验证的更多详细信息,请参阅此部分。
登录
huggingface_hub.login
< source >( token: str | None = Noneadd_to_git_credential: bool = Falseskip_if_logged_in: bool = True )
参数
- token (
str, 可选) — 用于从 https://huggingface.co/settings/token 生成的用户访问令牌。 - add_to_git_credential (
bool,默认为False) — 如果为True,则会将 token 设置为 git 凭据。如果未配置 git 凭据助手,将向用户显示警告。仅在提供token时使用;基于浏览器的流程会忽略此参数。 - skip_if_logged_in (
bool,默认为True) — 如果为True,当用户已登录时,不再提示输入令牌。 将其设置为False可强制重新登录。在 CLI 中,请改用--force。
引发
ValueError 或 DeviceCodeError
ValueError— 如果传递了组织令牌。只有个人账户令牌才能用于登录。ValueError— 如果 token 无效。DeviceCodeError— 如果基于浏览器的登录失败(授权被拒绝、代码已过期等)。
登录机器以访问 Hub。
token 会被持久化到缓存中,并设置为 git 凭据。完成后,该机器即处于登录状态,访问令牌将在所有 huggingface_hub 组件中可用。如果未提供 token,则会使用基于浏览器的 OAuth 流程进行身份验证:打开一个 URL,输入一个短代码,然后令牌将被获取并保存。在终端中,你也可以选择粘贴一个现有的访问令牌。
要在脚本外部登录,也可以使用 hf auth login,这是一个封装了 login() 的命令行命令。
当未传入 token 时,login() 会自动检测脚本是否在 notebook 中运行。然而,由于当前 notebook 种类繁多,这种检测可能并不准确。在这种情况下,您可以始终通过使用 notebook_login() 或 interpreter_login() 来强制指定 UI。
interpreter_login
huggingface_hub.interpreter_login
< source >( skip_if_logged_in: bool = True )
显示提示,要求登录 HF 网站并存储令牌。
在未于 notebook 中运行时,这等同于不传递 token 的 login()。如果您希望强制使用终端提示符而非 notebook 流程,interpreter_login() 会很有用。
有关更多详细信息,请参阅 login()。
notebook_login
huggingface_hub.notebook_login
< source >( skip_if_logged_in: bool = True )
显示提示,要求登录 HF 网站并存储令牌。
在 notebook 中运行时,这相当于不传递 token 的 login()。如果您希望强制使用 notebook 流程而不是终端中的提示,notebook_login() 会很有用。
有关更多详细信息,请参阅 login()。
退出登录
huggingface_hub.logout
< source >( token_name: str | None = None )
将机器从 Hub 注销。
Token 已从机器上删除,并从 git credential 中移除。
auth_switch
huggingface_hub.auth_switch
< source >( token_name: stradd_to_git_credential: bool = False )
参数
- token_name (
str) — 要切换到的访问令牌的名称。 - add_to_git_credential (
bool,默认为False) — 如果为True,则会将 token 设置为 git credential。如果未配置 git credential helper,将向用户显示警告。如果token为None,则忽略add_to_git_credential的值,并会再次提示最终用户。
引发
ValueError
ValueError— 如果未找到访问令牌名称。
切换到不同的访问令牌。
auth_list
列出所有已存储的访问令牌。