openEuler Linux部署 Dify 教程:对接本地 Ollama 构建 AI 应用平台

继成功在欧拉 Linux 部署 Ollama 后,本文将带你完成Dify的部署与配置 ——Dify 是一款开源的 AI 应用开发平台,支持可视化编排提示词、对接本地大模型(如 Ollama)、快速构建聊天机器人 / 知识库等应用。结合 Ollama+Dify,你可实现 “本地大模型 + 可视化应用开发” 的全流程闭环,无需依赖云端 AI 服务。

一、前置准备:确认环境与依赖

1. 核心依赖要求

Dify 基于 Docker 容器化部署(推荐方式),需先在欧拉 Linux 安装以下组件:

依赖项 版本要求 作用
Docker 20.10.0+ 容器运行环境
Docker Compose v2.0.0+ 编排 Dify 多容器服务
Ollama 已安装并正常运行 提供本地大模型推理能力
内存 ≥16GB Dify+Ollama(7B 模型)最低要求
存储空间 ≥20GB 存储 Dify 镜像、数据和模型

2. 检查 Ollama 服务状态(必做)

确保 Ollama 已正常启动且可访问:

# 验证Ollama服务
systemctl status ollama
# 测试Ollama API连通性(返回版本信息即正常)
curl http://127.0.0.1:11434/api/tags

二、步骤 1:安装 Docker 与 Docker Compose

欧拉 Linux 默认未预装 Docker,需手动安装并配置国内镜像源(解决下载慢问题)。

1. 卸载旧版本(若有)

su root  # 切换至root用户
yum remove docker docker-common docker-selinux docker-engine -y

2. 安装 Docker 依赖

# 安装yum工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker官方yum源(国内替换为阿里云源)
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. 安装 Docker CE

# 安装最新版Docker
yum install docker-ce docker-ce-cli containerd.io -y

# 启动Docker服务并设置开机自启
systemctl start docker
systemctl enable docker

# 验证Docker安装(输出版本号即正常)
docker --version

4. 安装 Docker Compose

# 下载Docker Compose二进制文件(适配x86_64架构,ARM架构见备注)
curl -L "https://mirrors.aliyun.com/docker-toolbox/linux/compose/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 添加执行权限
chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose --version

备注:若欧拉系统为 ARM 架构(aarch64,如鲲鹏),替换下载链接为:curl -L "https://mirrors.aliyun.com/docker-toolbox/linux/compose/v2.20.2/docker-compose-Linux-aarch64" -o /usr/local/bin/docker-compose

5. 配置 Docker 国内镜像源(优化下载速度)

编辑 Docker 配置文件,添加阿里云镜像加速:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://你的阿里云镜像加速地址.mirror.aliyuncs.com"]
}
EOF

# 重启Docker使配置生效
systemctl daemon-reload
systemctl restart docker

阿里云镜像加速地址可登录阿里云容器镜像服务免费获取。

三、步骤 2:部署 Dify(Docker Compose 方式)

Dify 官方推荐 Docker Compose 部署,一键拉起前端、后端、数据库、Redis 等所有组件。

1. 下载 Dify 部署配置文件

# 创建Dify部署目录并进入
mkdir -p /opt/dify && cd /opt/dify

# 下载官方docker-compose.yml(国内替换为Gitee镜像)
curl -fsSL https://raw.githubusercontent.com/langgenius/dify/main/docker/docker-compose.yml -o docker-compose.yml
# 国内用户替换为:
# curl -fsSL https://gitee.com/langgenius/dify/raw/main/docker/docker-compose.yml -o docker-compose.yml

2. (可选)修改 Dify 默认配置

默认配置已满足基础使用,若需调整:

  • 端口:默认前端 8000 端口、后端 8001 端口,若端口冲突,编辑docker-compose.ymlports字段(如8000:80改为8080:80);
  • 数据持久化:默认数据存储在/opt/dify/volumes,无需修改;
  • 内存限制:可添加deploy: resources: limits: memory: 8G限制容器内存。

3. 启动 Dify 服务

# 启动所有Dify组件(-d表示后台运行)
docker-compose up -d

# 查看容器状态(所有容器状态为Up即正常)
docker-compose ps

首次启动会自动下载 Dify 镜像(约 1GB),耐心等待即可。若下载卡住,检查 Docker 镜像源是否配置正确。

4. 验证 Dify 启动成功

# 查看Dify后端日志(无报错即正常)
docker-compose logs api

# 访问Dify前端页面

打开浏览器,访问http://[欧拉Linux服务器IP]:8000,若能看到 Dify 登录 / 注册页面,说明部署成功。

四、步骤 3:初始化 Dify 并对接 Ollama

1. 初始化管理员账号

