一.Dify介紹
生成式 AI 應用創新引擎,開源的 LLM 應用開發平臺。提供從 Agent 構建到 AI workflow 編排、RAG 檢索、模型管理等能力,輕松構建和運營生成式 AI 原生應用,比 LangChain 更易用。一個平臺,接入全球大型語言模型。不同應用場景,自由體驗、無縫切換,實現業務層和模型層解耦。
1.開放靈活的生成式 AI應用開發框架。
Dify 涵蓋了構建生成式 AI 原生應用所需的核心技術棧,開發者可以聚焦于創造應用的核心價值。
(1)Dify Orchestration Studio:可視化編排生成式 AI 應用的專業工作站,All in One Place。
(2)RAG Pipeline:安全構建私有數據與大型語言模型之間的數據通道,并提供高可靠的索引和檢索工具。
(3)Prompt IDE:為提示詞工程師精心設計,友好易用的提示詞開發工具,支持無縫切換多種大型語言模型。
(4)Enterprise LLMOps:開發者可以觀測推理過程、記錄日志、標注數據、訓練并微調模型;使應用效果脫離黑盒,持續迭代優化。
(5)BaaS Solution:基于后端及服務理念的 API 設計,大幅簡化生成式 AI 應用研發流程。
(6)LLM Agent:定制化 Agent ,自主調用系列工具完成復雜任務。
(7)Workflow:編排 AI 工作流,使其輸出更穩定可控。
2.開箱即用,為快速增長而設計
Dify 為開發者提供了健全的應用模版和編排框架,你可以基于它們快速構建大型語言模型驅動的生成式 AI 應用,將創意變為現實,也可以隨時按需無縫擴展,驅動業務增長。
(1)特定領域的聊天機器人和 AI 助理
通過可視化的提示詞編排和數據集嵌入,零代碼即可快速構建對話機器人或 AI 助理,并可持續優化對話策略,革新人機交互體驗。
(2)不限的長度創意文檔生成
既可以基于知識庫和風格要求,自動組織語言,生成邏輯清晰、結構完整的工作文檔。 也可以自動解析工作文檔,對無限長度的文檔進行提取、總結和重構。
(3)自由鏈接的知識庫問答和搜索
通過自定義 API 接入外部知識源,讓大型語言模型深入理解企業知識和業務,助力每個成員獲得深度洞察,同時嚴格保障數據和隱私安全。
(4)低代碼的構建面向的半自主 Agent
通過可視化且低代碼的流程編排,整合提示詞、業務數據集和插件工具,構建面向特定業務場景的半自主智能體,釋放個人和企業的生產力。
3.私有化部署,LLMs 再造企業效能
高可靠性、合規、數據安全,通過 Dify 的私有化部署解決方案,將 LLMs 深度嵌入到企業的內部系統和業務流程中,實現對流程和工具的智能升級,實現千人千面的客戶體驗。
(1)企業私有化知識庫及 AI 助理
通過自主可控的方式安全接入企業內部知識庫,將企業多年沉淀的業務數據,快速轉換成智能的搜索或問答服務,可深度集成到企業的 IM 和工作流中,全面提升客戶服務和內部辦公效率。
(2)企業級LLMOps 平臺
與企業其他系統集成,通過可視化的工具和流程,讓大型語言模型驅動的系統不在黑盒中運行,并對其進行可視化的運維、監控、標注和持續優化。
(3)編排端到端 AI 工作流
靈活編排 AI 工作過程,接入企業現有系統工具。實時監控運行狀態,讓 AI 落地業務場景更可靠。
(4)零代碼構建自主 AI Agent
輕松點擊幾下即可構建 AI Agents,自主調用企業定義的工具與數據,解決復雜任務。
二.Dify架構圖
三.Dify容器部署
1.下載代碼
git clone https://github.com/langgenius/dify.git
2.docker運行
cd dify/docker
docker compose up -d
3.更新Dify
cd dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d
4.訪問Dify
訪問 Difyll在瀏覽器中輸入 http://localhost
訪問 Dify。
四.相關問題
1.db-1容器restarting
fixing permissions on existing directory /var/lib/postgresql/data ... initdb: could not change permissions of directory "/var/lib/postgresql/data": Operation not permitted
創建數據卷解決操作權限問題:
# The postgres database.
db:image: postgres:15-alpinerestart: alwaysenvironment:PGUSER: postgres# The password for the default postgres user.POSTGRES_PASSWORD: difyai123456# The name of the default postgres database.POSTGRES_DB: dify# postgres data directoryPGDATA: /var/lib/postgresql/data/pgdatavolumes:- db_data:/var/lib/postgresql/data# uncomment to expose db(postgresql) port to host# ports:# - "5432:5432"healthcheck:test: [ "CMD", "pg_isready" ]interval: 1stimeout: 3sretries: 30volumes:db_data:
參考文獻
[1] Dify GitHub:https://github.com/langgenius/dify
[2] Dify官網:https://dify.ai/zh
[3] Dify官方文檔:https://docs.dify.ai/v/zh-hans
[4] Dify博客:https://dify.ai/blog
[5] OpenAPI Specification:https://swagger.io/specification/
[6] Dify云平臺:https://cloud.dify.ai/apps
[7] Dify自定義工具:https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md
[8] Dify Release:https://github.com/langgenius/dify/releases
[9] webapp-text-generator:https://github.com/langgenius/webapp-text-generator