Dify: 打造AI原生應用的全方位平台

Dify 是一個開源的大型語言模型(LLM)應用開發平台,結合了 Backend-as-a-Service 和 LLMOps 的概念,旨在幫助開發者快速構建生產級的生成式 AI 應用程式。即使是非技術人員,也可以參與 AI 應用程式的定義和資料操作。

Dify 的定位與核心特點

Dify 內建了構建 LLM 應用所需的關鍵技術堆疊,包括:

  • 多樣模型支援:數百種專有和開源模型,包括 GPT、Mistral、Llama3、Claude 等,涵蓋文本生成、語音轉文字等多領域應用。
  • 視覺化工作流構建:使用者可輕鬆拖放操作,快速設計 AI 應用的執行流程。
  • Prompt 編輯器(IDE):專業的 Prompt 編輯環境,支持快速測試與優化。
  • 檢索增強生成(RAG)功能:內建支持多種文檔格式的數據提取和檢索。
  • 靈活代理架構(Agent):支持內建工具和外部功能集成,用於處理更複雜的多步驟任務。
  • LLMOps 支持:實時監控和分析應用運行,支持數據標註與持續改進。
  • 開放與可控:用戶可完全掌控數據,並支持自託管部署。

平台命名的象徵意義

「Dify」的名稱來自於 “Define”(定義)與 “Modify”(修改),代表著開發者可以自由地定義並不斷改進自己的 AI 應用。


使用 Dify 的理由

將 Dify 與其他 LLM 平台如 LangChain 相比較,Dify 更像是一個完整的解決方案,提供精細的工程設計和生產環境支持。以下是其主要優勢:

  1. 開源與自控
    • 支持完全的數據控制。
    • 基於開放的架構進行自定義和擴展。
  2. 生產環境友好
    • 提供 Backend-as-a-Service 功能,簡化後端開發流程。
    • 自帶 API 接口,可直接集成現有的業務系統。
  3. 快速開發與部署
    • 視覺化界面讓開發者和非技術人員皆可快速上手。
    • 從工作流設計到應用部署僅需數分鐘。

Dify 的功能解析

1. 全面模型支持

Dify 平台整合了多種 LLM 模型,滿足多樣化的應用需求:

  • 系統推理模型:用於對話生成、命名建議等智能應用。
  • 嵌入模型:支援檔案嵌入,實現自然語言查詢的高效檢索。
  • 重新排序模型(Rerank Models):改善檢索結果的語意相關性排序。
  • 語音轉文字模型:支持語音輸入的轉文字處理。

2. 視覺化工作流設計

Dify 提供直觀的畫布界面,用戶可輕鬆設計與測試穩健的 AI 工作流,支持多種應用場景,包括文本處理、對話分析和數據生成。

3. Prompt 編輯器

專業的 Prompt IDE 幫助用戶設計和測試高效提示,支持以下功能:

  • 提示模板化設計。
  • 模型性能比較與分析。
  • 增強功能(如文本轉語音)。

4. RAG(檢索增強生成)功能

支持檔案匯入與檢索流程設計:

  • 文件格式支持:PDF、PPT 等。
  • 高效查詢:自動化文本提取和處理。

5. Agent 功能

Agent 架構允許用戶自定義複雜的 AI 任務流程,包括:

  • 工具調用:內建50多種 AI 代理工具。
  • 支援函數調用與多步驟推理。

6. Backend-as-a-Service 功能

  • 提供對應的 API 接口,方便內建到現有業務系統。
  • 包含所有應用功能的可用性支持。

7. 部署模式靈活

  • 雲端服務:提供零配置的雲端體驗。
  • 自託管部署:支持企業自定義品牌與功能擴展。

如何開始使用 Dify?

雲端部署

  1. 註冊
    • 訪問 Dify 官網
    • 使用 GitHub 或 Google 帳戶註冊。
    • 配置 OpenAI API 金鑰,目前免費用戶有提供200次OpenAI低階模型調用。
  2. 設置模型
    • 選擇所需模型並設置 API 金鑰。
    • 支持嵌入、推理等多類型模型的綜合應用。
  3. 創建應用
    • 選擇範本或從零開始設計。
    • 設計提示與工作流,快速部署應用。

自託管部署

  1. 安裝與配置
    • 下載 Dify 開源版本。
    • 按需設置企業級功能(如 SSO、安全控管)。
  2. 深入開發
    • 使用自定義 API 接口,進行進階應用擴展。

本次以雲端版本介紹

登入Dify後第一個畫面

登入Dify後第一個畫面

有四個選項可以創建分別是

  • 聊天助手(Chatbot)
  • Agent
  • 工作流(Workflow)
  • 文字生成應用

透過應用模板建立

