访问令牌
访问令牌
1. 什么是访问令牌
访问令牌用于AI Studio用户进行身份验证,可通过访问令牌向 AI Studio执行授权范围(如仓库相关的读取访问权限、服务 API 的调用权限等)指定的特定操作。

个人访问令牌管理
目前访问令牌允许执行以下权限范围的操作:
-
Git仓库相关:是指对 AI Studio模型库repo相关操作的权限。
- 读取:具有此权限的令牌只能用于提供对您账户下仓库的访问权限。如果您需要从AI Studio读取内容(例如,在下载私有模型或进行推理时),请使用此权限。
- 写入:具有此权限的令牌另外授予对您账户下仓库的写入访问权限。如果您需要创建或修改仓库的内容(例如,在训练模型或修改模型卡时),请使用此令牌。
- 非Git仓库相关:是指对该帐号下其他与仓库管理无关的 API 调用权限,如大模型开发 API调用授权。
说明:目前 AI Studio个人中心的默认访问令牌权限包括以上所有权限范围,后续权限范围管理功能将逐步上线,敬请期待。
注意:请谨慎管理您的访问令牌,若该令牌意外泄漏可尽快通过邮箱( aistudio@baidu.com )联系平台更新修改 Token Key。
2. 如何使用访问令牌
AI Studio访问令牌目前支持以下三种使用方式:
- 在接口调用时,添加token为入参;
- 执行前,设置环境变量AISTUDIO_ACCESS_TOKEN=token值,随后请求将会直接使用环境变量中的token,无需再次输入;
- 执行前,设置token值到文件${AISTUDIO_CACHE_HOME}/.cache/aistudio/.auth/token的正文(AISTUDIO_CACHE_HOME值为可配置的sdk本地工作目录,默认为$HOME)(注意:此方式在 AI Studio项目notebook中禁用)
说明:以上三种使用方式的优先级为1>2>3,即前一种设置方式的token值会被优先使用,后一种方法设置的token值将被忽略。
3. 访问令牌应用示例
3.1 示例一:ERNIE Bot SDK的认证鉴权
ERNIE Bot SDK是文心&飞桨官方提供的Python软件开发工具包,简称EB SDK。
EB SDK提供便捷易用的Python接口,可调用文心一言大模型能力,完成包含文本创作、通用对话、语义向量、AI作图在内的多项任务。由于调用文心一言大模型功能属于付费服务,所以使用EB SDK需要优先完成认证鉴权。
EB SDK认证鉴权主要是设置后端和access token,分别通过api_type
和access_token
参数来指定。
对于 AI Studio 的用户,默认使用aistudio
后端(api_type
为aistudio
),可前往个人中心的 访问令牌页面 查看个人专属 access token,复制后填入下面代码中即可(替换{YOUR-ACCESS-TOKEN}
)。
import erniebot
erniebot.api_type = 'aistudio'
erniebot.access_token = "{YOUR-ACCESS-TOKEN}"
请注意:
- 不同后端的access token获取方式不同,特定后端获取的access token无法用于其他后端的认证鉴权(上述示例为使用
aistudio
后端的情况)。 - Access Token属于个人账户的重要隐私信息,切记随意对外公开。
aistudio
后端的Access Token对应每个用户的个人账户,目前每个账户均拥有100万token的免费额度,可以用于EB SDK相关功能的调用。
更多 ERNIE Bot SDK相关教程及应用体验可参见以下内容:
2 示例二:AI Studio模型库SDK的认证鉴权
飞桨AI Studio模型库 是用户分享深度学习模型、demo体验和相关范例教程的地方,支持用户轻松地创建和管理自己的模型,可通过界面或开发环境快速方便地上传、下载相关模型文件并进行二次开发。
aistudio_sdk.hub库可帮助您在不离开开发环境的情况下与Hub进行交互。您可以轻松创建和管理您的个人仓库,下载和上传文件,并从Hub获得有用的模型和相关元数据。
3.2.1 安装
首先请先安装aistudio-sdk库:
pip install -i https://pypi.org/simple/ aistudio-sdk==0.1.3
3.2.2 快速使用
1. 创建仓库 create repo
使用create_repo()创建一个空仓库,并使用repo_id参数为其命名,此参数由仓库所有者的 UID 和模型英文名组成(userid/model_name_en),可在模型详情页查看并复制.

repo_id 查看复制示意
from aistudio_sdk.hub import create_repo
os.environ["AISTUDIO_ACCESS_TOKEN"] = ""
res = create_repo(
repo_id='myrepoid',
model_name='mymodelname',
desc='mydesc',
private=False,
license='Apache License 2.0'
)
print(res)
2. 文件下载 download
from aistudio_sdk.hub import download
os.environ["AISTUDIO_ACCESS_TOKEN"] = ""
res = download(
repo_id='myname/myrepoid',
filename='mydir/my file.txt',
revision='mybranch'
)
print(res)
3. 文件上传 upload
from aistudio_sdk.hub import upload
os.environ["AISTUDIO_ACCESS_TOKEN"] = ""
res = upload(
repo_id='myname/myrepoid',
path_or_fileobj='mydir/my file.txt',
path_in_repo='dir1/dir2/my cloud file.txt'
)
print(res)
更多API 功能即将上线,敬请期待。
注意事项
- 特别注意不要混用 ~波浪线 与 /Users/${your_username} 。已测得在特殊情况下,会报错本地文件已存在,导致进程不成功,不同版本的python,表现情况也不同。尽可能使用绝对路径。
- 上传普通文件大小限5M。上传大文件(LFS)限5G。
附录
常用参数说明如下:
参数名称 | 参数说明 | 数据类型 |
---|---|---|
token | Git token 访问令牌。 | string |
repo_id | 仓库名称 | string |
model_name | 模型名称,默认值为仓库名称 | string |
desc | 仓库描述 | string |
private | 公开或者私密:True 私密,False 公开 | bool |
license | license | string |
filename | 下载目标文件名路径,例如path/file1.txt | string |
path_or_fileobj | 待传的本地文件名路径,如/Users/myname/Downloads/README.md | string |
path_in_repo | 上传到仓库里的路径,例如mydir/README.md | string |
revision | 分支 | string |