Docker、Open WebUI和Ollama来运行本地端的大语言模型

1- 系统要求

在开始之前,请确保您的计算机满足以下系统要求:

  • 操作系统:Windows 10/11、macOS 10.15 及以上版本、Linux(Ubuntu 20.04 及以上)
  • 内存:至少 8GB RAM(推荐 16GB 以上),以保证模型运行的流畅性
  • CPU:支持虚拟化的多核处理器,Intel® Core™ i7 或 AMD Ryzen 7 及以上推荐
  • 硬盘空间:至少 20GB 可用空间(考虑到模型文件的大小)
  • 网络连接:稳定和高速的网络连接,用于下载 Docker 镜像和模型文件

补充说明:除了提到的硬件要求,建议读者也检查他们的系统是否支持 64 位架构,因为某些 Docker 镜像可能需要这一特性。

2- 下载和安装 Docker

  1. 访问 Docker 官方网站

  2. 选择操作系统

    • 根据您的操作系统(Windows、macOS 或 Linux)下载相应的 Docker Desktop 安装包。
  3. 安装 Docker

    • 双击下载的安装包,按照安装向导的步骤完成安装。确保勾选 “Enable Hyper-V Windows Features” 或 “Install required Windows components for WSL 2” 以支持容器化应用。
    • 注意:如果您在 Windows 上遇到 “WSL 2 installation is incomplete” 的错误,请确保启用 Windows 的虚拟化功能。
  4. 确认安装

    • 打开终端(Terminal)或命令提示符(Windows)并运行以下命令:

      docker --version
      
    • 如果显示 Docker 版本信息,则安装成功。Docker版本确认

  5. Post-installation steps for Linux: 如果是 Linux 用户,在安装完成后,运行以下命令以便无需 sudo 即可运行 Docker:

    sudo usermod -aG docker $USER
    newgrp docker
    
  6. Docker Hub Account: 建议读者创建一个 Docker Hub 账户,这对于管理镜像和访问私有仓库非常有用。

3- 安装 Open WebUI

3.1- 使用 Docker 安装 Open WebUI

3.1.1- 打开终端

  • 确保 Docker 正在运行。可以在 Docker Desktop 中查看运行状态。补充说明:如果在 Windows 上,确保以管理员身份运行 Docker Desktop 以确保权限足够。

3.1.2- 运行 Open WebUI

  • 使用以下命令启动 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
    

3.1.3- 访问 Open WebUI

  • 打开浏览器,访问 http://localhost:3000
  • 你应该看到 Open WebUI 的登录界面。Open WebUI 界面
  • 补充内容
    • 首次登录时,可能会要求您设置管理员账号,请按照提示完成设置。
    • 确保你的浏览器支持 WebSockets,因为 Open WebUI 可能依赖于这个功能。

4- 故障排除

4.1- 连接问题

如果遇到连接问题,可以尝试以下命令:

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

补充说明:如果网络配置不当,可以尝试使用 docker network inspect 命令查看当前的网络配置。

4.2- 常见错误示例

  • 如果 Docker 容器无法启动,检查是否有端口冲突,尝试使用不同的端口号。
  • 如果遇到 “Error response from daemon: driver failed programming external connectivity on endpoint”,可能需要检查防火墙设置。
  • 补充内容
    • 如果 Docker 无法启动,检查是否有其他虚拟化软件(如 VMWare 或 VirtualBox)在运行,这可能会与 Docker 冲突。

5- 补充内容

5.1- Docker 安装步骤图示

  • 在每个步骤中添加相关的截图,例如 Docker 安装界面、Open WebUI 界面等。
  • Docker 安装步骤
  • 补充
    • 添加一个关于如何在不同操作系统上启用虚拟化支持的图示。

5.2- Open WebUI 使用示例

  • 添加 Open WebUI 的使用示例图,展示如何输入文本和查看输出。
  • Open WebUI 使用示例
  • 补充内容
    • 提供一个视频教程链接,展示如何从头到尾设置和使用 Open WebUI。

6- 视频链接

7- 常见问题解答

7.1- Q: 安装过程中遇到错误怎么办?

  • A: 请检查 Docker 是否正常运行,并确保网络连接正常。查看 Docker Desktop 的状态,或者使用 docker ps 命令查看容器状态。

7.2- Q: Docker 容器启动后无法访问怎么办?

  • A: 检查 Docker 是否在使用正确的网络配置,或者尝试重启 Docker 服务。

7.3- Q: Open WebUI 界面显示不完全或样式丢失?

  • A: 确保浏览器支持 JavaScript 并清除浏览器缓存尝试重新加载。

7.4- Q: 如何使用 Open WebUI 进行模型选择?

  • A: 在 Open WebUI 界面中,您可以从下拉菜单中选择不同的模型,输入文本进行测试,并查看输出结果。

7.5- Q: 如何更新 Open WebUI?

  • A: 你可以使用以下命令来更新 Open WebUI 容器:

    docker pull ghcr.io/open-webui/open-webui:main
    docker stop open-webui
    docker rm 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.6- Q: 如何管理 Docker 容器?

  • A: 你可以使用 docker ps 来查看正在运行的容器,docker stopdocker start 来停止和启动容器,docker rm 来删除容器等。详细信息请参考 Docker 文档。

8- 结论

通过以上步骤,您应该能够在本地成功安装和运行一个基于大语言模型的 WebUI。如果您在使用过程中遇到任何问题,请参考本教程中的故障排除部分或访问相应的社区论坛寻求帮助。

9- 附录

9.1- 术语解释

  • Docker:一个容器化平台,用于将应用程序及其依赖打包到一个容器中,使其在任何环境中都可以一致运行。
  • 容器化:将应用程序及其所需的所有组件(如代码、运行时、系统工具、系统库等)打包到一个独立的容器中。
  • 虚拟化:一种技术,通过在物理硬件上运行多个操作系统实例来提高硬件资源的利用率。

本教程基于 Docker 20.10.17 和 Open WebUI v0.5.2 版本进行编写。

9.2- 进一步学习

  • 补充
    • 提供一些关于 Docker 和容器化的进一步学习资源,如 Coursera 课程、Udemy 课程或官方 Docker 培训。