更新时间:2024-10-18 GMT+08:00
分享

安装Gallery CLI配置工具

场景描述

  • Gallery CLI配置工具支持将AI Gallery仓库的资产下载到云服务端,便于在云服务本地进行训练、部署推理。
  • Gallery CLI配置工具支持将单个超过5GB的文件从本地上传至AI Gallery仓库中。

约束限制

  • Gallery CLI配置工具下载文件时依赖集群的公网访问权限,所以在使用CLI时要求集群配置NAT网关,具体操作请参见公网NAT网关
  • 只有托管到AI Gallery仓库的资产才支持使用Gallery CLI配置工具下载文件,如果在资产详情页有“复制完整资产名称”按钮即表示该资产支持使用Gallery CLI配置工具下载,如图1所示。
    图1 复制完整资产名称
  • “运行平台”设置为“Pangu Studio”的数据集,不支持使用CLI工具下载。

下载Gallery CLI配置工具包(本地)

如果是在本地服务器安装Gallery CLI配置工具,则参考本节将工具包下载至本地。

  1. 下载AI Gallery CLI安装包、校验文件。
    • 单击链接,下载AI Gallery CLI安装包。
    • 单击链接,下载AI Gallery CLI校验文件。
  2. 将AI Gallery CLI安装包及对应的校验文件放在同一目录下,执行如下命令使用OpenSSL工具进行校验工具包。
    openssl cms -verify -binary -in  gallery_cli-*-py3-none-any.whl.cms -inform DER -content gallery_cli-*-py3-none-any.whl -noverify > ./test
    出现如下信息则表示校验通过。
    Verification successful

下载Gallery CLI配置工具包(云服务器)

如果是在ModelArts Lite等云服务器安装Gallery CLI配置工具,则参考本节将工具包下载至云服务器。

  1. 登录AI Gallery,单击右上角“我的Gallery”进入我的Gallery页面
  2. 左侧菜单栏选择“我的资源 > 云服务器”,单击专属资源池页签进入云服务详情页面。
  3. 在节点页签,单击选择“配置工具”,弹出该节点的配置工具页面。
  4. 在配置工具页面,单击“下载”启动下载任务。当配置工具的状态记录中“工具状态”“下载完成”时表示下载完成,工具包存放在“下载位置”的目录下。

    如果下载失败,单击“下载”可以重新下载。

  5. 登录云服务器查看工具包是否下载成功。
    1. 在云服务详情页面,单击节点页签的选择“前往控制台”跳转到云服务器控制台。
    2. 在云服务器控制台的节点基本信息页面,单击右上角“远程登录”选择登录方式远程登录云服务器节点。推荐使用CloudShell登录,直接页面单击“CloudShell登录”跳转到CloudShell页面,输入专属资源池信息登录服务器。具体步骤请参见远程登录Linux弹性云服务器(CloudShell方式)
    3. 进入4获取的“下载位置”,执行如下命令使用OpenSSL工具进行校验工具包。
      openssl cms -verify -binary -in  gallery_cli-*-py3-none-any.whl.cms -inform DER -content gallery_cli-*-py3-none-any.whl -noverify > ./test
      出现如下信息则表示校验通过。
      Verification successful

安装Gallery CLI配置工具

