輕鬆建立基於 GPT-4 的 AI 原生應用 - Dify

GaoYanbing發表於2024-03-18

Dify 是一個易用的 LLMOps 平臺,旨在讓更多人可以建立可持續運營的原生 AI 應用。Dify 提供多種型別應用的視覺化編排,應用可開箱即用,也能以後端即服務的 API 提供服務。

LLMOps(Large Language Model Operations)是一個涵蓋了大型語言模型(如 GPT 系列)開發、部署、維護和最佳化的一整套實踐和流程。LLMOps 的目標是確保高效、可擴充套件和安全地使用這些強大的 AI 模型來構建和執行實際應用程式。它涉及到模型訓練、部署、監控、更新、安全性和合規性等方面。

圖片

透過 Dify 建立的應用包含了:

  • 開箱即用的的 Web 站點,支援表單模式和聊天對話模式
  • 一套 API 即可包含外掛、上下文增強等能力,替你省下了後端程式碼的編寫工作
  • 視覺化的對應用進行資料分析,查閱日誌或進行標註

Dify 相容 Langchain,這意味著我們將逐步支援多種 LLMs ,目前支援的模型服務包括:

  • OpenAI:GPT4、GPT3.5-turbo、GPT3.5-turbo-16k、text-davinci-003
  • Azure OpenAI Service
  • Anthropic:Claude2、Claude-instant
  • Hugging Face Hub(即將推出)

簡介

Dify 一詞源自 Define + Modify,意指定義並且持續的改進你的 AI 應用,它是為你而做的(Do it for you)。

圖片

如果你對諸如 GPT-4 之類的 LLM 技術高速發展感到驚奇和興奮,迫不及待的想用它做點什麼有用的東西!可你的頭腦裡又有一切令人困惑的問題:

  • 我該如何“訓練”一個基於我的內容的模型?
  • 怎麼讓 AI 知道 2021 年以後的事情?
  • 如何避免讓 AI 跟使用者胡說八道?
  • 微調(Fine-tuning)和嵌入(Embedding)是什麼意思?

那麼,Dify 正好能滿足你的需要。

Dify 的目標是讓開發者(甚至非開發者)可以快速基於大型語言模型搭建出有用的東西,並確保它是視覺化、可運營、可改進的。

你可以使用 Dify 快速搭建一個 Web App,其生成的前端程式碼可以託管在 Dify 上。如果你想基於這個 Web App 進一步開發,你可以從 GitHub 中得到這些 Template,部署到任何地方(例如 Vercel 或你的伺服器)。或者,你也可以基於 WebAPI 開發你自己的 Web 前端、移動 App…總之,為你省下了後端開發的工作。

不止於此,Dify 的核心理念是在一個視覺化的介面中建立、配置、改進你的應用。基於 LLM 的應用開發有一個持續改進的生命週期,你可能需要基於自己的內容讓 AI 給予正確的回答,或是想提升 AI 的準確性和敘述風格,甚至讓它去 YouTube 上下載一個字幕作為上下文。

這當中將會有些邏輯設計、上下文增強、資料準備等需要花些功夫的事情,如果沒有工具你可能會寸步難行,我們稱這個過程為 LLMOps。

完全開源

自5月9日雲版本正式上線以來,Dify.AI 受到了開發者的好評和分享。不到一週的時間,就建立了 4000 多個應用程式,甚至在我們開源之前,我們的 GitHub Star 數就已經超過 700 多個。這讓我們深深感受到社群的力量!同時,我們對 Dify 能夠為開發者帶來如此強大的創造力感到無比榮幸和興奮。

圖片

從3月1日編寫第一行程式碼到現在兩個多月後完全開源,共有46,558行程式碼在 GitHub 上完全開源。(值得一提的是,大約 30% 的程式碼是由 GPT 生成的。)

