访问 Hugging Face 中的资源,需要使用Access Tokens,可以在 Hugging Face 设置页面(https://huggingface.co/settings/tokens)生成自己的token。
一旦你获得了token,可以有下面几种方法使用它:
一、直接在代码中传递token
类似如下代码,在代码中直接传递 Hugging Face 的 API 令牌。
from transformers import AutoProcessor, PaliGemmaForConditionalGeneration
access_token="您的Hugging Face的Access Token,一般hf_开头"
model_id = "google/paligemma-3b-pt-224"
processor_id = "google/paligemma-3b-pt-224"
model = PaliGemmaForConditionalGeneration.from_pretrained(model_id,token=access_token)
processor = AutoProcessor.from_pretrained(processor_id,token=access_token)
优点:
- 简单直接,适合快速测试和临时使用。
缺点:
- 安全性较差,不适合长期和生产环境使用。
- 代码中明文存储令牌,可能导致安全风险。
使用场景:
- 快速测试和调试。
- 临时脚本和一次性任务。
二、环境变量
将 Hugging Face 的 API 令牌存储在环境变量中。
在 Bash 中设置环境变量:
export HUGGINGFACE_TOKEN=your_token_here
在 Python 中使用:
import os
from huggingface_hub import HfApi
access_token = os.getenv('HUGGINGFACE_TOKEN')
api = HfApi()
api.list_models(token=access_token)
优点:
- 可用于任何编程环境,不局限于命令行或 Notebook。
- 环境变量方式更隐蔽,适合自动化脚本和 CI/CD 流程。
缺点:
- 需要手动设置环境变量,可能对新手用户不太友好。
- 管理多个环境变量可能会增加复杂性。
使用场景:
- 自动化脚本、CI/CD 流程。
- 需要在不同编程语言和环境中使用 Hugging Face API 的场景。
三、notebook_login
在 Jupyter Notebook 中,使用以下代码进行登录:
from huggingface_hub import notebook_login
notebook_login()
运行此代码后,会弹出一个输入框,要求输入你的 Hugging Face API 令牌。
在输入一次后会保存令牌,通常不需要每次重新输入,令牌会保存到用户的本地环境。
优点:
- 适用于 Jupyter Notebook 环境,提供交互式编程体验。
- 简单易用,直接在 Notebook 中运行代码即可进行认证。
缺点:
- 仅适用于 Jupyter Notebook 和类似的交互式环境。
- 不适用于纯命令行环境。
使用场景:
- 数据科学家和研究人员在 Jupyter Notebook 中进行模型开发和测试。
- 教学和演示过程中需要快速认证的场景。
四、huggingface-cli login
在终端中,运行以下命令进行登录:
huggingface-cli login
系统会提示你输入 Hugging Face API 令牌,并根据需要配置 Git 凭证。
优点:
- 适用于命令行操作,适合在本地终端或服务器上进行开发、部署和其他操作。
- 可配置 Git 凭证,方便与 Git 仓库进行集成。
缺点:
- 需要在终端中运行,可能对不熟悉命令行的用户不太友好。
- 对于需要频繁切换环境的用户来说,可能需要多次登录。
使用场景:
- 本地或远程服务器的模型部署、开发和管理。
- 需要与 Git 仓库集成的场景。
需要git
这个是通过配置Git凭证实现保存的,要确保git命令在PATH环境变量中。
如果你还没有安装 Git,请从 Git 官方网站(https://git-scm.com/) 下载并安装 Git。安装完成后,请确保 Git 可执行文件已添加到系统的 PATH 环境变量中。
打开命令提示符或终端,输入以下命令以确保 Git 已正确安装并可以访问:
git --version
如果显示 Git 的版本信息,则表明 Git 已正确安装。
常用相关命令
huggingface-cli
常用的相关命令:
# 使用此命令登出 Hugging Face Hub。
huggingface-cli logout
# 使用此命令查看当前登录的用户信息。
huggingface-cli whoami
# 使用此命令查看 CLI 的帮助信息。
huggingface-cli --help
总结
huggingface-cli login
:适合命令行操作和与 Git 集成的场景。notebook_login
:适合 Jupyter Notebook 交互式编程环境。- 环境变量:适合自动化脚本、CI/CD 流程和跨语言使用。
- 直接在代码中传递令牌:适合快速测试和临时使用,但安全性较差。
您根据具体的使用场景和需求选择合适的方法来访问 Hugging Face 资源。
标签:Access,Git,huggingface,Hugging,Face,Tokens,token,环境变量 From: https://www.cnblogs.com/ghj1976/p/18336819/hugging-face-access-tokens-si-zhong-yong-fa