文章目錄
- 一、Dify 是什么
- 二、安裝與部署
- 2.1 云端 SaaS 版(快速入門)
- 2.2 私有化部署(企業級方案)
- 三、界面導航與核心模塊
- 3.1 控制臺概覽
- 3.2 核心功能模塊詳解
- 3.2.1 知識庫(RAG 引擎)
- 3.2.2 工作流編排
- 3.2.3 模型管理
- 四、創建第一個 AI 應用
- 場景示例:電商客服助手
- 五、Dify 應用類型
- 5.1 Chatbot(聊天助手)
- 5.2 Text Generator(文本生成)
- 5.3 Agent
- 5.4 Chatflow
- 5.5 Workflow(工作流)
- 六、使用 Dify 的一些技巧
- 6.1 提示詞工程
- 6.2 模型選擇與調優
- 6.3 插件使用
- 七、常見問題解答
- 7.1 部署問題
- 7.2 應用運行問題
一、Dify 是什么
Dify 是一款開源的大語言模型(LLM)應用開發平臺,融合后端即服務(Backend as Service)與 LLMOps 理念,支持零代碼 / 低代碼構建生產級 AI 應用 。
其命名源自 “Define + Modify”,寓意 “定義并持續優化 AI 應用”,同時強調 “為你而做”(Do it for you)的開發體驗 。
它的核心價值在于降低 AI 開發門檻,通過可視化界面實現工作流編排、RAG 引擎搭建及多模型集成,覆蓋從原型設計到生產部署的全生命周期管理。
它還支持云端 SaaS 與私有化部署雙模式,滿足個人開發者快速驗證與企業級數據安全需求 。
二、安裝與部署
2.1 云端 SaaS 版(快速入門)
- 適用人群:特別適合非技術用戶,或者用于功能驗證。
- 操作步驟:
- 訪問 Dify 官網(https://dify.ai ),點擊右上角 “Sign Up”。
- 支持郵箱注冊或使用第三方賬號(GitHub/Google)登錄。
- 免費版權益:擁有 200 次 GPT-4 調用額度、5MB 知識庫存儲空間以及基礎工作流功能。
2.2 私有化部署(企業級方案)
- 適用場景:適用于對數據敏感的場景,通過 Docker 容器化部署。
- 通用步驟
# 拉取源碼
git clone https://github.com/langgenius/dify.gitcd dify/docker# 復制環境配置文件
cp.env.example.env# 啟動服務(后臺運行)
docker compose up -d
部署完成后,訪問 http://localhost/install
初始化管理員賬號(密碼需包含大小寫字母 + 特殊符號)。
- 分操作系統指南
-
Windows:
- 需先啟用 WSL2:進入控制面板→程序→啟用或關閉 Windows 功能→勾選 “適用于 Linux 的 Windows 子系統”“虛擬機平臺”。
- 安裝 Docker Desktop(從官網下載),并在設置中啟用 WSL2 集成。
- 打開 WSL 終端,執行上述通用步驟。若端口沖突(默認 80 端口),修改
.env
文件中的EXPOSE_NGINX_PORT=8080
后重啟。
-
macOS:
- 安裝 Docker Desktop(官網下載),拖拽至應用文件夾。
- 終端執行通用步驟,首次啟動需授權 Docker 權限。
- 驗證容器狀態:
docker compose ps
,確保 api/worker/web 等服務狀態為 “Up”。
-
Linux(Ubuntu):
# 安裝 Docker 與 Docker Compose
sudo apt update && sudo apt install docker.io docker-compose -ysudo systemctl enable --now docker# 允許當前用戶管理Docker(需重啟終端)
sudo usermod -aG docker $USER# 執行通用部署步驟
git clone https://github.com/langgenius/dify.gitcd dify/docker && cp.env.example.env && docker compose up -d
三、界面導航與核心模塊
3.1 控制臺概覽
登錄后進入主控臺,核心模塊包括:
- 應用:可在此創建 / 管理 AI 應用,如聊天助手、Agent、工作流等。
- 知識庫:用于上傳文檔、配置檢索策略(匹配數量 / 相似度閾值)。
- 工具:集成第三方服務,例如 MCP 服務、代碼解釋器、聯網搜索等。
- 設置:進行模型供應商配置、團隊權限設置以及安全策略(SSL/2FA)設置。
3.2 核心功能模塊詳解
3.2.1 知識庫(RAG 引擎)
- 支持文檔格式:支持上傳 PDF/Word/Excel/TXT 等文檔。
- 文檔處理:自動切片(默認 500 字符 / 塊)、向量化存儲(基于 Weaviate 向量庫)。
- 關鍵配置:
- 檢索策略:采用混合檢索(關鍵詞匹配 + 向量相似度)、重排序(Rerank)提升 Top-K 準確率。
- 訪問控制:可按團隊 / 角色設置文檔可見范圍,比如法務文檔僅合規部門訪問。
- 動態更新:文檔修改后自動同步索引,無需重新上傳。
3.2.2 工作流編排
通過拖拽節點可視化設計 AI 流程,支持:
- 邏輯節點:條件分支(if-else)、循環迭代、變量賦值。
- 工具節點:HTTP 請求(調用外部 API)、代碼執行(Python 沙箱)、知識庫檢索。
- 模型節點:集成 GPT-4/Claude/ 本地模型(如 DeepSeek-R1),支持流式輸出。
3.2.3 模型管理
支持 100 + 模型供應商,包括:
- 閉源模型:如 OpenAI(GPT-4o)、Anthropic(Claude 3.5)、阿里云通義千問。
- 開源模型:通過 Ollama 部署本地模型(如 Llama 3、DeepSeek-R1:7b),配置示例:
# Ollama本地模型啟動(需先安裝Ollama)
ollama run deepseek-r1:7b
在 Dify “模型供應商” 中添加 Ollama,Base URL 填寫http://host.docker.internal:11434
,模型名稱填deepseek-r1:7b
。
四、創建第一個 AI 應用
場景示例:電商客服助手
目標:搭建能回答退貨政策、商品保修等問題的智能客服,無需編寫代碼。
Step 1:創建應用
- 主控臺點擊 “創建應用”,選擇類型 “聊天助手”,命名 “電商客服助手”。
- 選擇模型:免費版可先用 GPT-3.5-turbo,企業用戶可配置私有模型(如通義千問)。
Step 2:上傳知識庫
- 進入 “知識庫”→“添加數據集”,上傳《退貨政策.docx》《商品手冊.pdf》等相關文檔。
- 文檔處理:默認 “通用” 分段策略,點擊 “預覽塊” 確認切片是否符合預期。
Step 3:設置回復邏輯(可選)
- 若需要更復雜的回復邏輯,可進入工作流編排界面。
- 通過拖拽節點設置,如當用戶提問時,先進行知識庫檢索節點,若檢索到相關內容,則直接返回;若未檢索到,再調用大語言模型進行回答。
Step 4:測試與優化
- 在應用界面進行測試,輸入諸如 “商品如何退貨”“保修政策是怎樣的” 等問題,查看回復是否準確。
- 若回復不理想,檢查知識庫文檔切片是否合理,或者調整工作流節點設置,如優化大語言模型的提示詞等。
Step 5:發布應用
- 測試通過后,點擊 “發布”。
- 發布后可獲得應用的 Web 鏈接或者 API,可將其集成到電商網站等平臺中,為用戶提供服務。
五、Dify 應用類型
5.1 Chatbot(聊天助手)
- 特點:能夠與用戶進行多輪對話,理解用戶意圖并提供相應回答。常用于客服場景,可快速響應用戶咨詢,解決常見問題。
- 創建要點:在創建時,需重點設置初始問候語,引導用戶進行交互。同時,合理配置知識庫,使其能根據用戶問題從知識庫中準確檢索信息并回復。例如電商客服聊天機器人,要確保將產品信息、售后政策等文檔準確上傳至知識庫。
5.2 Text Generator(文本生成)
- 特點:根據用戶輸入的提示或要求,生成特定類型的文本,如文章、報告、故事等。適用于內容創作領域,可快速生成初稿,提高創作效率。
- 創建要點:設置好生成文本的風格、長度等參數。比如創建一個新聞稿生成器,要明確新聞稿的語言風格(正式、活潑等)、字數要求,以及可能需要提供一些新聞事件的關鍵信息作為生成的基礎。
5.3 Agent
- 特點:具備自主決策和執行任務的能力,可調用多種工具和服務來完成復雜任務。例如可以調用搜索引擎獲取實時信息,調用代碼執行工具運行代碼等。
- 創建要點:需要精心設計 Agent 的任務流程和工具調用邏輯。例如創建一個智能投資 Agent,要設置其在獲取市場數據后,如何分析數據、根據分析結果調用交易工具進行操作等流程。
5.4 Chatflow
- 特點:側重于定義對話流程,可根據用戶不同的輸入路徑,引導對話走向不同分支,實現個性化對話體驗。
- 創建要點:仔細規劃對話的各個分支和節點,確保對話邏輯清晰、流暢。比如設計一個旅游咨詢 Chatflow,當用戶選擇不同旅游目的地時,能引導其進入相應的景點介紹、交通推薦等不同分支。
5.5 Workflow(工作流)
- 特點:通過可視化的方式編排各種節點,實現復雜的業務邏輯自動化。可串聯多個模型調用、數據處理、工具執行等操作。
- 創建要點:梳理清楚整個業務流程,選擇合適的節點進行連接和配置。例如構建一個數據分析 Workflow,可能需要依次連接數據獲取節點(如從數據庫讀取數據)、數據清洗節點、數據分析模型節點(如使用統計模型進行分析)以及結果輸出節點(如生成報告)。
六、使用 Dify 的一些技巧
6.1 提示詞工程
- 在 Dify 的提示詞 IDE 中,精心設計提示詞模板。例如在文本生成任務中,添加詳細的示例可以實現 One-Shot Learning。比如讓模型生成產品推廣文案,可在提示詞中先給出一個其他產品推廣文案的優秀示例,然后引導模型按照類似風格生成目標產品的文案。
- 合理使用變量插值,使提示詞能根據不同的輸入動態變化。例如在客服場景中,提示詞可以根據用戶咨詢的產品型號變量,針對性地從知識庫中檢索該型號產品的相關信息并回復。
6.2 模型選擇與調優
- 根據不同的任務需求選擇合適的模型。如處理圖像相關的任務(如票據識別),可選用多模態模型 Qwen2-VL;進行長文本生成任務時,GPT-4 可能效果更佳。
- 對于一些模型,可通過調整參數來優化性能。比如某些開源模型可以調整溫度參數(temperature),溫度越低,生成的文本越確定、保守;溫度越高,生成的文本越具多樣性,但也可能更隨機、不準確。在實際應用中,需根據生成文本的需求來調整該參數。
6.3 插件使用
- 充分利用插件市場(Marketplace)中的插件來擴展應用能力。例如使用 Google SERP 搜索插件,可讓應用在回答用戶問題時,獲取最新的網絡搜索結果,增強回答的時效性和準確性。
- 若現有插件無法滿足需求,還可以開發自定義插件。比如企業內部有特定的業務系統,可開發插件將 Dify 與該系統連接,實現數據交互和業務流程自動化。
七、常見問題解答
7.1 部署問題
-
端口沖突
在私有化部署時,遇到端口沖突(如默認 80 端口被占用):- 在 Windows 系統中,修改
.env
文件中的EXPOSE_NGINX_PORT
為其他未被占用的端口,如 8080,然后重啟服務。 - 在 Linux 或 macOS 系統中,也可通過類似方式修改端口配置。
- 在 Windows 系統中,修改
-
鏡像拉取失敗
- 可能由于網絡問題導致鏡像拉取失敗。可嘗試更換網絡環境,或者使用國內的鏡像源。
- 例如在 Docker 配置中添加國內鏡像源地址,如阿里云的鏡像源。
7.2 應用運行問題
-
回答不準確
- 檢查知識庫文檔的切片是否合理,若切片過大或過小,可能影響檢索準確性。同時,優化提示詞,確保能引導模型給出準確回答。
- 另外,檢查模型的選擇是否合適,不同模型在不同領域的表現可能有所差異。
-
應用響應慢
- 若使用的是云端模型且調用量較大,可能會出現排隊等待的情況,導致響應變慢。可考慮優化工作流,減少不必要的模型調用次數。對于一些可并行處理的任務,通過設置并行節點來提高效率。
- 若使用本地模型,檢查服務器的硬件配置是否足夠,如 CPU、內存等資源是否緊張,必要時升級硬件配置。