当Gallery CLI配置工具包下载完成后,进入服务器安装工具。不管是ModelArts Lite云服务,还是本地Windows/Linux等服务器,安装操作都相同。

  1. 登录服务器,激活python虚拟环境。
    conda activate [env_name] # 例如使用conda管理python环境(需要确认环境已安装Anaconda)
  2. 在python环境中安装CLI工具。
    pip install ./gallery_cli-0.0.3-py3-none-any.whl
  3. 配置CLI工具的环境信息。
    1. 在服务器的任意目录下(本文以“/gallerycli”为例)新建CLI配置文件“config.env”,包含如下配置信息。
      # IAM相关配置
      iam_url=https://iam.myhuaweicloud.com/v3/auth/tokens
      iam_project=cn-north-7
      iam_timeout=15
      # 账号密码,和AK/SK二选一
      iam_domain=xxx
      iam_user=xxx
      iam_password=xxx
      # AK/SK,和账号密码二选一
      iam_ak=xxx
      iam_sk=xxx
      
      # 托管仓库相关配置
      repo_url=https://{ModelArts-Endpoint}.myhuaweicloud.com
      
      # 系统相关配置
      cached_dir=/test
      
      # 加解密配置
      sdk_encrypt_implementation_func=/path/to/crypt.py.my_encrypt_func
      sdk_decrypt_implementation_func=/path/to/crypt.py.my_decrypt_func
      表1 配置项参数说明

      参数名称

      说明

      iam_url

      IAM地址,默认为“https://iam.myhuaweicloud.com/v3/auth/tokens”

      iam_project

      服务器所在区域的项目名称,获取方式请参见获取项目ID和名称。如果是本地服务器则默认是北京四区域,此处填写“cn-north-4”

      iam_timeout

      (可选)IAM访问超时时间,单位为秒,缺省值是5。当环境网络不稳定时,建议将该值改大。如果超过该时间IAM还没有响应,系统会返回超时错误码,便于定位链接故障。

      iam_domain

      用户的账号ID,获取方式请参见获取账号名和账号ID

      iam_user

      IAM用户名,获取方式请参见获取用户名和用户ID

      iam_password

      IAM用户密码,即账号的登录密码。

      iam_ak

      访问密钥AK,获取方式请参见访问密钥

      iam_sk

      访问密钥SK,获取方式请参见访问密钥

      repo_url

      AI Gallery仓库的地址,格式为“http://{ModelArts-Endpoint}.myhuaweicloud.com”,其中不同区域的Endpoint可以在ModelArts地区和终端节点获取。

      cached_dir

      缓存目录,默认AI Gallery仓库的文件下载至该目录下。

      sdk_encrypt_implementation_func

      自定义加密函数,认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件中密文存放,使用时解密,确保安全。

      sdk_decrypt_implementation_func

      自定义解密函数,认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件中密文存放,使用时解密,确保安全。

      • 配置文件中,账号密码认证和AK/SK认证二选一即可。如果使用账号密码认证,则需要填写配置项“iam_domain”“iam_user”“iam_password”;如果使用AK/SK认证,则需要填写配置项“iam_ak”“iam_sk”和加密配置。
      • 华为账号只能使用AK/SK认证。如果要使用账号密码认证,且必须先创建一个IAM用户再获取IAM用户名和密码进行认证,操作指导请参见创建IAM用户
      • 配置项中的认证凭据信息不建议使用明文,可以通过下述方式扩展自定义的加解密组件。
        • 在module(yourmodule)自定义一个解(加)密方法,例如decrypt_func(cipher),要求可以通过“from yourmodule import decrypt_func”的方式获取认证凭据信息。
        • 在配置文件中配置“sdk_decrypt_implementation_func=yourmodule.decrypt_func”指向自定义的解密方法的引用。程序加载时会通过import_lib加载认证凭据信息。
        • 配置文件中配置密文的格式“iam_ak={Crypto}cipher”,其中cipher会在配置项读取认证凭据信息时被解析传递进decrypt_func方法中,进行解密。
        • 其他类似自定义加密的方法,会在保存Token到本地时进行加密。
    2. 配置CLI工具的环境变量,指定到上一步新建的配置文件。
      export SDK_CONFIG_PATH=/gallerycli/config.env       # 填写正确的config.env路径
  4. 配置完成后,执行如下命令查看CLI工具是否安装成功。
    gallery-cli --help

    如果安装成功会显示CLI中所有可用选项的列表,如下所示。

    Usage: gallery-cli [OPTIONS] COMMAND [ARGS]...
    
    ╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ --install-completion          Install completion for the current shell.                                                |
    │ --show-completion             Show completion for the current shell, to copy it or customize the installation.         |
    │ --help                        Show this message and exit.                                                              |
    ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
    ╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
    │ download                                 Download files from the AI Gallery                                            |
    │ login                                    Log in using ak sk from huawei cloud iam                                      |
    │ logout                                   Log out                                                                       |
    ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

    “--help”选项可以用于获取命令的更多详细信息,可以随时使用它来列出所有可用选项及其详细信息。例如,“gallery-cli download --help”可以获取使用CLI下载文件的更多帮助信息。

登录Gallery CLI配置工具

当Gallery CLI配置工具安装完成后,可以登录Gallery CLI上传或下载AI Gallery仓库的资产。

在服务器执行如下命令登录Gallery CLI配置工具。

gallery-cli login

显示如下信息表示登录成功。“/test”是自定义的服务器的缓存目录,token是系统自动生成的文件夹。

/test/token

登出Gallery CLI配置工具

上传或下载AI Gallery仓库的资产完成后,登出Gallery CLI清理缓存。

在服务器执行如下命令登出Gallery CLI配置工具。

gallery-cli logout

显示如下信息表示登出成功。系统自动清除缓存目录“/test”下的token文件夹。

Logout successful!

相关文档