若你不了解如何創建,建議先使用模板建立,可以快速建立你的信心。

Dify應用模板列表

聊天助手(Chatbot)

定義

對話型應用採用一問一答的互動模式,與用戶持續對話,旨在即時解決問題並提升用戶體驗。

適用場景

  • 客戶服務:回答常見問題,提供即時幫助。
  • 在線教育:個性化學習建議,輔助教學。
  • 醫療保健:健康諮詢,提供非緊急醫療建議。
  • 金融服務:處理用戶查詢,如賬戶資訊、投資建議等。

功能優勢

  • 效率提升:自動處理基本需求,減少人工干預。
  • 用戶滿意度:即時回應,增加互動性。
  • 操作靈活:適應多種語境,支持多語言。

步驟一

創建空白應用

聊天助手創建空白應用

步驟二

編寫應用程式

聊天助手編寫應用程式

我們簡單的介紹上述圖片的編號

  1. 提示詞:你可以點選右上角產生自動產稱提示詞
  2. 變數:能使使用者輸入表單引入提示詞或開場白,你可以試試在提示詞中輸入
  3. 上下文:點擊可以添加知識庫(免費版5MB為上限),支援文字、Notion以及網頁爬取(可以使用Jina Reader或Firecrawl API)
  4. 視覺:啟動後允許圖片辨識
  5. 除錯與預覽:可以在這邊測試

步驟三

發布

聊天助手發布

發布完畢後你可以通過公共 URL 體驗應用程式外,或是使用API

API使用,以下為網頁範例,需要注意的是response_mode可以選擇streaming以及blocking,若你要及時回應則選擇streaming,若你支援背景處理,可以使用blocking

curl -X POST 'https://api.dify.ai/v1/chat-messages' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": {},
    "query": "What are the specs of the iPhone 13 Pro Max?",
    "response_mode": "streaming",
    "conversation_id": "",
    "user": "abc-123",
    "files": [
      {
        "type": "image",
        "transfer_method": "remote_url",
        "url": "https://cloud.dify.ai/logo/logo-site.png"
      }
    ]
}'

回應為

{
    "event": "message",
    "message_id": "9da23599-e713-473b-982c-4328d4f5c78a",
    "conversation_id": "45701982-8118-4bc5-8e9b-64562b4555f2",
    "mode": "chat",
    "answer": "iPhone 13 Pro Max specs are listed here:...",
    "metadata": {
        "usage": {
            "prompt_tokens": 1033,
            "prompt_unit_price": "0.001",
            "prompt_price_unit": "0.001",
            "prompt_price": "0.0010330",
            "completion_tokens": 128,
            "completion_unit_price": "0.002",
            "completion_price_unit": "0.001",
            "completion_price": "0.0002560",
            "total_tokens": 1161,
            "total_price": "0.0012890",
            "currency": "USD",
            "latency": 0.7682376249867957
        },
        "retriever_resources": [
            {
                "position": 1,
                "dataset_id": "101b4c97-fc2e-463c-90b1-5261a4cdcafb",
                "dataset_name": "iPhone",
                "document_id": "8dd1ad74-0b5f-4175-b735-7d98bbbb4e00",
                "document_name": "iPhone List",
                "segment_id": "ed599c7f-2766-4294-9d1d-e5235a61270a",
                "score": 0.98457545,
                "content": "\"Model\",\"Release Date\",\"Display Size\",\"Resolution\",\"Processor\",\"RAM\",\"Storage\",\"Camera\",\"Battery\",\"Operating System\"\n\"iPhone 13 Pro Max\",\"September 24, 2021\",\"6.7 inch\",\"1284 x 2778\",\"Hexa-core (2x3.23 GHz Avalanche + 4x1.82 GHz Blizzard)\",\"6 GB\",\"128, 256, 512 GB, 1TB\",\"12 MP\",\"4352 mAh\",\"iOS 15\""
            }
        ]
    },
    "created_at": 1705407629
}

文字生成應用

文字生成應用創建

文字生成應用與聊天助手差別

文字生成類別應用程式是一種根據使用者提供的提示,自動產生高品質文字的應用程式。它可以產生各種類型的文本,例如文章摘要、翻譯等。

Agent

定義

智能助手(Agent Assistant)利用生成式 AI 的推理能力,實現自主完成複雜任務。它能夠:

  • 目標規劃:根據用戶需求確定解決方案。
  • 任務拆解:將任務分解成可操作步驟。
  • 工具調用:整合外部資源完成具體任務。
  • 過程迭代:根據情況調整流程,優化結果。