核心能力

  1. 視覺化提示詞編排:透過視覺化介面建立和除錯提示詞,並在幾分鐘內釋出 AI 應用程式。

  2. 與長上下文(資料集)的整合:使用您自己的資料作為上下文自動完成文字預處理,無需理解模糊概念和技術處理。

  3. 基於 API 的開發:後端即服務。直接訪問 Web 應用程式或將 API 整合到您的應用程式中,無需擔心複雜的後端架構和部署流程。

  4. 資料標註和改進:透過視覺化審查 AI 日誌並改善資料標註,觀察 AI 推理過程並持續提高效能。

圖片

安裝

在安裝 Dify 之前,請確保您的機器滿足以下最低系統要求:

  • CPU >= 1 Core
  • RAM >= 4GB

快速啟動

啟動 Dify 伺服器的最簡單方法是執行我們的 docker-compose.yml 檔案。在執行安裝命令之前,請確保您的機器上安裝了 Docker 和 Docker Compose:

cd docker
docker compose up -d

執行後,可以在瀏覽器上訪問 http://localhost/install 進入 Dify 控制檯並開始初始化安裝操作。

Helm Chart

非常感謝 @BorisPolonsky 為我們提供了一個 Helm Chart 版本,可以在 Kubernetes 上部署 Dify。

可以前往 https://github.com/BorisPolonsky/dify-helm 來獲取部署資訊。

配置

需要自定義配置,請參考我們的 docker-compose.yml 檔案中的註釋,並手動設定環境配置,修改完畢後,請再次執行 docker-compose up -d

使用

只需四步,您就可以建立適應各種場景的人工智慧應用,例如個性化聊天機器人、人工智慧客服、基於專業知識的文字生成等。

第一步:直接建立應用程式,可以從零開始或使用模板。

圖片

第二步:可以用視覺化的方式編寫你的提示詞,然後除錯你的 AI 應用。

圖片

第三步:將您的私有資料或 API 功能整合到 Al 應用程式中,以增強上下文。

圖片

第四步:持續監控你的應用程式執行情況、標記資料,並改進您的人工智慧。

圖片

目前,Dify 已經完成了對 OpenAI GPT 系列的支援,正在整合 Azure OpenAI Service、Claude、Hugging Face HubHugging Face Hub 模型,即將支援外掛功能,釋放大語言模型的無限潛力。

圖片

此外我們還將與優秀的開源模型如 Llama 合作,透過在我們的平臺中提供它們作為模型選項,或使用它們進行進一步的微調。

常見問題

Q: 我能用 Dify 做什麼?

A: Dify 是一個簡單且能力豐富的 LLM 開發和運營工具。你可以用它搭建商用級應用,個人助理。如果你想自己開發應用,Dify 也能為你省下接入 OpenAI 的後端工作,使用我們逐步提供的視覺化運營能力,你可以持續的改進和訓練你的 GPT 模型。

Q: 如何使用 Dify “訓練”自己的模型?

A: 一個有價值的應用由 Prompt Engineering、上下文增強和 Fine-tune 三個環節組成。我們創造了一種 Prompt 結合程式語言的 Hybrid 程式設計方式(類似一個模版引擎),你可以輕鬆的完成長文字嵌入,或抓取使用者輸入的一個 Youtube 影片的字幕——這些都將作為上下文提交給 LLMs 進行計算。我們十分注重應用的可運營性,你的使用者在使用 App 期間產生的資料,可進行分析、標記和持續訓練。以上環節如果沒有好的工具支援,可能會消耗你大量的時間。

Q: 如果要建立一個自己的應用,我需要準備什麼?

A: 我們假定你已經有了 OpenAI API Key,如果沒有請去註冊一個。如果你已經有了一些內容可以作為訓練上下文,就太好了。

Q: 提供哪些介面語言?

A: 現已支援英文與中文,你可以為我們貢獻語言包。

Q: LLMOps 和 MLOps 有什麼區別?

A: 過去的 MLOps 是讓開發者從零開始訓練模型,而 LLMOps 基於諸如 GPT-4 這樣的強大模型之上開發 AI 原生應用。

GitHub 倉庫:https://github.com/langgenius/dify

相關文章