Ollama
ollama安装到指定路径
参考文献:windows将ollama及模型安装到D盘或其他盘符
默认情况下ollama和下载的llm都是安装在C盘上的,ollama本身的依赖就占了5GB,如果再加上LLM,非常占用空间,因此要将ollama及下载模型安装到其他盘符上,防止C盘空间爆满。
在ollama官网下载了它的安装包之后,双击安装包它会自动安装到C盘上,不给选择安装文件夹的选项,如果选择Install安装那就直接安装到C盘了;
步骤
- 在ollama安装包存放的文件路径输入的cmd内输入如下命令, 回车
1 | # 在命令行输入一下内容: 软件包名称 /DIR=指定目录 |
- 弹出安装程序,直接Install
- 修改大模型存储目录,打开环境变量设置,在环境变量中新建系统变量
1 |
|
复制转移大模型存储目录,创建完环境变量后,将Ollama停止,进入C盘–>用户–>电脑名称–>.ollama–>复制整个models到刚刚上面新建的存储目录下。复制完成后删除C盘目录下的models文件夹。
重启Ollama 或 电脑 使环境变量生效,之后再下载大模型会安装到指定的目录中。
ollama下载大模型
ollama常用命令
当使用 Ollama 命令中涉及 <model_name> 参数时,需要带上模型名称后面的完整参数,包括冒号 : 和后面的标签(tag)。
例如,在 ollama list 输出中,模型名称是 gemma3:4b 和 deepseek-r1:7b。
- 如果想运行 Gemma 3 的这个特定版本,你应该使用命令
ollama run gemma3:4b。 - 如果想删除 deepseek-r1 的那个版本,你应该使用命令
ollama rm deepseek-r1:7b。
通常情况下,冒号后面的部分(也就是标签,如 :4b、:7b、:latest 等)是用来标记同一个基础模型的不同变体。这些变体往往是根据以下因素来区分的:
- 参数量: 不同的标签可能对应模型不同的参数数量(例如,一个模型可能有 7B、13B、70B 等不同参数量的版本)。
- 量化级别: 量化是减小模型大小和提高推理速度的技术。不同的标签可能表示模型使用了不同的量化级别(例如,
:q4_0表示使用了 4-bit 量化)。 - 版本: 标签也可能用来区分模型的不同训练版本或更新。
| 命令 | 用途 | 示例 |
|---|---|---|
ollama list |
列出本地已下载的模型 | ollama list |
ollama run <model_name> |
运行指定模型并启动交互式对话(未下载则自动下载) | ollama run llama3 |
ollama pull <model_name> |
下载指定的模型 | ollama pull mistral |
ollama rm <model_name> |
删除本地模型 | ollama rm gemma3:4b |
ollama create <new_model_name> -f <Modelfile_path> |
根据 Modelfile 创建新模型 | ollama create my-model -f ./Modelfile |
ollama build <new_model_name> -f <Modelfile_path> |
根据 Modelfile 构建新模型 (create 的别名) | ollama build my-model -f ./Modelfile |
ollama push <model_name> |
推送本地模型到注册中心 | ollama push my-model |
ollama serve |
启动 Ollama 服务 (通常在后台运行,手动启动时使用) | ollama serve |
ollama help |
显示 Ollama 命令帮助信息 | ollama help |
ollama help <command> |
显示特定命令的详细帮助信息 | ollama help run |
Windows Docker删除镜像,磁盘空间未释放问题
这种情况在 Windows 版 Docker Desktop 下是比较常见的。即使删除了镜像、容器和卷,D:\DockerHub 文件夹(或其他 Docker Desktop 存储数据的位置)占用的空间没有立刻减少,原因在于 Docker Desktop 的底层工作方式:
Docker Desktop 使用虚拟机 (VM): 在 Windows 上,Docker Desktop 不是直接在 Windows 系统上运行 Docker 引擎,而是会创建一个**轻量级的 Linux 虚拟机 (Windows Subsystem for Linux,WSL)**(在较新版本的 Windows 上通常是基于 WSL 2,旧版本可能基于 Hyper-V)。Docker 引擎和所有容器、镜像、卷等数据实际上都存放在这个 VM 的文件系统里。
数据存储在虚拟硬盘文件里: 这个 Linux VM 的整个文件系统都被打包在一个虚拟硬盘文件里(通常是
.vhdx格式)。D:\DockerHub或者 Docker Desktop 配置的数据目录,存放的就是这个巨大的虚拟硬盘文件以及其他一些配置信息。删除数据只发生在 VM 内部: 当在 Docker Desktop UI 或通过命令删除镜像、容器、卷时,其实是在告诉 VM 内部的 Docker 引擎去删除数据。这些数据在 VM 内部的文件系统里被标记为已删除,对应的空间在 VM 内部的文件系统里是释放了。
虚拟硬盘文件不会自动收缩: 然而,VM 的虚拟硬盘文件在你Windows 宿主机上(那个
.vhdx文件)通常是动态扩展的,它会随着 VM 内部写入的数据增多而变大,但当从 VM 内部删除数据时,这个虚拟硬盘文件本身不会自动立即收缩把空间还给 Windows 宿主机。被删除数据占据的空间在虚拟硬盘文件里变成了“空闲但未释放”的状态。
如何回收这部分空间?
参考文献:Windows Docker删除镜像,磁盘空间未释放问题
需要进行额外的步骤来“压缩”或“优化”这个虚拟硬盘文件,让它把 VM 内部的空闲空间真正释放回给 Windows 宿主机。
操作步骤
- 查看镜像本地目录
关闭Docker Desktop(要在右下角的图标上选择退出)
以管理员身份执行power shell命令 查看状态是Stopped证明docker彻底关闭
- 压缩虚拟磁盘文件
1 | # 关闭WSL2 中的 linux distributions |
- 执行命令
1 | DISKPART> select vdisk file="D:\DockerHub\DockerDesktopWSL\disk\docker_data.vhdx" |
- 验证问题是否修复
使用docker安装open-webUI
- 使用国内源进行安装,如果使用clash代理下载容器非常非常慢,国内的很快,用南京大学的源
- 除了使用docker安装外(Linux服务器首选),还能使用python安装或者anaconda进行安装
1 | docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main |
- 等待下载完成之后,在docker desktop直接点击容器即可打开web页面,需要等个30s左右再打开,否则未初始化完成会连接不上