使用方法

  1. 應用模板:在「探索」中選擇現有模板並添加到工作區。
  2. 自定義編排:在 Dify 工作室中創建專屬智能助手,設計針對性工作流。
  3. 功能示例
    • 財務報表分析:快速整理和解讀數據。
    • 報告撰寫:根據輸入生成結構化內容。
    • 旅程規劃:設計多步驟行程計劃。
    • Logo 設計:提供創意草圖和建議。

差別在多了工具使用

工具列表

工作流 (Workflow)

基本介紹

Dify 工作流專注於處理複雜任務,通過將其分解為多個步驟,降低系統複雜度並提升性能。其特點包括:

  • 減少對提示詞技術的依賴。
  • 提高 LLM 應用的穩定性、可解釋性和容錯性。

工作流類型

  1. Chatflow:針對對話場景設計,如客戶服務和語義搜索。
  2. Workflow:適用於自動化和批處理需求,如內容生成和數據分析。

應用案例

客戶服務
  • 自動回答常見問題,減少支持團隊的工作量。
  • 理解用戶查詢上下文,提供精確且即時的解決方案。
內容生成
  • 為博客文章、產品描述和營銷材料提供高質量文本。
  • 基於大綱或主題,自動生成內容。
任務自動化
  • 集成 Trello、Slack、Lark 等系統,自動化項目管理。
  • 自然語言處理用戶輸入,生成、更新和分配任務。
數據分析與報告
  • 分析大型數據集,生成可操作的摘要和洞察報告。
  • 為企業提供數據驅動決策支持。
郵件自動化
  • 起草專業的電子郵件和社交媒體更新。
  • 根據大綱生成清晰、結構化的內容,節省時間。

工具流圖形化工具

API使用,以下為網頁範例,需要注意的是 response_mode可以選擇streaming以及blocking,若你要及時回應則選擇streaming,若你支援背景處理,可以使用blocking 以及inputs為start節點參數,而response中的outputs為end節點的參數

curl -X POST 'https://api.dify.ai/v1/workflows/run' \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "inputs": {},
    "response_mode": "streaming",
    "user": "abc-123"
}'

回應為

{
    "workflow_run_id": "djflajgkldjgd",
    "task_id": "9da23599-e713-473b-982c-4328d4f5c78a",
    "data": {
        "id": "fdlsjfjejkghjda",
        "workflow_id": "fldjaslkfjlsda",
        "status": "succeeded",
        "outputs": {
          "text": "Nice to meet you."
        },
        "error": null,
        "elapsed_time": 0.875,
        "total_tokens": 3562,
        "total_steps": 8,
        "created_at": 1705407629,
        "finished_at": 1727807631
    }
}

Dify 功能總結與優勢

功能範疇 聊天助手 智能助手 工作流
核心定位 與用戶互動,提供即時解決方案。 自主完成複雜任務,提升生產力。 自動化處理多步驟任務,提高性能。
應用場景 客服、教育、金融等。 報表分析、設計、規劃等。 客服、內容生成、數據分析等。
技術特點 依賴對話模型,強調互動性。 整合多工具,支持自主學習與調整。 模型輔助決策,提升穩定性與效率。
目標用戶 需要快速回應的服務應用。 需要執行複雜任務的企業和個人。 需要高效自動化的工作場景。

Dify 的典型應用場景

  1. 智能客服:24/7 全天候 AI 客服,提升用戶體驗。
  2. 代碼助手:跨語言代碼轉換與錯誤修復建議。
  3. SQL 生成器:將自然語言轉化為 SQL 查詢。
  4. 內容創作:自動生成新聞稿和腳本。
  5. 文本摘要:提取長文檔的核心資訊。
  6. 個人助理:提供個性化交互和智能建議。

如何選擇 Dify?

選擇 Dify 的情境包括:

  • 技術需求
    • 希望快速構建應用,避免繁瑣配置。
    • 偏好使用視覺化界面進行低代碼開發。
  • 數據控制
    • 需要完全掌控數據存儲與隱私。
  • 擴展需求
    • 計畫進一步自定義應用或功能。

總結

Dify 作為一個功能全面且靈活的開源 LLM 應用平台,適合所有級別的用戶。無論是希望快速原型設計的初學者,還是追求高性能生產環境的專業開發者,Dify 都能提供高效且穩健的支持。

立即加入 Dify 社區,探索無限可能!

Share on:
Previous: Coze:無需編程即可打造AI聊天機器人的革命性平台(什麼是coze)
Next: 在 Wix 上善用 Google Workspace 的 Gemini AI:提升小型企業效率的革命性工具
DMflow.chat

DMflow.chat

廣告

DMflow.chat:智能客服新世代!支援持久記憶、客製欄位,無需額外串聯即可輕鬆連接資料庫表單,整合多平台溝通,助您高效提升服務與行銷效率!