随着大语言模型领域的持续发展,私有化部署大模型变得越来越容易,其中一种路径是OpenWebUI + Ollama,OpenWebUI提供了类似于ChatGPT的简洁Web页面供用户使用,Ollama则提供了管理大模型的框架,按照🏡 Home | Open WebUI提供的步骤第一次尝试私有化部署了llama3.1 *B模型,其实也没有太多技术含量,不过成功部署完还是有点小小的成就感。
1. 这次选择了Azure国际云,最开始用阿里云,但是通过阿里云下载llama3.1 7B模型(4.7GB)基本下载不动,转为使用Azure国际云Ubuntu服务器。
2. 安装Docker,Ollama和OpenWebUI都支持Docker的部署方式,OpenWebUI推荐使用Docker部署,按照以下脚本安装Docker,如果环境不同遇到问题可以自行搜索解决,我当时遇到一些错误记得是通过文心一言结合搜索来解决。
# 更新包索引
sudo apt update
# 安装允许apt访问https包的相关工具
sudo apt install ca-certificates curl
# 安装Docker的apt安全组件
sudo install -m 0755 -d /etc/apt/keyrings
# 安装用于验证Docker包真实性和完整性的工具
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 把Docker的存储地址加到apt的source里
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 再次更新包索引
sudo apt update
# 安装docker相关包
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 测试docker是否安装成功
sudo docker run hello-world
3. 安装Ollama,按照Download Ollama on Linux的指示,在Ubuntu服务器里运行下面命令即可下载完成安装,Ollama安装。
curl -fsSL https://ollama.com/install.sh | sh
4. Ollama安装成功后通过Ollama下载大语言模型,我选择的是llama3.1 8B,8B就是80亿参数,可以选择更大的模型比如70B也就是700亿参数,还有405B也就是4050亿参数,但70B要40GB空间,405B要229GB空间,关键下载这么大的文件要花很长时间,此次部署仅仅是为了体验整个过程,于是选择8B,需要下载4.7GB的模型文件,通过以下命令开始下载:
ollama pull llama3.1:8b
5. 可以通过以下命令来运行大模型进行聊天来验证是否安装成功,我使用的服务器配置一般,聊天速度巨慢
ollama run llama3.1:8b
6. 接下来通过以下命令安装open webui,安装完成后在3000端口可以访问本地的open webui,进去后注册的第一个账户就是管理员账户
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
7. 安装的时间有点长了,细节有点记不清楚,当时遇到过在本地的open webui网站里选择不到之前安装的llama 8B的问题,问题出在ollama运行的端口和open webui运行的端口中之间的通信问题,记得可以访问8080端口来观察ollama运行的问题,后来应该是在哪里修改了ollama的端口解决了问题。
8. 成功启动open webui本地网站后能够选择到8B模型,问了一个简单问题,也是遇到访问巨慢的问题。