从零开始构建强大 AI 对话系统:ollama + deepseek + open-webui 完整部署 ...

铁佛  金牌会员 | 2025-2-14 16:01:26 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 877|帖子 877|积分 2631


媒介

在现代的人工智能应用中,基于模型的对话系统和开放式网络UI正逐渐成为越来越多企业和开发者的选择。本篇博文将为您详细讲解怎样通过 Docker 部署 ollama、deepseek 和 open-webui,并联合利用 Docker Compose 实现更加高效、便捷的管理。
   AI 模型分享、讨论、下载,开放社区 Hugging Face 内里可以找到很多建议
  
一、工具简介

在开始之前,我们先相识一下每个工具的功能和作用:
ollama


  • ollama 是一个强大的对话生成模型,它支持多种自然语言处理任务,包括对话生成、问答、文本总结等。通过容器化部署,ollama 可以轻松地集成到开发环境中,提供一个机动、可扩展的对话服务。
deepseek


  • deepseek 是一个基于深度学习的语义理解模型,通常与对话系统一起利用。它能够根据用户的输入快速生成符合语义逻辑的答复,从而增强对话系统的正确性和响应速率。在本教程中,我们通过 ollama 运行 deepseek 模型,提供强大的对话能力。
open-webui


  • open-webui 是一个开源的 Web 界面,用于与 AI 模型进行交互。通过它,用户可以通过欣赏器与部署的 AI 模型进行实时对话,查看模型的输出结果。open-webui 提供了一个简洁、易用的 UI,方便用户快速集成和管理对话系统。

二、前期准备

在开始部署之前,首先确保系统中已安装好 Docker。若尚未安装,可以参考以下教程:
Windows 系统 Docker 安装教程(菜鸟教程)
Docker 是一个基于容器的轻量级假造化平台,能够帮助我们更轻松地部署和运行应用。

三、部署步骤

1. 安装并配置 ollama

可参考:


  • ollama官网
  • ollama 官方 docker 镜像
ollama 是一个强大的对话生成模型,支持多个版本的对话能力。在 Docker 中部署 ollama 是十分简单的。我们首先需要从 Docker Hub 上拉取 ollama 的镜像。
利用 CPU 运行

用如下下令,可以直接跑在 CPU 上:
  1. docker run -d -v D:/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
复制代码
  -d:后台运行容器
-v D:/ollama:/root/.ollama:将当地文件夹挂载到容器内
-p 11434:11434:映射端口,方便外部访问
--name ollama:容器名称
ollama/ollama:镜像名
  部署完成后,执行以下下令启动 deepseek 模型:
  1. docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码
此时,系统已启动,进入容器后,你可以看到一个 >>> 的提示符,表示可以开始与模型进行对话了。
利用 GPU 运行

安装 NVIDIA 驱动
请参考 Ubuntu 安装 NVIDIA 驱动实操指南(含卸载)
安装 NVIDIA 容器工具包


  • 利用 Apt 安装:

    • 配置存储库
    1. curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
    2.     | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
    3. curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
    4.     | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    5.     | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    6. sudo apt-get update
    复制代码
      

    • 安装 NVIDIA 容器工具包
    1. sudo apt-get install -y nvidia-container-toolkit
    复制代码

  • 利用 Yum 或 Dnf 安装:

    • 配置存储库
    1. curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    2.     | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
    复制代码
      

    • 安装 NVIDIA 容器工具包
    1. sudo yum install -y nvidia-container-toolkit
    复制代码

配置 Docker 利用 Nvidia 驱动
  1. sudo nvidia-ctk runtime configure --runtime=docker
  2. sudo systemctl restart docker
复制代码
启动容器:
  1. docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
复制代码
配置 AMD GPU

利用 AMD GPU 启动 ollama 时,可以利用 rocm 标签,并执行以下下令:
  1. docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
复制代码
2. 当地运行模型

现在可以运行模型了:
  1. docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码

2. 部署 open-webui

接下来,我们将部署 open-webui,它是一个用于与 AI 模型交互的 Web 界面。只需要执行以下下令即可启动:
  1. docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.x.x:11434 -v D:/open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
复制代码
  -p 3000:8080:将容器的 8080 端口映射到宿主机的 3000 端口
-e OLLAMA_BASE_URL=http://192.168.x.x:11434:配置 ollama 服务的基础 URL 地点(此处 192.168.x.x 请替换为本机 IP 地点)
-v D:/open-webui:/app/backend/data:挂载当地目次到容器
--name open-webui:容器名称
--restart always:容器非常退出后自动重启
  可利用 ip a (Linux)或 ipconfig (Windows)下令查看本机 ip 地点。
四、调试与验证

完成部署后,可以通过欣赏器访问 http://localhost:3000 进入 open-webui。在这个 Web 界面上,你可以与 deepseek 模型进行交互。
   登录进去后,左上角选择模型。
  五、Docker Compose 简化部署

为了让部署过程更加自动化和易于管理,我们可以将以上下令封装到一个 docker-compose.yml 文件中。通过 Docker Compose,我们可以实现一次性启动整个应用栈。
以下是 docker-compose.yml 文件的示例:
  1. version: '3'
  2. services:
  3.   ollama:
  4.     image: ollama/ollama:0.5.8
  5.     container_name: ollama
  6.     volumes:
  7.       - ./ollama:/root/.ollama
  8.     deploy:
  9.       resources:
  10.         reservations:
  11.           devices:
  12.           - driver: nvidia
  13.             capabilities: ["gpu"]
  14.             count: all  # 调整数量以匹配你希望使用的 GPU 数量
  15.     ports:
  16.       - "11434:11434"
  17.     restart: always
  18.   open-webui:
  19.     image: ghcr.io/open-webui/open-webui:main
  20.     container_name: open-webui
  21.     ports:
  22.       - "3000:8080"
  23.     environment:
  24.       - OLLAMA_BASE_URL=http://ollama:11434
  25.     volumes:
  26.       - ./open-webui:/app/backend/data
  27.     restart: always  # 可以选择是否需要重启策略
复制代码
在文件夹中创建 docker-compose.yml,然后执行以下下令启动所有服务:
  1. docker-compose up -d
复制代码
Docker Compose 会根据 docker-compose.yml 文件自动拉取镜像、创建容器并启动服务。你只需要专注于应用的业务逻辑,无需手动管理每个容器。
然后再执行:
  1. docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码
  假如跑 CPU 的话,那就把这段删掉就好了:
  1.    deploy:
  2.    resources:
  3.      reservations:
  4.        devices:
  5.        - driver: nvidia
  6.           capabilities: ["gpu"]
  7.           count: all  # 调整数量以匹配你希望使用的 GPU 数量
复制代码
六、留意事项与常见标题

发现实在是太多内容了,单独拎出来另写一篇博文了
部署 ollama + deepseek + open-webui 遇到的常见标题与办理建议
六、总结

通过以上步骤,我们已经乐成地在 Docker 中部署了 ollama、deepseek 和 open-webui,并通过 Docker Compose 优化了整个部署过程。这一组合为开发者和 AI 研究职员提供了一个快速、高效的对话系统办理方案,可以方便地进行自界说开发与实行。
假如有任何标题,欢迎留言讨论!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表