iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
生成式 AI

Python 新手的 AI 之旅:從零開始打造屬於你的 AI / LLM 應用系列 第 13

【Day13】告別繁瑣程式碼:初探 Dify / Langflow 等圖形化介面工具來開發 LLM 應用!

  • 分享至 

  • xImage
  •  

前言:為什麼要用 No Code 工具

前面十幾天的學習主要是為了幫助你掌握 LLM 開發的基本概念和技術。程式碼的方式來實作,目的是讓你更好地理解 LLM 的內部運作。然而,當你的 LLM 工作流程變得愈加複雜時,你可能會希望它的回答能更加精確,但如果一切都要靠手寫程式碼來實現,那肯定會變得既繁瑣又易出錯。

截圖 2024-09-21 凌晨12.36.03.png

(圖片由 black-forest-labs/FLUX.1-schnell 產生)

你或許會想,既然有那麼多方便的 No Code 工具,為什麼不直接使用它們呢?原因很簡單:即使工作流工具非常便捷,如果你沒有對 LLM 開發的基本理解,當遇到問題時,你會很難進行測試,到頭來可能只能靠「猜測」或「直覺」來解決問題。我們更多的時間投入在「不斷測試和改善」,以提高應用的成功機率。缺乏基礎知識的情況下,你或許會碰巧成功,但一旦應用上線,可能就會面臨更大的挑戰。

一覽目前市場上的 AI 工作流工具

Dify 介紹

看到官網的介紹,創辦人為张路宇,對他創業故事有興趣的可以參考這篇文章。更要的是,Dify 是開源的,而且有一個強大的社群和一個全職的團隊在維護~

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

簡單來說,前幾天我們做的 RAG, 使用工具等等功能,都可以在 Dify 上透過圖形化介面去實現,這個圖形化介面長什麼樣子呢?就像下圖這樣,有沒有跟上面的示意圖很像,就是流程圖的樣子,也可以加上便條紙註解。

截圖 2024-09-21 凌晨12.38.05.png

做好的工作流可以直接變成 API、嵌入網站 (iframe),甚至可以直接產生一個 Web APP 分享給親朋好友,超級方便🤤

螢幕錄影 2024-09-21 凌晨1.07.40.gif

這是 Dify Github 上的一張圖片,和其他抽象化 LLM 開發的函式庫、工具做比較

image.png

關於開源協議,Dify 的開源協議為本質上基於 Apache2.0 但有一些額外的限制,可以商用,像是當成後端即服務 (Backend as a service, BaaS),但不能當成「多租戶」。簡單來說就是你可以賣你做好的工作流,你也可以自己架 Dify,但你把自己架的 Dify 當成平台租給別人使用,畢竟 Dify 本身就有平台了,這樣就是在跟人家搶生意了。

知識庫支援 Notion 的 Database、工作流有清楚的歷史紀錄、還有帳號管理系統等等優點,超級多優點,重點是新手友善,明天就知道為什麼XD

類似的平台還有 LangFlow, coze, flowise 等等,各有優缺,不過我們之後都會聚焦在 Dify,學會一個再去學其他的完全沒問題 der。Dify 支援 Notion、有詳細的工作流 Log,對之後我想做的應用很有幫助,所以我選了它~

Dify 名字源自於 Define + Modify,意思是定義且持續改進你的 AI 應用,他是為你而做的 (Do it for you, Dify) 聽起來超浪漫的 🫶🫶

LangFlow

官網連結

由 LogSpace AI 開發的開源視覺化框架,基於 LangChain 開發,所以你會在 LangFlow 看到很多節點叫 xxx Chain。雖然和 Dify 很像,我個人認為他比較新手不友善一點,比較像是從 LangChain 的角度去抽象化,而不是直接開發工作流。

image.png

(看起來是不是比 Dify 那張圖複雜很多,但如果我跟你說這兩個工作流在做的事情其實是一樣你會相信嗎?XD)

它有一個很大的優點就是它每一個節點的程式碼都可以自行修改,彈性和可以發揮的空間超大,認識 LangChain 的開發者會更喜歡這個工具,比 Dify 的彈性更大,你甚至可以用一些外部 Python 套件,但在 Dify 就沒辦法這麼做 (如果你用 Docker 啟動會比較不方便)。

image.png

還有一個優點是他的 LICENSE 是 MIT 的,也就是你可以去魔改它,適合進階玩家。

安裝也很方便

python -m pip install langflow -U

就裝好了

Flowise

官網連結

介面跟 LangFlow 很像,License 是 Apache2.0

image.png

節點基於 LangChain 和前幾天提到的 LlamaIndex

image.png

之後有空再研究一下

Coze

由字節跳動 (就是抖音的公司) 開發 ,可以直接和很多通訊軟體結合,像是 Discord bot, Linebot 等等。

image.png

小結

今天的內容比較水一點,因為大四剛開學最近太忙了QQ,有報告、作業、社團、實習還有推甄的東西要忙。不過我之後會打起精神的!明天就會開始來安裝、在 Dify 上建構你的第一個工作流歐!期待一下吧~


上一篇
【Day12】初探 LLM 評估驅動開發 (Eval-Driven Development) 與 Prompt 生成器:用 AI 來調教 AI
下一篇
【Day14】Dify 安裝:使用 Docker 安裝、設定模型並啟動你的第一個 LLM 聊天助手
系列文
Python 新手的 AI 之旅:從零開始打造屬於你的 AI / LLM 應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
arksu
iT邦新手 1 級 ‧ 2024-09-29 10:14:26

衝著是大四學生, 一定要幫年輕人按讚/images/emoticon/emoticon34.gif

我要留言

立即登入留言