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

API 文档

API文档

目录

  1. Hub API
  2. 错误码
  3. 注意事项

Hub API

1. create_repo

入参 参数说明 数据类型 是否必填 默认值
repo_type 仓库类型,"app"或model,app表示类型为应用仓库,model表示模型库仓库 string true
repo_id 仓库名称。该入参兼容带前缀的写法,例如 repo_id="mynewrepo" 与 repo_id="1234/mynewrepo" 的写法都是合法的。前缀的取值与下载接口、上传接口的含义相同,为UID或者组织名。 string true
app_name 应用名称,必填 string true
app_sdk gradio或streamlit 应用类型 string true
version streamlit 或 gradio 版本,必填, gradio版本支持"4.26.0", "4.0.0" streamlit版本支持"1.33.0", "1.30.0" string true
model_name 模型名称,默认值为仓库名称 string false ${repo_id}
desc 描述 string false
private 公开或者私密:True 私密,False 公开 bool false False(公开)
license license string false Apache License 2.0
token Git token 访问令牌 string false

成功返回

{
	'desc': 'mydesc',
	'license': 'Apache License 2.0',
	'model_name': 'mymodelname',
	'repo_id': 'myreponame',
	'private': false
}

失败返回:参数不合法

{
    'error_code': 10001,
    'error_msg': 'params not valid.',
    'biz_code': null,
    'log_id': None
}

"ERROR":{1 item
"message":"src property must be a valid json object"
}

失败返回:repo 重复

{
    'error_code': 10003,
    'error_msg': 'repo重复 (repo already created)',
    'biz_code': 500,
    'log_id': None
}    
 "ERROR":{1 item
"message":"src property must be a valid json object"
 }

常见错误参数

常见错误码如下:
10001, "参数无效"
10002, "未设置Token"
10003, "repo已经存在, 不能重复创建"
10004, "文件不存在"
10005, "找不到要上传的本地文件"
10006, "文件过大"
10007, "不支持上传文件夹"
10008, "仅支持文件夹"
10009, "命令行解析出错"
11001, "创建仓库失败"
11002, "没有仓库查看权限"
11003, "创建产线参数校验请求失败"
11004, "BOS AK/SK申请失败"
11005, "创建产线回调请求失败"
11006, "查询产线请求失败"
11007, "停止产线请求失败"
12001, "获取文件信息失败"
12002, "下载文件失败"
12003, "上传文件失败"
13001, "BOS上传失败"

2.download_file

入参 参数说明 数据类型 是否必填 默认值
repo_id 仓库名称,注意这与create_repo创建模型仓库接口的repo_id构成不同。此处的repo_id=$UID/$reponame,例如3821/myrepo。UID即AIStudio UID,取法下面会提到。此处的reponame等同于create_repo接口的repo_id。$UID/$reponame意为“我要下载这个UID用户的reponame仓库里的文件”。另外一提,此处的UID与token并无必然联系。token是接口方识别身份、判定权限的唯一凭证。UID仅用来结合reponame定位具体的目标仓库。 string true
filename 下载目标文件名路径,例如path/file1.txt string true
revision 分支 string false master
cache_dir 指定下载目录 string false
token Git token 访问令牌 string false

说明:打开AIStudio用户个人中心,便可查看UID并复制

成功返回

{
	"path": "/Users/yourname/.cache/aistudio/models/private1/snapshots/mybranch123/2d30fba646971e6b23b0bf8237b3132b5f28882b/123123/333.txt"
}

失败返回:参数不合法

{
    'error_code': 10001, 
    'error_msg': 'params not valid.',
    'biz_code': null,
    'log_id': None
}

失败返回: 未设置 token

{
    'error_code': 10002,
    'error_msg': 'token have not been set.',
    'biz_code': null,
    'log_id': None
}

失败返回:找不到文件

{
    'error_code': 12001,
    'error_msg': 'object does not exist [id: mybranch1232, rel_path: ]',
    'biz_code': 404,
    'log_id': None
}

