成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么都放棄了LangChain?

人工智能 新聞
這是一個(gè)持續(xù)一年多的故事,從選擇 LangChain 開(kāi)始,隨后進(jìn)入到了與 LangChain 頑強(qiáng)斗爭(zhēng)的階段。在 2024 年,他們終于決定告別 LangChain。

或許從誕生那天起,LangChain 就注定是一個(gè)口碑兩極分化的產(chǎn)品。

看好 LangChain 的人欣賞它豐富的工具和組建和易于集成等特點(diǎn),不看好 LangChain 的人,認(rèn)為它注定失敗 —— 在這個(gè)技術(shù)變化如此之快的年代,用 LangChain 來(lái)構(gòu)建一切根本行不通。

夸張點(diǎn)的還有:

「在我的咨詢(xún)工作中,我花了 70% 的精力來(lái)說(shuō)服人們不要使用 langchain 或 llamaindex。這解決了他們 90% 的問(wèn)題。」

最近,一篇 LangChain 吐槽文再次成為熱議焦點(diǎn):

圖片

作者 Fabian Both 是 AI 測(cè)試工具 Octomind 的深度學(xué)習(xí)工程師。Octomind 團(tuán)隊(duì)會(huì)使用具有多個(gè) LLM 的 AI Agent 來(lái)自動(dòng)創(chuàng)建和修復(fù) Playwright 中的端到端測(cè)試。

圖片

這是一個(gè)持續(xù)一年多的故事,從選擇 LangChain 開(kāi)始,隨后進(jìn)入到了與 LangChain 頑強(qiáng)斗爭(zhēng)的階段。在 2024 年,他們終于決定告別 LangChain。

讓我們看看他們經(jīng)歷了什么:

「LangChain 曾是最佳選擇」

我們?cè)谏a(chǎn)中使用 LangChain 超過(guò) 12 個(gè)月,從 2023 年初開(kāi)始使用,然后在 2024 年將其移除。

在 2023 年,LangChain 似乎是我們的最佳選擇。它擁有一系列令人印象深刻的組件和工具,而且人氣飆升。LangChain 承諾「讓開(kāi)發(fā)人員一個(gè)下午就能從一個(gè)想法變成可運(yùn)行的代碼」,但隨著我們的需求變得越來(lái)越復(fù)雜,問(wèn)題也開(kāi)始浮出水面。

LangChain 變成了阻力的根源,而不是生產(chǎn)力的根源。

隨著 LangChain 的不靈活性開(kāi)始顯現(xiàn),我們開(kāi)始深入研究 LangChain 的內(nèi)部結(jié)構(gòu),以改進(jìn)系統(tǒng)的底層行為。但是,由于 LangChain 故意將許多細(xì)節(jié)做得很抽象,我們無(wú)法輕松編寫(xiě)所需的底層代碼。

眾所周知,人工智能和 LLM 是瞬息萬(wàn)變的領(lǐng)域,每周都會(huì)有新的概念和想法出現(xiàn)。而 LangChain 這樣圍繞多種新興技術(shù)創(chuàng)建的抽象概念,其框架設(shè)計(jì)很難經(jīng)得起時(shí)間考驗(yàn)。

LangChain 為什么如此抽象

起初,當(dāng)我們的簡(jiǎn)單需求與 LangChain 的使用假設(shè)相吻合時(shí),LangChain 還能幫上忙。但它的高級(jí)抽象很快就讓我們的代碼變得更加難以理解,維護(hù)過(guò)程也令人沮喪。當(dāng)團(tuán)隊(duì)用在理解和調(diào)試 LangChain 的時(shí)間和用在構(gòu)建功能上的時(shí)間一樣時(shí),這可不是一個(gè)好兆頭。

LangChain 的抽象方法所存在的問(wèn)題,可以通過(guò)「將一個(gè)英語(yǔ)單詞翻譯成意大利語(yǔ)」這一微不足道的示例來(lái)說(shuō)明。

下面是一個(gè)僅使用 OpenAI 軟件包的 Python 示例:

圖片

這是一段簡(jiǎn)單易懂的代碼,只包含一個(gè)類(lèi)和一個(gè)函數(shù)調(diào)用。其余部分都是標(biāo)準(zhǔn)的 Python 代碼。

將其與 LangChain 的版本進(jìn)行對(duì)比:

圖片

代碼大致相同,但相似之處僅此而已。