首次访问 Dify 前端(http://IP:8000),会进入初始化页面:

  1. 创建管理员账号(输入邮箱、密码);
  2. 填写组织名称(如 “本地 AI 平台”),完成初始化。

2. 配置 Ollama 作为 Dify 的大模型数据源

Dify 需对接 Ollama 的 API 接口,才能调用本地模型,步骤如下:

步骤 1:进入模型配置页面
  1. 登录 Dify 后,点击左侧菜单栏「设置」→「模型配置」;
  2. 找到「自定义模型」模块,点击「添加模型」。
步骤 2:配置 Ollama 模型参数

以对接 Ollama 的 Llama 3 7B 为例,填写以下信息:

配置项 取值说明
模型类型 选择「Chat」(对话模型)
模型名称 自定义(如 “Ollama-Llama3-7B”)
模型标识 必须与 Ollama 的模型名一致(如llama3,可通过ollama list查看)
API 基础 URL http://[欧拉Linux服务器IP]:11434/v1(Ollama 兼容 OpenAI API 格式,需加 /v1)
API Key 任意填写(Ollama 无需 API Key,此处填占位符如ollama-local
最大上下文窗口 根据模型设置(Llama 3 7B 填 8192)
最大输出令牌数 建议填 1024
步骤 3:测试连接并保存

点击「测试连接」,若提示 “连接成功”,说明 Dify 已成功对接 Ollama;点击「保存」完成模型配置。

关键说明:Ollama 的 API 默认仅本地访问,若 Dify 容器无法访问宿主机的 11434 端口,需:

  1. 确保 Ollama 配置了OLLAMA_HOST=0.0.0.0:11434(参考上篇 Ollama 教程);
  2. 欧拉 Linux 防火墙开放 11434 端口:firewall-cmd --add-port=11434/tcp --permanent && firewall-cmd --reload

五、步骤 4:使用 Dify 构建第一个 AI 应用

配置完成后,即可用 Dify 可视化开发 AI 应用,以 “简单聊天机器人” 为例:

1. 创建应用

  1. 点击左侧菜单栏「应用」→「新建应用」;
  2. 选择「聊天机器人」→「空白应用」,命名为 “本地 Llama3 聊天”。

2. 配置应用使用 Ollama 模型

  1. 进入应用编辑页面,点击右侧「配置」→「模型」;
  2. 选择「自定义模型」→ 已配置的 “Ollama-Llama3-7B”;
  3. 点击「保存」,完成模型绑定。

3. 测试聊天功能

  1. 点击页面右侧「测试」按钮,进入聊天界面;
  2. 输入问题(如 “介绍欧拉 Linux”),点击发送,Dify 会调用 Ollama 的 Llama3 模型返回回答,至此整个流程打通。

六、常用操作:Dify 运维与管理

1. 重启 / 停止 Dify 服务

# 重启Dify
docker-compose restart

# 停止Dify
docker-compose down

# 停止并删除数据卷(谨慎操作,会清空数据)
docker-compose down -v

2. 查看 Dify 数据存储位置

# Dify数据库、Redis数据存储目录
ls /opt/dify/volumes

3. 更新 Dify 版本

cd /opt/dify
# 拉取最新配置文件
curl -fsSL https://raw.githubusercontent.com/langgenius/dify/main/docker/docker-compose.yml -o docker-compose.yml
# 拉取最新镜像并重启
docker-compose pull
docker-compose up -d

4. 配置 Dify 持久化(可选)

默认 Dify 数据已持久化到/opt/dify/volumes,若需备份:

# 备份Dify数据目录
tar -zcvf dify-backup-$(date +%Y%m%d).tar.gz /opt/dify/volumes

七、问题排查:常见错误与解决方法

1. Dify 前端访问不了

  • 原因:8000 端口未开放 / 容器未启动;
  • 解决
    # 开放8000端口
    firewall-cmd --add-port=8000/tcp --permanent && firewall-cmd --reload
    # 检查容器状态
    docker-compose ps
    

2. Dify 测试连接 Ollama 失败

  • 原因 1:Ollama 未配置0.0.0.0监听;解决:重新配置 Ollama 并重启:
    echo 'export OLLAMA_HOST=0.0.0.0:11434' >> /etc/profile
    source /etc/profile
    systemctl restart ollama
    
  • 原因 2:Dify 容器无法访问宿主机 IP;解决:欧拉 Linux 宿主机 IP 可通过ip addr查看,确保 Dify 配置的 API 地址正确(避免用 127.0.0.1,需用宿主机内网 IP)。

3. Dify 启动后日志提示 “数据库连接失败”

  • 原因:Docker Compose 的数据库容器未正常启动;
  • 解决
    # 查看数据库日志
    docker-compose logs postgres
    # 重启数据库容器
    docker-compose restart postgres
    

4. 调用模型时提示 “模型未找到”

  • 原因:Dify 配置的模型标识与 Ollama 实际模型名不一致;
  • 解决:执行ollama list查看 Ollama 本地模型名(如llama3:latest),在 Dify 模型配置中修改 “模型标识” 为一致的值。

八、总结

通过本文,你已在欧拉 Linux 上完成 “Ollama(本地大模型)+ Dify(AI 应用平台)” 的全栈部署,核心流程回顾:

  1. 安装 Docker 与 Docker Compose,解决国内镜像源问题;
  2. 一键部署 Dify 并验证启动状态;
  3. 配置 Dify 对接 Ollama 的 API 接口,完成模型绑定;
  4. 可视化开发 AI 应用,调用本地模型实现对话。

该架构的优势在于:Ollama 负责轻量管理本地大模型,Dify 提供可视化、低代码的应用开发能力,无需编写复杂代码即可快速构建聊天机器人、知识库、AI 助手等应用。后续可探索 Dify 的进阶功能:

  • 接入知识库(上传文档、PDF);
  • 配置提示词模板;
  • 发布应用为 API 接口或网页端。

若需更多帮助,可参考 Dify 官方文档:https://docs.dify.ai/

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