一、什么是Dify
Dify?是一款開源的大語言模型(LLM) 應用開發平臺。它融合了后端即服務(Backend as Service)和??LLMOps 的理念,使開發者可以快速搭建生產級的生成式 AI 應用。即使你是非技術人員,也能參與到 AI 應用的定義和數據運營過程中。它的名稱 "Dify" 來源于 "Define" 和 "AI" 的組合,寓意著通過定義來創造 AI 應用。
由于 Dify 內置了構建 LLM 應用所需的關鍵技術棧,包括對數百個模型的支持、直觀的 Prompt 編排界面、高質量的 RAG 引擎、穩健的 Agent 框架、靈活的流程編排,并同時提供了一套易用的界面和 API。這為開發者節省了許多重復造輪子的時間,使其可以專注在創新和業務需求上。
核心特點
可視化編排:
?? ??? ?提供直觀的工作流設計界面,無需編寫復雜代碼即可構建 AI 應用
?? ??? ?支持拖拽式操作,簡化提示詞工程和模型調優過程
多模型支持:
?? ??? ?支持主流大語言模型如 GPT-4、Claude、Llama 等
?? ??? ?可同時連接多個模型提供商,實現模型間的靈活切換
應用類型豐富:
?? ??? ?支持構建問答系統、文本生成、摘要提取等多種 AI 應用
?? ??? ?可開發對話型應用和文本處理型應用
企業級功能:
?? ??? ?提供 API 訪問控制和用量監控
?? ??? ?支持知識庫增強,可上傳文檔作為上下文
?? ??? ?包含用戶管理和權限系統
技術架構
Dify 采用現代化的技術棧構建:
-
前端:React + TypeScript
-
后端:Python (FastAPI)
-
數據庫:PostgreSQL
-
緩存:Redis
-
部署:Docker 容器化
適用場景
企業內部 AI 助手:
?? ??? ?構建基于企業知識庫的智能問答系統
?? ??? ?自動化文檔處理和報告生成
開發者平臺:
?? ??? ?快速原型設計和驗證 AI 應用想法
?? ??? ?為開發者提供統一的模型接入層
教育領域:
?? ??? ?創建智能教學助手
?? ??? ?開發自動批改和反饋系統
內容創作:
?? ??? ?輔助寫作和創意生成
?? ??? ?多語言內容生產和翻譯
與同類產品的比較
相比于其他 LLM 應用平臺,Dify 的特點是:
-
更注重開發者的靈活性和控制權
-
提供完整的開源解決方案
-
支持私有化部署,保障數據安全
-
強調工作流編排能力而非單一功能
Dify 適合需要定制化 AI 應用同時又希望減少底層開發工作的團隊和個人開發者。
二、安裝部署
環境準備:
說一下我的環境信息:
操作系統:?Ubuntu 22.04
Docker: 27.5.1
Docker Compose: v2.10.2
Python: 3.10.12
硬件: 64G+4090
兩種安裝方式:【docker方式安裝】、【源碼安裝】
方式一:【docker方式安裝】:
1.安裝 Docker 和 Docker Compose
確保你已經安裝了 Docker 和 Docker Compose。如果沒有,請先安裝。
Docker 和Docker Compose可以參考博主的這篇文章:
【Docker 01】docker安裝和基本理論內容-CSDN博客
Docker Compose安裝我在這里遇到了很多問題:
當時使用的是apt 安裝的,結果在安裝dify時,出現了很多報錯信息,后來網上搜索是Docker Compose安裝方式不對,且版本太低導致的,后來更改了安裝方式才好了。
docker-compose?up報錯KeyError: 'ContainerConfig’的解決辦法
?
先卸載已有的docker-compose:
sudo apt purge docker-compose
然后使用如下方式重新安裝:
### install docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
?這里在執行??
?curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
時,一直報錯,連接不上服務
?
這里我下載了離線的包,傳上去了,然后才不報錯了
https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-Linux-x86_64
https://blog.csdn.net/tabactivity/article/details/146210697
https://blog.csdn.net/lpy13699855019/article/details/139746249
https://blog.csdn.net/qq_44866828/article/details/147549836
2.克隆 Dify 代碼倉庫
克隆 Dify 源代碼至本地環境。
git clone https://github.com/langgenius/dify.git
3.啟動 Dify
3.1 進入 Dify 源代碼的 Docker 目錄
cd dify/docker
3.2 復制環境配置文件
cp .env.example .env
如果默認端口(80, 5432, 6379等)被占用,修改.env
文件中的端口配置:
?
我是nginx和ssl沖突了:
EXPOSE_NGINX_PORT=8000
EXPOSE_NGINX_SSL_PORT=445# 修改PostgreSQL端口
PG_PORT=5433# 修改Redis端口
REDIS_PORT=6380
3.3 啟動 Docker 容器
根據你系統上的 Docker Compose 版本,選擇合適的命令來啟動容器。
docker-compose up -d
3.4.運行命令
運行命令后,你應該會看到類似以下的輸出,顯示所有容器的狀態和端口映射:
?
?
?
等上一會兒你就會發現部署結果:
[+] Running 10/10? Network docker_ssrf_proxy_network Created 0.1s ? Network docker_default Created 0.0s ? Container docker-redis-1 Started 2.4s ? Container docker-ssrf_proxy-1 Started 2.8s ? Container docker-sandbox-1 Started 2.7s ? Container docker-web-1 Started 2.7s ? Container docker-weaviate-1 Started 2.4s ? Container docker-db-1 Started 2.7s ? Container docker-api-1 Started 6.5s ? Container docker-worker-1 Started 6.4s ? Container docker-nginx-1 Started 7.1s
?
最后檢查是否所有容器都正常運行:docker-compose ps
在這個輸出中,你應該可以看到包括 3 個業務服務?api / worker / web
,以及 6 個基礎組件?weaviate / db / redis / nginx / ssrf_proxy / sandbox
?
?通過這些步驟,你可以在本地成功安裝 Dify。
4.訪問 Dify
在瀏覽器輸入框里輸入:localhost:8000/install,這是為了完成 Dify 的初始配置的。稍等一會兒,就大功告成了。
?
根據情況輸郵箱,用戶名,密碼 完成本地注冊可以開始使用
?
5.更新 Dify
進入 dify 源代碼的 docker 目錄,按順序執行以下命令:cd dify/docker
git pull origin main
docker-compose down
docker-compose pull
docker-compose up -d
同步環境變量配置 (重要!)
- 如果?
.env.example
?文件有更新,請務必同步修改你本地的?.env
?文件。 - 檢查?
.env
?文件中的所有配置項,確保它們與你的實際運行環境相匹配。你可能需要將?.env.example
?中的新變量添加到?.env
?文件中,并更新已更改的任何值。
完整的環境變量集合可以在?docker/.env.example
?中找到。?
自定義配置
編輯?.env
?文件中的環境變量值。然后重新啟動 Dify:
# 停止
docker-compose down
# 開啟
docker-compose up -d
https://blog.csdn.net/yinshuilan/article/details/146498600
https://www.jb51.net/os/Ubuntu/985789.html
Docker Compose 部署 - Dify Docs
方式二:【源碼方式安裝】:
這個參考文檔,大體差不多,先不做詳細記錄了,等有空接著完善。
使用源代碼本地啟動 - Dify Docs
官方文檔:
產品簡介 - Dify Docs
dify社區版添加新成員用戶賬號可以參考這篇文章:
dify社區版添加新成員用戶賬號_dify賬號注冊-CSDN博客
dify社區版添加新成員用戶賬號(適合公司等內部使用)_dify添加用戶-CSDN博客