论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
前端开发
›
从零开始构建强大 AI 对话系统:ollama + deepseek + op ...
从零开始构建强大 AI 对话系统:ollama + deepseek + open-webui 完整部署 ...
铁佛
论坛元老
|
2025-2-14 16:01:26
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
1023
|
帖子
1023
|
积分
3069
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
媒介
在现代的人工智能应用中,基于模型的对话系统和开放式网络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 上:
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
模型:
docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码
此时,系统已启动,进入容器后,你可以看到一个 >>> 的提示符,表示可以开始与模型进行对话了。
利用 GPU 运行
安装 NVIDIA 驱动
请参考 Ubuntu 安装 NVIDIA 驱动实操指南(含卸载)
安装 NVIDIA 容器工具包
利用 Apt 安装:
配置存储库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
复制代码
安装 NVIDIA 容器工具包
sudo apt-get install -y nvidia-container-toolkit
复制代码
利用 Yum 或 Dnf 安装:
配置存储库
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
| sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
复制代码
安装 NVIDIA 容器工具包
sudo yum install -y nvidia-container-toolkit
复制代码
配置 Docker 利用 Nvidia 驱动
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
复制代码
启动容器:
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
复制代码
配置 AMD GPU
利用 AMD GPU 启动 ollama 时,可以利用 rocm 标签,并执行以下下令:
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
复制代码
2. 当地运行模型
现在可以运行模型了:
docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码
2. 部署 open-webui
接下来,我们将部署 open-webui,它是一个用于与 AI 模型交互的 Web 界面。只需要执行以下下令即可启动:
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 文件的示例:
version: '3'
services:
ollama:
image: ollama/ollama:0.5.8
container_name: ollama
volumes:
- ./ollama:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
count: all # 调整数量以匹配你希望使用的 GPU 数量
ports:
- "11434:11434"
restart: always
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
volumes:
- ./open-webui:/app/backend/data
restart: always # 可以选择是否需要重启策略
复制代码
在文件夹中创建 docker-compose.yml,然后执行以下下令启动所有服务:
docker-compose up -d
复制代码
Docker Compose 会根据 docker-compose.yml 文件自动拉取镜像、创建容器并启动服务。你只需要专注于应用的业务逻辑,无需手动管理每个容器。
然后再执行:
docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码
假如跑 CPU 的话,那就把这段删掉就好了:
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: ["gpu"]
count: all # 调整数量以匹配你希望使用的 GPU 数量
复制代码
六、留意事项与常见标题
发现实在是太多内容了,单独拎出来另写一篇博文了
部署 ollama + deepseek + open-webui 遇到的常见标题与办理建议
六、总结
通过以上步骤,我们已经乐成地在 Docker 中部署了
ollama、deepseek 和 open-webui
,并通过 Docker Compose 优化了整个部署过程。这一组合为开发者和 AI 研究职员提供了一个快速、高效的对话系统办理方案,可以方便地进行自界说开发与实行。
假如有任何标题,欢迎留言讨论!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
铁佛
论坛元老
这个人很懒什么都没写!
楼主热帖
R语言使用dplyr包的arrange函数对dataf ...
Visual Studio 2022 安装低版本的 .Net ...
Apifox:节省研发团队的每一分钟 ...
手把手教你入门Python中的Web开发框架 ...
身为一个测试工程师只会点点点?我劝您 ...
通过cookie和localstorage实现数据持久 ...
.net6下使用DotnetZip解压文件,中文出 ...
.Net Core 5.x Api开发笔记 -- Swagger ...
实现华为多屏协同--非华为电脑下载12.0 ...
反射(一)-常用方法及加载资源文件 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
数据仓库与分析
物联网
Oracle
网络安全
IOS
DevOps与敏捷开发
快速回复
返回顶部
返回列表