1、Windows 11使用Ollama本地部署Qwen2.5-14B模型
1、Windows 11使用Ollama本地部署Qwen2.5-14B模型
1.1 硬件环境
我的方法需要有Nvidia显卡。CUDA对大多数模型来说都是必要的。当然有无Nvidia显卡的部署方法,只是那样需要非常非常大的内存,这里先不考虑。
CPU: Ryzen 7 9700X
GPU: RTX 4070ti Super 16G
内存: 64GB
这里只列举了电脑最重要的三个参数,甚至连内存容量都可以不管(当然还是要有一点的),只看CPU和GPU。
Qwen2.5的14B版本需要占用大约9G显存,小于这个显存大小就不建议部署了。
1.2 软件环境
1.2.1 Nvidia驱动
访问Nvidia官网驱动搜索,按照自己的显卡挑选驱动,默认安装即可。
1.2.2 CUDA
在安装完Nvidia驱动后,首先打开cmd或者PowerShell,输入命令:
nvidia-smi
按回车,查看显卡支持的最高CUDA版本。例如,我的是CUDA 12.7。
然后,同样是访问Nvidia官网下载安装即可。虽然我的显卡最高支持到CUDA 12.7,但我下载的是12.6。
1.2.3 python环境
为了防止环境污染,我用了anaconda来管理虚拟环境。
首先是下载。
下载方法1:
访问anaconda官网下载,默认安装。
下载方法2(适用于国内网络环境):
找到最新的镜像,Windows要选Windows_x86_64.exe后缀的,例如我选的是Anaconda3-2024.10-1-Windows-x86_64.exe这一项。
下载到后,默认安装即可。但要注意,要记住自己的安装路径,可以先复制一下。安装后需要配置环境变量。打开Windows设置,在搜索栏搜索“高级系统设置”,打开,在界面右下角点“环境变量”。环境变量分为两块区域,一块是用户变量,一块是系统变量。在系统变量那栏找到“PATH”项目(也可能是“Path”),双击。在右边点击新建,粘贴上刚才安装anaconda的路径,回车。然后再点一次新建,粘贴上anaconda的路径,再在后面加上“\Scripts”,回车,保存。例如,我新建的两个条目:
C:\Users\33398\anaconda3
C:\Users\33398\anaconda3\Scripts
然后,打开cmd或PowerShell,输入:
conda --version
命令行会返回当前conda版本号。注意,cmd或PowerShell必须是新打开的,而不能是刚才已经打开过放在后台的。如果成功返回,再输入:
conda init
等待片刻,命令行最前面会出现(base)的字样。如果失败,可以搜索一下错误原因,可能会需要用户解开Windows的一些安全限制。总之这个配置过程非常简单。
成功出现(base)后,就要新建用来跑ollama的环境了。ollama最适配的环境是Python3.9,但我试过用Python3.11也可以。为了稳定性,还是用Python3.9来部署。在出现了(base)的命令行中继续输入:
conda create -n env_name python=3.9
其中,“env_name”需要换成自己起的环境名,比如“llama-factory”。等待anaconda下载并创建好环境,就可以切换到这个新建的环境中:
conda activate llama-factory
然后,命令行前面就会变成(llama-factory)而不再是(base)。
1.2.4 pytorch
首先访问pytorch官网下载界面
根据系统版本、CUDA版本选择好后,复制安装命令,在命令行为(llama_factory)前缀的情况下,输入:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
等待安装即可。
1.2.5 git
访问git官网直接下载,默认安装就可以。
重新打开cmd或PowerShell,输入
git -v
看是否返回git的版本。
这个记录里,git主要用在llama-factory的拉取。有些模型也需要通过git拉取。
1.2.6 用ollama自动下载模型并部署
终于到了这一步!ollama提供的部署方法非常非常简单,只是配置前面这些环境比较麻烦。
访问ollama官网下载Windows版本的ollama,并安装。
重新打开cmd或PowerShell,进入llama-factory环境。
conda activate llama-factory
输入命令
ollama run qwen2.5:14b
等待,等镜像下好,他就会自动运行了。可以在命令窗口直接和刚部署的AI对话。如果关闭命令窗口后需要重新打开对话框,还是需要进入llama-factory环境,输入ollama run命令运行。
如果只需要对话功能,事情到这里就结束了。
1.2.7 更好的对话框
如果需要类似于ChatGPT的界面,可以用docker部署webui。使用webui还有一个好处:可以保存每次对话的记录,以后打开可以继续聊。
使用docker需要打开CPU的虚拟化功能。某些BIOS是不会默认打开的。重启进入BIOS,根据主板品牌不同会有不同的进入方法,需要先查主板的说明书,或者重启出现主板LOGO的时候看一下左下或者右下角有没有进入BIOS按键的提示。虚拟化可以自己找一下打开选项的位置,也可以直接找教程,很简单。
重启后,去docker官网下载docker,默认安装就行。
安装后,首先需要在直接打开桌面图标,Docker Desktop。docker启动需要一些时间。启动完成后,用管理员身份打开cmd或PowerShell,输入命令:
docker --version
如果返回版本号,那就是安装成功。
继续打开Docker Desktop,我们需要先换源(如果有代理可以不用)。点击右上角的齿轮,再在左侧点击Docker Engine。仿照json的格式,加入新项目:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"registry-mirrors": [
"https://1nj0zren.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"
]
}
保存即可。注意不要改错。如果格式有问题,docker会提示,并且不能保存。改好后,要重新启动一下docker。
我已经编辑好了启动webui的命令,要用管理员身份运行cmd或者PowerShell,运行:
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.io/open-webui/open-webui:main
首次运行时,docker会因为找不到镜像而去拉取。耐心等待拉取完毕,然后再运行一次这条命令就行。
打开浏览器,输入网址:127.0.0.1:3000
就可以顺利打开webui了。首次打开需要注册,当然,这是保存在本地的,所以邮箱是什么其实无所谓,能记住就行,不必非得是真的邮箱。
进入页面后,就可以正常聊天了。
至此,好看的对话框界面也搞定了。
1.2.9 把服务转发到公网
占位
1.2.10 在魔搭社区挑选模型并使用llama-factory微调
时间不早,微调下次再写。