我們現(xiàn)在有三個(gè)類(lèi)和四個(gè)函數(shù)調(diào)用。但令人擔(dān)憂(yōu)的是,LangChain 引入了三個(gè)新的抽象概念:

  • Prompt 模板: 為 LLM 提供 Prompt;
  • 輸出解析器: 處理來(lái)自 LLM 的輸出;
  • 鏈: LangChain 的「LCEL 語(yǔ)法」覆蓋 Python 的 | 操作符。

LangChain 所做的只是增加了代碼的復(fù)雜性,卻沒(méi)有帶來(lái)任何明顯的好處。

這種代碼對(duì)于早期原型來(lái)說(shuō)可能沒(méi)什么問(wèn)題。但對(duì)于生產(chǎn)使用,每個(gè)組件都必須得到合理的理解,這樣在實(shí)際使用條件下才不至于意外崩潰。你必須遵守給定的數(shù)據(jù)結(jié)構(gòu),并圍繞這些抽象設(shè)計(jì)應(yīng)用程序。

讓我們看看 Python 中的另一個(gè)抽象比較,這次是從 API 中獲取 JSON。

使用內(nèi)置的 http 包:

圖片

使用 requests 包:

圖片

高下顯而易見(jiàn)。這就是好的抽象的感覺(jué)。

當(dāng)然,這些都是微不足道的例子。但我想說(shuō)的是,好的抽象可以簡(jiǎn)化代碼,減少理解代碼所需的認(rèn)知負(fù)荷。

LangChain 試圖通過(guò)隱藏細(xì)節(jié),用更少的代碼完成更多的工作,讓你的生活變得更輕松。但是,如果這是以犧牲簡(jiǎn)單性和靈活性為代價(jià)的,那么抽象就失去了價(jià)值。

LangChain 還習(xí)慣于在其他抽象之上使用抽象,因此你往往不得不從嵌套抽象的角度來(lái)思考如何正確使用 API。這不可避免地會(huì)導(dǎo)致理解龐大的堆棧跟蹤和調(diào)試你沒(méi)有編寫(xiě)的內(nèi)部框架代碼,而不是實(shí)現(xiàn)新功能。

LangChain 對(duì)開(kāi)發(fā)團(tuán)隊(duì)的影響

一般來(lái)說(shuō),應(yīng)用程序大量使用 AI Agent 來(lái)執(zhí)行不同類(lèi)型的任務(wù),如發(fā)現(xiàn)測(cè)試用例、生成 Playwright 測(cè)試和自動(dòng)修復(fù)。

當(dāng)我們想從單一 Sequential Agent 的架構(gòu)轉(zhuǎn)向更復(fù)雜的架構(gòu)時(shí),LangChain 成為了限制因素。例如,生成 Sub-Agent 并讓它們與原始 Agent 互動(dòng)。或者多個(gè)專(zhuān)業(yè) Agent 相互交互。

在另一個(gè)例子中,我們需要根據(jù)業(yè)務(wù)邏輯和 LLM 的輸出,動(dòng)態(tài)改變 Agent 可以訪問(wèn)的工具的可用性。但是 LangChain 并沒(méi)有提供從外部觀察 Agent 狀態(tài)的方法,這導(dǎo)致我們不得不縮小實(shí)現(xiàn)范圍,以適應(yīng) LangChain Agent 的有限功能。

一旦我們刪除了它,我們就不再需要將我們的需求轉(zhuǎn)化為適合 LangChain 的解決方案。我們只需編寫(xiě)代碼即可。

那么,如果不使用 LangChain,你應(yīng)該使用什么框架呢?也許你根本不需要框架。

我們真的需要構(gòu)建人工智能應(yīng)用程序的框架嗎?

LangChain 在早期為我們提供了 LLM 功能,讓我們可以專(zhuān)注于構(gòu)建應(yīng)用程序。但事后看來(lái),如果沒(méi)有框架,我們的長(zhǎng)期發(fā)展會(huì)更好。

LangChain 一長(zhǎng)串的組件給人的印象是,構(gòu)建一個(gè)由 LLM 驅(qū)動(dòng)的應(yīng)用程序非常復(fù)雜。但大多數(shù)應(yīng)用程序所需的核心組件通常如下:

  • 用于 LLM 通信的客戶(hù)端
  • 用于函數(shù)調(diào)用的函數(shù) / 工具 
  • 用于 RAG 的向量數(shù)據(jù)庫(kù)
  • 用于跟蹤、評(píng)估等的可觀察性平臺(tái)。

