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 接口或網頁端。