
ModelScope 命令行 CLI 快速指南完成模型下载、管理、发布与部署 4 件核心任务【免费下载链接】modelscopeModelScope: bring the notion of Model-as-a-Service to life.项目地址: https://gitcode.com/GitHub_Trending/mo/modelscope想在终端里把模型文件拉下来、把团队模型发出去、把部署环境预检一遍而不必离开命令窗口吗ModelScope 命令行工具modelscope CLI基本覆盖了这条链路安装验证、令牌登录、按需下载、仓库发布、格式导出、缓存治理都在这里。本文按「下载 → 管理 → 发布 → 部署」的四段任务链组织跟着敲就能上手。导读· 读完本文你能独立完成 4 件事安装 CLI、验证版本并用令牌登录账户按include/exclude规则筛选模型文件用revision锁定版本创建团队共享仓库上传带变更说明的版本导出部署格式、预检环境以及管理缓存和批量脚本任务链预览装好并登录 → 把模型拿下来 → 把模型发出去 → 把模型跑起来 → 日常运维 速查表任务一装好并登录从 0 到可用只要几条命令当你刚拿到一台新开发机第一条要验证的事是「这个命令行工具到底能不能跑」。安装与验证两条命令确认环境可用# 在虚拟环境中安装避免污染系统依赖 python -m venv .venv source .venv/bin/activate pip install modelscope # 验证安装打印版本号即成功 modelscope --version当前版本要求 Python 3.10可在 pyproject.toml 中查到声明。安装后除了modelscope还能用更短的别名ms调用同一套命令如果偶尔遇到入口脚本找不到的情况python -m modelscope.cli.cli 子命令是直接可用的备选入口。令牌登录一次登录验证账户状态写操作建仓库、上传需要身份认证用个人访问令牌即可不用反复输密码# 令牌在 ModelScope 控制台的「我的页面 → SDK 令牌」中生成 modelscope login --token 你的访问令牌 # 确认当前登录身份 modelscope whoami⚠️ 注意令牌等同账户钥匙。不要写进会被提交的脚本或配置文件里如果误敲进了终端记得清理 shell 历史泄露后第一时间在平台侧吊销并重新生成。✅ 自检modelscope --version能打印版本号modelscope whoami能返回你的账户信息任务二把模型拿下来按需下载与文件过滤当你只需要模型里的推理文件而仓库里还躺着一堆训练 checkpoint 和无关资产时别整个拉下来。一条命令拉默认版本# 下载整个仓库的默认版本落到本地缓存 modelscope download --model Qwen/Qwen3-0.6B只想要某几个文件时把相对路径直接跟在后面# 只取配置文件和词表文件 modelscope download --model AI-ModelScope/gpt2 config.json tokenizer.json用 include/exclude 精确筛选文件对大仓库通配符过滤比逐个列文件名省事。--include指定要保留的模式--exclude再挖掉不需要的部分# 只要 JSON 配置和 onnx 目录并排除 tflite 文件 modelscope download --model AI-ModelScope/gpt2 \ --include *.json onnx/* \ --exclude *.tflite \ --local_dir ./ckpt/gpt2-infer # 跳过缓存直接落到指定目录--local_dir与--cache_dir同时给出时--local_dir优先。参数细节可查 docs/source/command.md 中的 download 小节。用 revision 锁定版本号做多版本管理团队协作或线上环境里「latest」是个危险词。用--revision钉住具体版本不同版本放到不同目录就能自由切换和回滚# 拉取指定版本版本标签作为目录名天然隔离 modelscope download --model 组织/模型 \ --revision v1.2.0 \ --local_dir ./ckpt/模型名/v1.2.0⚠️ 注意版本标签采用「主版本.次版本.修订号」的语义化格式。生产侧请显式写版本别依赖默认分支同一个模型的多版本并存时目录名里带上版本号后续排查问题不迷路。✅ 自检知道--include/--exclude是通配符glob模式能说出--local_dir和--cache_dir的优先级任务三把模型发出去团队仓库与发布当模型从「我的实验产物」变成「团队要用的资产」就需要一个有归属、有权限、有记录的仓库。创建共享仓库组织、可见性、许可证一步设置# 在团队组织下新建仓库 modelscope model -act create \ -gid your-team \ # 组织/用户 ID -mid ner-extractor \ # 模型唯一标识 -vis 5 \ # 可见性1私有 3内部 5公开 -lic Apache License 2.0 \ # 许可证 -ch 命名实体识别模型 # 中文展示名可见性三档按需选对外开源选公开仅组内使用选内部3涉密数据选私有1。许可证参数只接受平台认可的列表Apache、MIT、GPL 等见modelscope model --help。上传版本并写清变更说明上传时-vt指定版本标签-vi写变更说明。后者看起来不起眼却是半年后你还认得出这个版本的唯一依据# 上传本地训练产物附带版本说明 modelscope model -act upload \ -gid your-team -mid ner-extractor \ -md ./artifacts/ner-v2/ \ -vt v2.0.0 \ -vi 更换底座模型F1 提升 1.2pt新增医疗领域实体类型⚠️ 注意-md指向的目录里应有完整的configuration.json等元信息否则下游用 CLI 或 SDK 拉取时会缺少模型描述。✅ 自检新建仓库时想清楚了可见性和许可证而不是先建再改每个上传版本都有可读的-vi说明任务四把模型跑起来格式导出与环境预检当模型要在推理服务上跑而不是训练机上跑要考虑格式转换和目标环境的兼容性。导出为部署格式PyTorch 权重并非所有推理引擎都能直接吃导出成中间格式如 ONNX通常是必要一步# 导出为部署就绪的 onnx 格式 modelscope export --model AI-ModelScope/gpt2 \ --format onnx \ --output_dir ./deploy/gpt2-onnx部署前环境兼容性检查把模型搬到目标机器之前先让环境「自报家底」# 对照 requirements 预检目标环境如 CUDA 版本 modelscope checkenv --requirements ./requirements.txt \ --target cuda:11.8提前暴露缺包和版本冲突比在部署机上调试要快得多。✅ 自检导出产物目录结构清晰能被推理引擎直接加载目标环境跑过 checkenv没有红色报错日常运维缓存治理、批量脚本与避坑当模型越攒越多、磁盘开始报警或者你发现自己每周都要敲同一串命令时运维环节就来了。缓存治理先扫、再清、可换地方# 查看各仓库缓存占用 modelscope scan-cache modelscope scan-cache --dir /data/ms_cache # 指定缓存目录扫描 # 只删指定模型的缓存会要求输入 Y 确认 modelscope clear-cache --model Qwen/Qwen3-0.6B # 不带参数则清空整个缓存谨慎 modelscope clear-cache想整体搬家比如挪到大容量磁盘设置环境变量即可export MODELSCOPE_CACHE/data/modelscope_cache # 建议写进 ~/.bashrc未设置时默认缓存在~/.cache/modelscope/hub/{models,datasets}/模型ID。批量脚本把重复动作变成一行# 批量拉取多个模型的配置文件 for m in Qwen/Qwen3-0.6B AI-ModelScope/gpt2; do modelscope download --model $m --include *.json \ --local_dir ./configs/${m//\//__} done # 批量校验已下载的模型是否都带上了配置文件 find ./ckpt -name *.json -not -name configuration.json -prune -o \ -name configuration.json -print | xargs -I{} dirname {} | \ xargs -I{} du -sh {}跑频繁的复杂组合封装成 shell 脚本或 Makefile 目标比每次手敲可靠。三个容易踩的坑令牌进了脚本仓库提交前全局搜一遍 token 字样宁可每次read -s交互输入也别明文落盘。无脑clear-cache清全场清完下次下载就是全盘重新拉。优先用--model精确清理或先scan-cache看占用再动手。版本说明写「优化了一下」等于没写。变更说明应包含改了什么、指标如何变化、是否破坏兼容——这是团队回滚时的救命稻草。✅ 自检scan-cache的输出你能读懂并能指出哪个仓库最占空间批量脚本在本地小范围跑通后再扩大执行速查表 FAQ命令速查表你要做什么命令效果验证安装modelscope --version打印 CLI 版本账户登录modelscope login --token 令牌写入认证凭据下载默认版本modelscope download --model 组织/模型落入本地缓存筛选下载modelscope download --model id --include *.json只拉匹配文件锁定版本modelscope download --model id --revision 版本拉取指定版本建仓库modelscope model -act create -gid 组织 -mid 模型新建模型仓库发版本modelscope model -act upload -gid 组织 -mid 模型 -md 目录发布本地产物扫缓存modelscope scan-cache查看缓存占用清缓存modelscope clear-cache --model id只删指定模型缓存高频问题 FAQQ1pip 装完却提示modelscope: command not found确认当前 shell 激活了装包的那个虚拟环境临时可以用python -m modelscope.cli.cli 子命令等价执行或检查pip show modelscope的 Scripts 目录是否在 PATH 中。Q2令牌不小心留在 shell 历史里了用history -d 行号删掉对应记录若令牌可能已被他人看到直接去平台吊销旧令牌并生成新的成本远低于事后处理。Q3清了缓存会不会影响正在用的模型已经复制到--local_dir的文件不受影响只落在缓存里的模型下次调用需要重新下载。所以重要资产建议显式落盘清理时只针对确认废弃的模型 ID。Q4离线内网机器能用吗CLI 本身是纯本地工具但下载/上传需要网络。常见做法是在联网机器上--local_dir预拉齐再整体拷贝到内网机器缓存目录用MODELSCOPE_CACHE指到相同路径即可复用。命令行这条链路已经能覆盖模型「下载 → 管理 → 发布 → 部署」的完整生命周期拉取时按需过滤发布时版本留痕上线前环境预检平时用脚本和缓存治理兜底。下一步建议跑一次modelscope --help把全部子命令过一遍并翻一翻 modelscope/cli/ 与 docs/source/command.md 中的参数细节把常用命令固化进你自己的运维脚本。【免费下载链接】modelscopeModelScope: bring the notion of Model-as-a-Service to life.项目地址: https://gitcode.com/GitHub_Trending/mo/modelscope创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考