3、ubuntu系统 | docker+dify+ollama+deepseek搭建本地应用(dify和ollama在各自容器中)
Dify:企业级 Agentic AI 解决方案开发平台。
1、docker 介绍与安装
docker安装:1、Ubuntu系统安装docker_ubuntu docker run-CSDN博客
docker介绍及镜像源配置:2、ubuntu系统docker介绍及镜像源和仓库配置-CSDN博客
docker常用命令:3、ubuntu系统docker常用命令-CSDN博客
docker compose安装:4、docker compose-CSDN博客
2、安装Ollama+deepseek
2.1、ollama安装,本地部署deepseek
Ubuntu系统 | 本地部署ollama+deepseek-CSDN博客
2.2、验证模型交互
在终端输入指令与模型对话:
(llm) wangqiang@wangqiang:~$ ollama run deepseek-r1:32b
>>> 你好
<think>
</think>
你好!很高兴见到你,有什么我可以帮忙的吗?无论是聊天、解答问题还是提供建议,我都在这里为你服务。😊
>>> 你是谁
<think>
嗯,用户之前问了“你好”,我回复了一个友好的问候,并表示愿意帮助。现在他问“你是谁”。这可能意味着他对我的身份或者功能产生了兴趣,想进
一步了解我。
首先,我要确定他为什么会问这个问题。可能是好奇,想知道我是如何工作的;或者是出于安全考虑,想要确认我的来源和能力范围。也有可能是他在测
试我,看看我能提供什么样的帮助。
接下来,我需要清晰地介绍自己,同时保持友好和专业。我应该说明我是一个AI助手,由深度求索开发,这样他能了解我的背景。然后,我要强调我的功
能,比如解答问题、提供建议等,让他知道我可以如何帮助他。
另外,要避免使用过于技术化的术语,确保信息易懂。同时,保持语气积极,鼓励用户提出更多问题或需求,让他感到被支持和理解。
最后,我应该以一种开放的方式结束回应,邀请他继续交流,这样可以促进更深入的对话,并满足他的各种需求。
</think>
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
>>> Send a message (/? for help)
3、使用 Open WebUI
作为交互界面
docker run -d -p 8081:8080 ghcr.io/open-webui/open-webui:main
命令解析:
docker run
Docker 的核心命令,用于创建并启动一个新容器
-d
(detach)
让容器在后台运行(daemon 模式)
终端不会显示容器日志(可使用
docker logs
查看)执行后会返回容器 ID
-p 8081:8080
(port mapping)
设置端口映射:
主机端口:容器端口
格式:
-p <主机端口>:<容器内部端口>
这里表示:
容器内部的 Web 服务运行在 8080 端口
将主机的 8081 端口映射到容器端口
访问方式:
http://localhost:8081
或http://<服务器IP>:8081(
http://192.168.2.22:8081/)
ghcr.io/open-webui/open-webui:main
容器镜像地址:
ghcr.io
:GitHub 容器注册表
open-webui/open-webui
:项目仓库路径
:main
:镜像标签(通常表示最新主分支构建)如果本地没有镜像,Docker 会自动从注册表下载
完整功能解释:
从 GitHub 容器注册表下载最新的 Open WebUI 镜像
创建一个新容器
将容器内部的 8080 端口映射到主机的 8080 端口
在后台启动容器(不会阻塞终端)
访问方式:
启动成功后,在浏览器访问:
👉http://localhost:8081
(如果运行在本地)
或http://<your-server-ip>:8081
(如果在远程服务器运行)# 8080端口被占用,修改为8081 (llm) wangqiang@wangqiang:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5a383cbdd5df ghcr.io/open-webui/open-webui:main "bash start.sh" 10 seconds ago Up 9 seconds (health: starting) 0.0.0.0:8081->8080/tcp, [::]:8081->8080/tcp elastic_hermann 4455f8405701 wordpress "docker-entrypoint.s…" 9 days ago Up Less than a second 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp wordpress-wordpress-1 195ddd8cdf97 mysql:8.0 "docker-entrypoint.s…" 9 days ago Up Less than a second 3306/tcp, 33060/tcp wordpress-db-1
4、dify
4.1、dify介绍
dify官网:Dify:企业级 Agentic AI 解决方案开发平台
中文官方帮助文档:Agent - Dify Docs
4.2、安装 Dify(AI 应用平台)
克隆 Dify 仓库
mkdir dify && cd dify
git clone https://github.com/langgenius/dify.git
克隆 Dify 仓库时遇到了网络问题(HTTP/2 流异常关闭)导致传输中断:
克隆失败留下残余文件,删除缓存目录
rm -rf dify
修复 Git 配置
# 增大 Git 缓冲区大小 git config --global http.postBuffer 524288000 # 500MB # 禁用 HTTP/2(改用 HTTP/1.1) git config --global http.version HTTP/1.1 # 重试克隆 git clone https://github.com/langgenius/dify.git
依然失败,重置 Git 的 HTTP 设置:
git config --global --unset http.version git config --global --unset http.postBuffer
最终解决方案:
(1)是由于网络问题,因此清楚残余文件后,再次运行以下代码, 直到完整下载为止:
git clone https://github.com/langgenius/dify.git
(2)直接下载压缩包解压
访问仓库:https://github.com/langgenius/dify/#
直接下载压缩包:
进入 Docker 配置目录
cd dify/docker
复制环境变量文件
cp .env.example .env
修改环境配置(可选但推荐)
编辑
.env
文件配置关键参数:nano .env # 或使用其他文本编辑器
重点关注以下参数:
# 必填项 POSTGRES_PASSWORD=your_strong_db_password # 替换为强密码 REDIS_PASSWORD=your_redis_password # 替换为强密码 SECRET_KEY=your_random_secret_string # 随机字符串(建议 32 位) # 可选配置 OPENAI_API_KEY=sk-xxx # 若使用 OpenAI SERVICE_API_URL=http://api:5001 # 保持默认 APP_API_URL=http://localhost/api # 后端 API 地址 CONSOLE_WEB_URL=http://localhost # 前端访问地址
关键配置项:
POSTGRES_PASSWORD=your_password # 数据库密码 REDIS_PASSWORD=your_password # Redis 密码 OLLAMA_BASE_URL=http://host.docker.internal:11434 # Ollama 地址
启动 Dify 服务
docker-compose up -d
访问 Dify 平台
首次访问 http://localhost/install
初始化管理员账户。
登录后进入工作台:http://
192.168.2.22/apps
。
http://192.168.2.22/install
4.3、将 DeepSeek 接入 Dify
配置模型供应商
- 登录 Dify 后,点击右上角头像 → 设置 → 模型供应商。
- 添加 Ollama 模型:
- 名称:
DeepSeek-R1
- 基础 URL:
http://host.docker.internal:11434
- 模型名称:
deepseek-r1
- 最大上下文长度:根据模型文档填写(如 32768 tokens)。
- 名称:
验证连接
- 在 Dify 的 模型供应商 页面测试连接,确保无报错。
4.4、创建 AI 应用
-
新建应用
- 进入工作台 → 创建空白应用 → 选择 聊天助手 类型 → 输入应用名称 → 创建。
-
配置模型参数
- 在应用后台:
- 选择模型:
DeepSeek-R1
- 设置提示词(Prompt)和参数(如温度、最大 token 数)。
- 选择模型:
- 在应用后台:
-
测试对话
- 在应用界面输入问题(如 "周杰伦最新专辑"),观察模型输出。
-
扩展功能(可选)
- 本地知识库:上传文档(PDF、TXT 等),Dify 会自动解析并关联到对话中。
- 深度思考模式:在提示词前添加
[请启用深度思考]
。
更多推荐
所有评论(0)