在 hf 上下载指定仓库的指定文件
Hugging Face CLI 的 --include 命令使用指南
理解 --include 命令
在 Hugging Face CLI 中,--include
参数用于指定要下载的文件或文件夹的模式。它通常与正则表达式配合使用,以灵活地筛选出所需的文件。
使用方式
huggingface-cli download <仓库名称> --include <模式>
- <仓库名称>: 你想要下载文件的 Hugging Face 仓库名称。
- <模式>: 一个正则表达式,用来匹配要下载的文件名。
示例
假设你想要从仓库 datasets/squad
中下载所有以 .json
结尾的文件:
huggingface-cli download datasets/squad --include "*.json"
这将会下载该仓库中所有满足 .json
模式(即文件名以 .json
结尾)的文件。
高级用法
- 多个模式: 可以使用逗号分隔多个模式:
huggingface-cli download my-repo --include "*.txt,*.csv"
- 排除文件: 使用
--exclude
参数来排除某些文件:
huggingface-cli download my-repo --include "*.py" --exclude "__init__.py"
- 递归下载: 如果仓库中有子目录,可以使用
-r
或--recursive
参数递归下载:
huggingface-cli download my-repo -r --include "*.json"
常见正则表达式
.
:匹配任意单个字符。*
:匹配零个或多个任意字符。?
:匹配零个或一个任意字符。[abc]
:匹配方括号中的任意一个字符。[^abc]
:匹配不在方括号中的任意一个字符。
注意
- 正则表达式语法: 正则表达式的语法比较灵活,但也有其特定的规则。你可以查阅相关资料深入学习。
- 仓库结构: 不同的仓库文件结构可能不同,你需要根据具体情况调整模式。
- 性能: 下载大量文件可能需要较长时间,请耐心等待。
示例:下载 Qwen 模型的部分文件
假设你想要下载 Qwen/Qwen2.5-14B-Instruct-GGUF 仓库中以 qwen2.5-14b-instruct-q8_0-0000[1-4]-of-00004.gguf
模式命名的文件,你可以使用以下命令:
huggingface-cli download Qwen/Qwen2.5-14B-Instruct-GGUF --include "qwen2.5-14b-instruct-q8_0-0000[1-4]-of-00004.gguf"
这个命令会下载该仓库中符合模式的所有文件。
总结
--include
参数为我们提供了强大的文件筛选功能,可以根据我们的需求灵活地下载 Hugging Face 仓库中的文件。通过掌握正则表达式,我们可以实现更加复杂的下载任务。
更多帮助
如果你需要更详细的帮助,可以查阅 Hugging Face CLI 的官方文档:https://huggingface.co/docs/huggingface_hub/guides/cli