说明:文件下载目录的指定方法

  1. 方法1:入参指定。优先级最高

    res = download(
        repo_id='myrepoid/myreponame',
        filename='README.md',
        cache_dir='/path/to/dir'
    )

    指定后,文件将会下载到:

    "/path/to/dir/README.md"
  2. 方法二:如果入参没有指定,则依照环境变量指定下载目标目录。

    os.environ["AISTUDIO_CACHE_HOME"] = "/path/to/dir"

    指定后,文件将会下载到:

    "/path/to/dir/.cache/aistudio/models/"

3.upload_file

上传普通文件大小限5M

上传大文件(LFS)限5G

入参 参数说明 数据类型 是否必填 默认值
repo_id 仓库名称,注意这与create_repo创建模型仓库接口的repo_id构成不同。此处的repo_id=$UID/$reponame,例如3821/myrepo。UID即AIStudio UID,取法下面会提到。此处的reponame等同于create_repo接口的repo_id。$UID/$reponame意为“我要下载这个UID用户的reponame仓库里的文件”。另外一提,此处的UID与token并无必然联系。token是接口方识别身份、判定权限的唯一凭证。UID仅用来结合reponame定位具体的目标仓库。 string true
path_or_fileobj 待传的本地文件名路径,暂只支持绝对路径,如"/Users/myname/Downloads/README.md"暂不支持data stream/buffer类型 string true
path_in_repo 上传到仓库里的路径,例如 "mydir/README.md"。若直接填文件名,则传至根目录。 string true
revision 只支持分支 string false master
token Git token 访问令牌 string false

成功返回

{
    "message": "Upload done."
}

失败返回:参数不合法

{
    'error_code': 10001, 
    'error_msg': 'params not valid.',
    'biz_code': null,
    'log_id': None
}

4.file_exists

入参 参数说明 数据类型 是否必填 默认值
repo_id 仓库名称,注意这与create_repo创建模型仓库接口的repo_id构成不同。此处的repo_id=$UID/$reponame,例如3821/myrepo。UID即AIStudio UID,取法下面会提到。此处的reponame等同于create_repo接口的repo_id。$UID/$reponame意为“我要下载这个UID用户的reponame仓库里的文件”。另外一提,此处的UID与token并无必然联系。token是接口方识别身份、判定权限的唯一凭证。UID仅用来结合reponame定位具体的目标仓库。 string true
filename 检查目标文件名路径,例如path/file1.txt string true
revision 只支持分支 string false master
token Git token 访问令牌 string false

成功返回:

True  # 文件存在于云端仓库
False # 文件不存在

失败返回:参数不合法

{
    'error_code': 10001, 
    'error_msg': 'params not valid.',
    'biz_code': null,
    'log_id': None
}

错误码

错误码 描述
0 成功
10000 SDK报错
10001 非法参数
10002 未设置token
10003 不能重复创建repo
10004 找不到要下载的仓库文件
10005 找不到要上传的文件
10006 上传文件过大
11000 aistudio侧报错
11001 aistudio侧创建仓库失败
12000 gitea侧报错
12001 gitea侧获取文件信息失败
12002 gitea侧下载文件失败
12003 gitea侧上传文件失败

注意事项

  1. 小心波浪线~

要特别注意不要混用 ~波浪线 与 /Users/${your_username}。

已测得在特殊情况下,会报错本地文件已存在,导致进程不成功。不同版本的python,表现情况也不同。 尽可能使用绝对路径。

  1. 常用参数说明
参数名称 参数说明 数据类型
token Git token 访问令牌。 string
repo_id 仓库名称 string
model_name 模型名称,默认值为仓库名称 string
desc 仓库描述 string
private 公开或者私密:True 私密,False 公开 bool
license license string
filename 下载目标文件名路径,例如path/file1.txt string
revision 分支 string
上一篇
【快速开始】安装+使用
下一篇
星河社区EB SDK服务的专项约定