家里N年前攒的一台台式电脑,带一块NVidia GTX970。
平时搭建Docker也好,部署什么系统也好,都是在Linux系统上,几乎没在Windows系统上搭建过什么。但为了尝试本地大模型,就把系统换成Linux,成本似乎也有点高,就想着尝试在Windows系统上搭建一下,发现效果还不错。
所以就把过程记录了下来,估计可以帮到有类似环境的朋友。
涉及到的技术点包括:
- Windows 10 开启WSL2;
- Windows 10 通过Docker Desktop下载并部署Docker容器;
以下是安装与使用过程。
# 1、Windows安装ollama
下载安装程序并安装:https://ollama.com/download/windows
很简单,二进制安装程序,下载双击后没什么配置选项,按提示安装即可。
Linux系统的话也类似,一条命令就安装完成了。
#
2、ollama
配置
默认情况下,ollama
启动后,只会监听本地地址127.0.0.1:11434
。
要想局域网内其它网站可以访问(比如可以把Lobechat安装到另一台设备上),需要给Windows设置以下环境变量:
|
|
设置完环境变量后需要重启ollama
才能生效。
# 3、下载模型
在https://ollama.com/library
搜索想要下载的模型。
显卡是GTX970
,试了下可以支持到13B
的模型,就是生成效率慢一些,7B
及以下的模型反应比较快。
下载方法与Docker下载镜像方法类似,打开Powershell,通过以下命令安装:
|
|
下载的模型默认安装在C盘的C:\Users\sunxidong\.ollama\models
目录。
如果不想安装在该默认目录,可设置环境变量OLLAMA_MODELS
来指定模型的下载目录。
下载完模型,其实就可以通过Powershell试用了。在Powershell下执行:
|
|
就可以支持对话了。不过用Lobechat的话效果更好一些。
# 4、 安装Lobechat
当前Lobechat只支持通过Docker安装。镜像不大,随便一个Linux环境就可以。不过为了保持环境的统一,主要也是为了尝试一下Windows下的Docker,就也在Windows下安装了。
顺便说一句,这是第一次使用Windows下部署Docker容器,使用的是官方的Docker Desktop,发现效果还是很不错的,使用也非常方便。
不过Docker Desktop依赖WSL,需要给Windows先安装WSL。
# 4.1 Windows系统安装WSL
在Windows使用Docker,需要的限制条件比较多,比如Windows的版本、硬件配置等,可参考官方文档
, 包括:
- WSL版本在
1.1.3.0
及以后版本; - Windows 11 64位:家庭版/专业版/企业版/教育版的21H2或更高版本;
- Windows 10 64位:
- 推荐家庭版/专业版/企业版/教育版的
22H2
(build 19045
)或更高版本; - 最小版本为家庭版/专业版/企业版/教育版的
21H2
(build 19044
)
- 推荐家庭版/专业版/企业版/教育版的
- 在Windows 10或Windows 11开启WSL2需要满足以下硬件条件:
- 支持
SLAT
的64位处理器 - 4GB内存
- 在BIOS中启用硬件虚拟化
- 支持
关于WSL2更多信息可参考这里
这里简要介绍安装并开启方法:
- 以管理员权限打开Powershell,执行以下命令:
wsl -l -o
或wsl --list --online
,查看可安装的系统;wsl --install -d Debian
(如果不加-d
选项,则默认安装的是Ubuntu);
- 将WSL版本更新到WSL2
- 较新版本的Windows按以上方法安装完成后,就已经是WSL2了,可通过
wsl -l -v
命令查看 - 如果不是WSL2版本,可通过
wsl --set-version <distro name> 2
命令设置,<distro name>
为Linux发行版的名称。
- 较新版本的Windows按以上方法安装完成后,就已经是WSL2了,可通过
# 4.2 安装Docker Desktop
安装程序下载链接 https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe
需要注意的是,安装完成后点击确认按钮会注销当前用户并重新登录系统,因此如果有未保存的文档修改,记得先保存。
# 4.3 下载并启动Lobechat容器
打开Docker Desktop,搜索并下载Lobechat镜像,之后直接启动即可,配置如下:
注意:
- 指定必须要指定环境变量
OLLAMA_PROXY_URL
,否则在Lobechat的配置中默认没有ollama。 - 映射的本地端口为
2300
。 - 由于Windows 更新限制了对 Windows 机器上某些端口的访问,因此这里要注意映射的端口。
- 该问题可参考这里
- Windows限制的端口可在Powershell下通过以下命令得到:
|
|
- 因此这里映射为端口
2300
(或者任意不在该范围内的端口)。
镜像启动之后,就可以在浏览器通过地址http://<hostname or ip>:2300
访问了。
注意:用Firefox访问会有问题,建议用基于Chrome的浏览器访问。
# 4.4 配置Lobechat
直接参考官方说明即可,这里不再复述。
# 5、实际效果
这里使用的是千问7B的模型,响应速度非常快: