跳到主要内容

上传模型

如果您需要将模型上传到传神社区平台,您需要先注册一个账户,登录后可创建模型仓库并上传模型内容。传神社区开放平台上的模型基于Git存储库,可为您提供版本控制、分支管理和发现共享功能。您可以向模型仓库中上传任何想要的内容,包括模型文件、配置文件和任何其他文件。

当前,我们支持四种上传文件的方式:通过 Web 端、Git、命令行 (CLI) 和 SDK。

💡 应该选择哪种方式?​

  • Web 端上传:最简单快捷,适合上传少量的小文件(单文件上限以当前上传页和部署配置为准)。
  • Git 上传:适合需要归档版本控制、管理大量零碎代码及配置文件。
  • 命令行 (CLI) / SDK 上传:适合批量上传模型或数据集文件,支持更好的大模型文件传输机制。

使用Git上传模型​

前置准备工作​

  1. 安装 Git 和 Git LFS,并执行 git lfs install。
  2. 配置本地 Git 提交者信息:
git config --global user.name "您的用户名"
git config --global user.email "您的邮箱"
  1. 登录目标实例,在“账号设置 → Access Token”获取凭据。HTTPS 操作提示输入密码时使用该 Token;组织仓库还需要相应写入权限。

上传步骤​

从当前仓库页面复制 HTTPS 克隆地址。下面的命名空间和仓库名为示例;自部署域名以实际实例为准。

git lfs install
git clone https://opencsg.com/models/your-namespace/example-model.git
cd example-model

将需要上传的文件放入本地仓库目录;确认没有包含 Token、密码或不需要上传的文件后提交:

git add .
git commit -m "Upload repository files"
git push

回到目标仓库的“文件”页核对文件和提交记录。

【特别说明】​

大文件应使用 Git LFS。在 git add 前检查仓库的 .gitattributes,确认所需文件已被追踪;需要新增追踪规则时执行:

git lfs track "path/to/large-file"
git add .gitattributes

上传大小和超时限制由站点、代理和存储配置决定。保留文件大小及错误信息,按本页支持的传输方式处理;不要把站点限制理解为 Git LFS 协议的统一上限。

在Web端管理与上传文件​

在仓库“文件”页点击“添加文件”,可以选择“新建目录”、“创建新文件”或“上传文件”。

注意:单文件上限以当前上传页面为准。对于较大文件,请使用本页已说明支持的传输方式。

添加文件

新建目录​

点击“新建目录”,输入目录名称并提交,即可在当前仓库路径下创建子目录。

新建目录

创建新文件​

点击“创建新文件”,填写文件名称及内容,点击“创建文件”保存并提交。

创建文件

上传文件​

点击“上传文件”,选择需要上传的本地文件并提交。完成后在文件列表中确认目标文件已出现。

上传文件

使用命令行上传模型​

先在目标实例创建模型仓库,并确认对个人或组织仓库具有写入权限。设置该实例的 CSGHUB_TOKEN,参见 Access Token。

python -m pip install csghub-sdk
csghub-cli upload-large-folder --help

下例使用传神社区的平台 API 地址;其他站点请使用对应管理员提供的地址和该站点账号的 Access Token。 下例将本地目录上传到已有模型仓库;替换仓库 ID 与本地目录后执行。

export CSGHUB_ENDPOINT="https://hub.opencsg.com"
csghub-cli upload-large-folder your-namespace/example-model ./my_model \
--repo-type model --endpoint "$CSGHUB_ENDPOINT"

显式填写仓库类型:model 表示模型,dataset 表示数据集。上传完成前保留工具产生的进度缓存;若已安装版本不支持上述参数,先核对客户端与服务端兼容版本,不要省略地址或类型后重试。

使用 SDK 上传​

下面的 Repository 示例依赖 Git 与 Git LFS,适用于向已创建的仓库提交文件;大量文件可使用上面的 upload-large-folder。复用 CSGHUB_ENDPOINT、CSGHUB_TOKEN,并设置 CSGHUB_USERNAME 为当前登录账号,组织命名空间不一定等于登录账号。

import os
from tempfile import TemporaryDirectory
from pycsghub.repository import Repository

with TemporaryDirectory(prefix="csghub-upload-") as work_dir:
repo = Repository(
repo_id="your-namespace/example-model",
upload_path="./my_model",
user_name=os.environ["CSGHUB_USERNAME"],
token=os.environ["CSGHUB_TOKEN"],
endpoint=os.environ["CSGHUB_ENDPOINT"],
repo_type="model",
work_dir=work_dir,
auto_create=False,
)
repo.upload()

验证上传结果​

在同一实例的模型仓库“文件”页检查文件、提交记录和所有者,再按 下载模型 下载一份进行核对。不要只以进度条结束作为成功依据。