资讯 社区 文档 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

访问令牌

访问令牌

1. 什么是访问令牌

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

个人访问令牌管理

目前访问令牌允许执行以下权限范围的操作:

  1. Git仓库相关:是指对 AI Studio模型库repo相关操作的权限。

    • 读取:具有此权限的令牌只能用于提供对您账户下仓库的访问权限。如果您需要从AI Studio读取内容(例如,在下载私有模型或进行推理时),请使用此权限。
    • 写入:具有此权限的令牌另外授予对您账户下仓库的写入访问权限。如果您需要创建或修改仓库的内容(例如,在训练模型或修改模型卡时),请使用此令牌。
  2. 非Git仓库相关:是指对该帐号下其他与仓库管理无关的 API 调用权限,如大模型开发 API调用授权。

说明:目前 AI Studio个人中心的默认访问令牌权限包括以上所有权限范围,后续权限范围管理功能将逐步上线,敬请期待。

注意:请谨慎管理您的访问令牌,若该令牌意外泄漏可尽快通过邮箱( aistudio@baidu.com )联系平台更新修改 Token Key。

2. 如何使用访问令牌

AI Studio访问令牌目前支持以下三种使用方式:

  1. 在接口调用时,添加token为入参;
  2. 执行前,设置环境变量AISTUDIO_ACCESS_TOKEN=token值,随后请求将会直接使用环境变量中的token,无需再次输入;
  3. 执行前,设置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_typeaccess_token参数来指定。

对于 AI Studio 的用户,默认使用aistudio后端(api_typeaistudio),可前往个人中心的 访问令牌页面 查看个人专属 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相关教程及应用体验可参见以下内容:

  1. ERNIE Bot SDK基础使用教程
  2. ERNIE Bot SDK进阶使用教程
  3. ERNIE Bot SDK基础功能体验
  4. 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 功能即将上线,敬请期待。

注意事项
  1. 特别注意不要混用 ~波浪线 与 /Users/${your_username} 。已测得在特殊情况下,会报错本地文件已存在,导致进程不成功,不同版本的python,表现情况也不同。尽可能使用绝对路径。
  2. 上传普通文件大小限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
上一篇
服务部署
下一篇
数据集