惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

Rust

Tower 限流中间件,主要面向 HTTP 服务,专注固定窗口限流。 - V2EX 折腾了一阵 Rust + Cosmopolitan, 搭了套工具链,现在能把一些常用的 cli 工具编译到 APE 了 - V2EX [开源自推]我用 Rust 做了一个约 30 MiB 内存的多入口 AI Agent,已经在线跑了半年 - V2EX [开源] rload: 仅 3.5MB 内存,原生支持 Nginx 日志回放的 Rust 高性能压测工具 - V2EX RustScript: 给你的 Rust 项目带来脚本化功能 RUST 语法极其丑陋 一款跑在终端里的本地优先密码管理器,用全屏 TUI 管理账号、密钥和安全笔记。 如何理解 rust 闭包的借用值机制? 被借用的值在闭包内到底是什么类型? [开源] Best of RS - 一个由 Rust 编写的追踪 Rust 开源趋势的全栈 web 项目 Rust 真是非常适合 AI vibe coding 的语言 Pumpkin - 使用 Rust 开发的高性能 Minecraft 服务端 开源这两天 Vibe 的 Rust 重写的 OpenClaw 用 rust 写了一个非常简单的局域网文本同步的小玩意 [寻求帮助 Linux ] 用 rust 写了一个跨平台输入监听库(鼠标键盘) Contributions to Rust and LLVM in 2025 Linux 内核中的 rust 2025 年度 Rust 语言社区调查 已经发布 rust 让我抓狂、擦汗 推荐一款我写的动态配置语言: Faml 如何看待 Rust? Rust Web 开发脚手架 v0.6 发布啦! rathole 这个项目是不维护了吗? 之前那个 rust 贡献大佬找到工作了,找他的团队还不少 太快了! Rust 太快了! 介绍一个 like rails 的 rust 框架。 性能和开发速度都快。 除了写小工具外再也不想用 Rust 了 rust 我想你了 rust 程序员的硬盘是多大的? nodejs 继任者? rust 练手写的,仿 uv 包管理器 av Rust 的安全神话?为何在关键系统如数据库、大模型代码中仍选 C++
写了一个从 modelscope 下载模型的 crate
yunyi93 · 2025-04-15 · via Rust

models-cat

models-catModelScope Hub 的非官方 Rust 客户端,设计灵感来自 hf-hub。models-cat 源自一个简单的需求:“编写一个 Rust 桌面端 AI APP ,需要下载模型和数据集,但是没有合适的 Rust 客户端。”

什么时候需要 models-cat 下载模型?主要有三个原因:

  1. 网络原因,无法使用 hf-hub 访问 huggingface
  2. 虽然使用 hf-hub 也可以从 hf-mirror 下载模型,但稳定性和下载速度无法保证。
  3. 将模型托管在 ModelScope Hub 上,可以保证稳定性和下载速度。但 hf-hub 不兼容 ModelScope, 需要使用 models-cat 。

顺便说下,ModelScope 托管模型真香,国内下载速度贼快、稳定、免费。

功能特性

  • 模型/数据集下载与缓存管理, 同步或异步下载
  • 支持并发安全访问文件
  • 本地缓存校验( SHA256 )
  • 下载进度回调

使用示例

同步下载:

use models_cat::{download_model_with_progress, ProgressBarWrapper};

download_model_with_progress(
    "BAAI/bge-small-zh-v1.5",
    "model.safetensors",
    ProgressBarWrapper::default(),
).unwrap();

异步下载:

use models_cat::asynchronous::{download_model_with_progress, ProgressBarWrapper};

download_model_with_progress(
    "BAAI/bge-small-zh-v1.5",
    "model.safetensors",
    ProgressBarWrapper::default(),
).await.unwrap();

异步下载需开启特性tokio特性:

models-cat = { version = "*", features = ["tokio"] }

从 ModelScope 的托管仓库 BAAI/bge-small-zh-v1.5 下载模型到本地,默认保存在[HOME_DIR].cache/modelscope/hub/models--BAAI--bge-small-zh-v1.5/目录下。

使用快捷函数时,可通过环境变量MODELS_CAT_CACHE_DIR设置本地缓存路径。或者使用ModelsCat,在初始化时传入本地缓存路径。