Agent 領(lǐng)域正在快速發(fā)展,帶來(lái)了令人興奮的可能性和有趣的用例,但我們建議 —— 在 Agent 的使用模式得到鞏固之前,暫時(shí)保持簡(jiǎn)單。人工智能領(lǐng)域的許多開(kāi)發(fā)工作都是由實(shí)驗(yàn)和原型設(shè)計(jì)驅(qū)動(dòng)的。

以上是 Fabian Both 一年多來(lái)的切身體會(huì),但 LangChain 并非全然沒(méi)有可取之處。

另一位開(kāi)發(fā)者 Tim Valishev 表示,他會(huì)再堅(jiān)持使用 LangChain 一段時(shí)間:

我真的很喜歡 Langsmith:

  • 開(kāi)箱即用的可視化日志 
  • Prompt playground,可以立即從日志中修復(fù) Prompt,并查看它在相同輸入下的表現(xiàn) 
  • 可直接從日志輕松構(gòu)建測(cè)試數(shù)據(jù)集,并可選擇一鍵運(yùn)行 Prompt 中的簡(jiǎn)單測(cè)試集(或在代碼中進(jìn)行端到端測(cè)試) 
  • 測(cè)試分?jǐn)?shù)歷史 
  • Prompt 版本控制 

而且它對(duì)整個(gè)鏈的流式傳輸提供了很好的支持,手動(dòng)實(shí)現(xiàn)這一點(diǎn)需要一些時(shí)間。

何況,只依靠 API 也是不行的,每家大模型廠商的 API 都不同,并不能「無(wú)縫切換」。

圖片

圖片

圖片

你怎么看?


責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心
相關(guān)推薦

2023-07-23 17:19:34

人工智能系統(tǒng)

2018-12-21 11:26:49

MySQLMongoDB數(shù)據(jù)庫(kù)

2018-05-05 14:18:22

蘋(píng)果MacWindows

2025-03-26 10:29:22

Vue3前端API

2025-02-18 08:10:00

Vue 3JavaScrip開(kāi)發(fā)

2024-02-05 21:48:25

VueReactHooks

2020-02-13 17:49:55

SpringBoot放棄選擇

2022-06-14 11:01:48

SpringBootTomcatUndertow

2019-08-26 09:15:09

設(shè)計(jì)技術(shù)人生第一份工作

2012-12-17 15:02:34

Linux操作系統(tǒng)

2009-04-23 10:41:59

微軟IE瀏覽器

2011-06-08 10:30:08

MongoDB

2024-06-27 13:45:21

2023-09-20 11:36:47

Java 8Java 11

2021-12-14 07:40:07

企業(yè)內(nèi)部開(kāi)源

2023-09-22 10:48:42

MySQLPostgreSQL

2023-09-14 23:08:54

PostgreSQLMySQL

2019-12-30 08:34:40

ZabbixPrometheus監(jiān)控

2021-02-01 07:20:51

KafkaPulsar搜索

2022-05-10 15:24:34

KafkaZooKeeperKafka Raft
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品一二三区 | 亚洲色在线视频 | 国产www.| 成人免费一区二区 | 国产免费av在线 | 黑人成人网 | 欧美一区二区在线观看 | 婷婷五月色综合香五月 | 精品国产乱码久久久久久蜜柚 | 91麻豆精品国产91久久久更新资源速度超快 | aa级毛片毛片免费观看久 | 一区二区在线不卡 | 日韩久久久久久 | 韩日一区二区三区 | 91正在播放 | 黄色一级电影在线观看 | 一级做a爰片久久毛片免费看 | 一级毛片免费视频 | 一级片网址 | 亚洲精品一区av在线播放 | 日本精品一区二区 | 久久国产精品一区二区三区 | 午夜免费视频 | 999热视频| 999久久久 | 91精品久久 | 日本免费一区二区三区四区 | 亚洲av毛片 | 亚洲欧美日韩在线不卡 | 精品国产欧美在线 | 一二三区在线 | 亚洲国产精品区 | 久久精品一区二区三区四区 | 国产在线一区二区三区 | av大片在线 | 欧美黄色片 | 黄色一级大片在线免费看产 | 亚洲电影一级片 | 精品中文字幕一区 | 在线a视频 | 中文字幕一区二区三区在线视频 |