大模型下载提速 5-10 倍:llm-universe 的 download_model.py 完整上手指南
【免费下载链接】llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/项目地址: https://gitcode.com/GitHub_Trending/ll/llm-universe
在 llm-universe 这套大模型应用开发教程里,download_model.py就是一个专门解决"模型拉不动"问题的下载脚本。国内网络直连 Hugging Face 官方源,速度慢、还经常被中途掐断,而它通过一行环境变量把下载源切到国内镜像 hf-mirror.com,配合断点续传参数,实测速度能提到 5-10 倍。读完这篇,你能在自己的机器上把 RAG 应用需要的 Embedding 模型一次拉下来,并且知道怎么换成别的模型、断了怎么办。
1. 先搞懂它只做了两件事
别被"神器"两个字唬住,两个版本的脚本(notebook/附/DW高校行/download_model.py 和 notebook/附/SCNet/download_model.py)逻辑完全一样,就干两件事:
- 设置环境变量
HF_ENDPOINT=https://hf-mirror.com,让 huggingface-cli 走国内镜像; - 执行一条
huggingface-cli download命令,带上--resume-download参数,下载指定模型到本地目录。
--resume-download是关键:网络断了不用从头再来,重新运行命令就能接着传。对教育网这种不稳定的环境尤其有用。
如果你还没拿到项目代码,先克隆仓库:
git clone https://gitcode.com/GitHub_Trending/ll/llm-universe.git2. 装好前置工具,跑通第一次下载
跑脚本前需要两个前提:Python 3.8+,以及 Hugging Face 的命令行工具。按 requirements.txt 装好项目依赖后,再装一下 CLI 即可;只有访问私有模型时才需要登录:
pip install huggingface_hub huggingface-cli login # 可选,仅私有模型需要然后进入 SCNet 目录,直接运行:
cd notebook/附/SCNet python download_model.py脚本会自动创建embedding_model_small目录,把Alibaba-NLP/gte-multilingual-base这个多语言 Embedding 模型放进去。完成后你会得到一套开箱即用的模型文件:
embedding_model_small/ ├── config.json ├── pytorch_model.bin ├── tokenizer_config.json └── vocab.txt这个模型正是 SCNet 配套 RAG 应用加载向量模型的本地路径,下载完就能直接跑起界面:
3. 想换别的模型,改一行命令就行
脚本的下载逻辑集中在第 7 行的os.system(...)里,改两个地方就能定制:模型仓库名和--local-dir指定的保存目录。比如换成百川 7B:
os.system('huggingface-cli download --resume-download baichuan-inc/baichuan-7B --local-dir baichuan_model')要注意一点:保存目录名最好和后续代码里加载模型的路径保持一致。这个项目里 DW 高校行版本存到embedding_model,SCNet 版本存到embedding_model_small,对应的streamlit_app.py和 notebook 里加载的就是这两个路径——目录对不上,模型就加载不到。
如果你有多个模型要拉,套一层循环就行:
for model in ["Alibaba-NLP/gte-base", "BAAI/bge-large-en-v1.5", "moka-ai/m3e-base"]: os.system(f'huggingface-cli download --resume-download {model} --local-dir {model.split("/")[1]}')4. 下载中断、空间不够,按这三步排障
- 断了就重跑。中断后不要删目录,直接再次执行
python download_model.py,--resume-download会自动续传。只有确认文件坏了,才删掉目标目录重新下。 - 先算磁盘。大模型动辄 10GB 以上磁盘空间,开工前看一眼可用空间;7B 级别的语言模型按 15GB 预留比较稳妥。
- 加载报错查版本。有些模型对 transformers 库的版本有要求,加载异常时先看 docs/C3/附LangChain自定义Embedding封装讲解.md 里的兼容性说明,再对照 docs/C5/C5.md 的思路做系统评估,别急着怀疑模型文件本身有问题。
5. 下一步:把模型接进 RAG 链路
模型躺在本地只是第一步,它的用途是给文档和查询生成向量、进向量库做相似度检索。结合 docs/C3/C3.md 搭知识库、docs/C4/C4.md 构建 RAG 应用,就能完整走通"下载模型 → 本地加载 Embedding → 问答"的链路;自定义封装的写法可参考 docs/C4/附LangChain自定义 LLM.md。
建议现在就动手:进入notebook/附/SCNet目录跑一次download_model.py,等进度条走完,再启动同目录的streamlit_app.py验证模型能被正常加载——跑通这一步,后面所有教程里的本地模型环节你都不会再卡住。
【免费下载链接】llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/项目地址: https://gitcode.com/GitHub_Trending/ll/llm-universe
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考