精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么我們勸你棄用LangChain? 原創(chuàng)

發(fā)布于 2024-6-27 13:45
瀏覽
0收藏

作者 | Fabian Both

編輯 | 伊風(fēng) 

為什么我們不再使用LangChain來(lái)構(gòu)建我們的AI代理AI agents? 

在Octomind,我們使用多個(gè)大型語(yǔ)言模型(LLM)的AI代理來(lái)自動(dòng)創(chuàng)建和修復(fù)Playwright中的端到端測(cè)試。直到幾個(gè)月前,我們還在使用LangChain框架。

在這篇文章中,我將分享我們使用LangChain時(shí)遇到的困難,并解釋為什么用模塊化的構(gòu)建塊替換其僵化的高級(jí)抽象后,我們的代碼庫(kù)變得更簡(jiǎn)潔,使我們的團(tuán)隊(duì)更快樂(lè)、更高效。

1.背景故事

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

2023年,LangChain似乎是我們的最佳選擇。它有一個(gè)令人印象深刻的組件和工具列表,并且其受歡迎程度迅速上升。它承諾“讓開發(fā)人員可以在一個(gè)下午內(nèi)從想法變?yōu)榭蛇\(yùn)行的代碼。”但隨著我們的需求變得更加復(fù)雜,問(wèn)題開始浮現(xiàn),LangChain變成了摩擦而不是生產(chǎn)力的來(lái)源。

隨著其不靈活性開始顯現(xiàn),我們很快發(fā)現(xiàn)自己在深入研究LangChain內(nèi)部,以改進(jìn)我們系統(tǒng)的底層行為。但由于LangChain故意抽象了許多細(xì)節(jié),因此通常不容易或不可能編寫我們所需的底層代碼。

2.早期框架的危險(xiǎn)

AI和LLM是快速變化的領(lǐng)域,每周都有新概念和想法涌現(xiàn)。因此,當(dāng)一個(gè)框架如LangChain圍繞多個(gè)新興技術(shù)創(chuàng)建時(shí),設(shè)計(jì)能經(jīng)受時(shí)間考驗(yàn)的抽象是非常困難的。

我相信,如果我在他們創(chuàng)建LangChain時(shí)嘗試構(gòu)建一個(gè)類似的框架,我也不會(huì)做得更好。事后看錯(cuò)誤是很容易的,這篇文章的目的是不公平地批評(píng)LangChain的核心開發(fā)人員或其貢獻(xiàn)者。每個(gè)人都在盡力而為。

設(shè)計(jì)良好的抽象很難,即使需求是明確的。但當(dāng)你在這樣一個(gè)變化多端的狀態(tài)下建模組件(如代理)時(shí),僅對(duì)低級(jí)構(gòu)建塊使用抽象是更安全的方式。

3.LangChain抽象帶來(lái)的問(wèn)題

在我們簡(jiǎn)單的需求與其使用假設(shè)一致時(shí),LangChain最初是好用的。但其高度的抽象很快使我們的代碼變得難以理解與維護(hù)。當(dāng)我們的團(tuán)隊(duì)開始花費(fèi)與構(gòu)建功能一樣多的時(shí)間來(lái)理解和調(diào)試LangChain時(shí),這不是一個(gè)好兆頭。

LangChain的抽象方法的問(wèn)題可以通過(guò)這個(gè)將英文單詞翻譯成意大利語(yǔ)的簡(jiǎn)單示例來(lái)展示。

這是一個(gè)僅使用OpenAI包的Python示例:

為什么我們勸你棄用LangChain?-AI.x社區(qū)圖片

這是簡(jiǎn)單且易于理解的代碼,包含一個(gè)類和一個(gè)函數(shù)調(diào)用。其余是標(biāo)準(zhǔn)的Python。

讓我們對(duì)比一下LangChain的版本:

為什么我們勸你棄用LangChain?-AI.x社區(qū)圖片

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

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

  • 提示模板:提供給LLM的提示
  • 輸出解析器:處理LLM的輸出
  • 鏈:LangChain的“LCEL語(yǔ)法”覆蓋Python的 `|` 運(yùn)算符

所有LangChain所做的就是增加了代碼的復(fù)雜性而沒(méi)有明顯的好處。

這段代碼可能適用于早期階段的原型。但對(duì)于生產(chǎn)使用,每個(gè)組件都必須合理理解,以確保在實(shí)際使用條件下不會(huì)意外爆炸。你必須遵守給定的數(shù)據(jù)結(jié)構(gòu),并圍繞這些抽象設(shè)計(jì)你的應(yīng)用程序。

讓我們?cè)倏纯匆粋€(gè)Python中的抽象對(duì)比,這次是從API獲取JSON。

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

為什么我們勸你棄用LangChain?-AI.x社區(qū)圖片

使用requests包:

為什么我們勸你棄用LangChain?-AI.x社區(qū)圖片

勝利者顯而易見(jiàn)。這就是一個(gè)好的抽象的感覺(jué)。

當(dāng)然,這些是簡(jiǎn)單的例子。但我的觀點(diǎn)是,好的抽象簡(jiǎn)化了你的代碼并減少了理解它所需的認(rèn)知負(fù)擔(dān)。

LangChain試圖通過(guò)隱藏細(xì)節(jié),用更少的代碼做更多的事情來(lái)讓你的生活更輕松。但當(dāng)這以犧牲簡(jiǎn)單性和靈活性為代價(jià)時(shí),抽象就失去了價(jià)值。

LangChain還習(xí)慣于在其他抽象之上使用抽象,因此你常常被迫以嵌套抽象的方式思考如何正確使用API。這不可避免地導(dǎo)致理解巨大的堆棧跟蹤并調(diào)試你沒(méi)有編寫的內(nèi)部框架代碼,而不是實(shí)現(xiàn)新功能。

4.LangChain對(duì)我們開發(fā)團(tuán)隊(duì)的影響

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

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

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

一旦我們移除它,我們就不再需要將我們的需求轉(zhuǎn)換為L(zhǎng)angChain適當(dāng)?shù)慕鉀Q方案。我們只需編碼即可。

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

5.你需要一個(gè)框架來(lái)構(gòu)建AI應(yīng)用程序嗎?

LangChain在早期幫助了我們,因?yàn)樗峁┝薒LM功能,使我們能夠?qū)W⒂跇?gòu)建應(yīng)用程序。但事后看來(lái),從長(zhǎng)遠(yuǎn)來(lái)看,我們會(huì)更好地不用框架。

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

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

其余的是圍繞這些組件的幫助工具(例如,用于向量數(shù)據(jù)庫(kù)的分塊和嵌入),或者是常規(guī)的應(yīng)用程序任務(wù),例如通過(guò)數(shù)據(jù)持久性和緩存管理文件和應(yīng)用程序狀態(tài)。

如果你在沒(méi)有框架的情況下開始你的AI開發(fā)之旅,是的,組建你自己的工具箱會(huì)花費(fèi)更長(zhǎng)的時(shí)間,并且需要更多的前期學(xué)習(xí)和研究。但這是值得的時(shí)間投資,因?yàn)槟阏趯W(xué)習(xí)你將要操作的領(lǐng)域的基本知識(shí)。

在大多數(shù)情況下,你對(duì)LLM的使用將是簡(jiǎn)單而直接的。你主要會(huì)編寫順序代碼,迭代提示,并改進(jìn)輸出的質(zhì)量和可預(yù)測(cè)性。大多數(shù)任務(wù)可以通過(guò)簡(jiǎn)單的代碼和相對(duì)較少的外部包來(lái)完成。

即使使用代理,也不太可能做超出簡(jiǎn)單的代理到代理通信,在預(yù)定的順序流程中處理代理狀態(tài)和它們的響應(yīng)。你不需要框架來(lái)實(shí)現(xiàn)這一點(diǎn)。

雖然代理領(lǐng)域正在迅速發(fā)展,有許多令人興奮的可能性和有趣的用例,但我們建議在代理使用模式穩(wěn)定下來(lái)之前,保持簡(jiǎn)單。

6.使用構(gòu)建塊保持快速和精簡(jiǎn)

假設(shè)你沒(méi)有向生產(chǎn)發(fā)布垃圾代碼,那么團(tuán)隊(duì)創(chuàng)新和迭代的速度是成功的最重要指標(biāo)。AI領(lǐng)域的許多開發(fā)是由實(shí)驗(yàn)和原型驅(qū)動(dòng)的。

但框架通常是為基于已建立的使用模式強(qiáng)制結(jié)構(gòu)而設(shè)計(jì)的——LLM驅(qū)動(dòng)的應(yīng)用程序尚未有這些模式。將新想法轉(zhuǎn)換為框架特定的代碼,限制了你的迭代速度。

構(gòu)建塊方法更喜歡使用簡(jiǎn)單的低級(jí)代碼和精心選擇的外部包,保持你的架構(gòu)精簡(jiǎn),使開發(fā)人員可以將注意力集中在他們?cè)噲D解決的問(wèn)題上。

構(gòu)建塊是指你覺(jué)得已經(jīng)全面理解且不太可能改變的簡(jiǎn)單組件。例如,一個(gè)向量數(shù)據(jù)庫(kù)。它是一種已知類型的模塊化組件,具有一組基礎(chǔ)功能,因此可以很容易地被替換掉。你的代碼庫(kù)需要保持精簡(jiǎn)和適應(yīng)性,以最大化你的學(xué)習(xí)速度和每個(gè)迭代周期的價(jià)值。

. . .

我希望我能恰當(dāng)?shù)睾凸降孛枋鑫覀冊(cè)谑褂肔angChain時(shí)遇到的挑戰(zhàn),以及為什么完全放棄框架對(duì)我們團(tuán)隊(duì)是非常有益的。

我們目前使用模塊化構(gòu)建塊和最小化抽象的策略使我們現(xiàn)在能夠更快地開發(fā),并減少了摩擦。

本文轉(zhuǎn)載自??51CTO技術(shù)棧??,作者:伊風(fēng)

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
已于2024-6-27 16:22:45修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
社區(qū)精華內(nèi)容

目錄

    日韩在线电影| 国产精品av免费在线观看| yellow视频在线观看一区二区| 高清中文字幕mv的电影| 又色又爽又黄无遮挡的免费视频| 久久精品国产亚洲5555| 自拍偷拍国产亚洲| 国产剧情久久久久久| 北岛玲一区二区| 在线中文字幕电影| 97视频精品| 在线观看亚洲专区| 欧美日韩高清免费| 99热国产在线观看| 日韩欧美一级| 亚洲啪啪综合av一区二区三区| 国产精品久久久久av免费| 久久久久久久久免费看无码| 黄页网站大全在线免费观看| 国产精一品亚洲二区在线视频| 搡老女人一区二区三区视频tv| 精品一卡二卡三卡| 美丽的姑娘在线观看免费动漫| 国产亚洲精品v| 日韩成人免费视频| 91免费视频网站在线观看| 色综合免费视频| 国产亚洲精品v| 美女av一区二区| 91精品人妻一区二区三区四区| 国精一区二区三区| 国产精品久久看| 91欧美日韩一区| 久久久久噜噜噜亚洲熟女综合| gogo人体一区| 一本久道中文字幕精品亚洲嫩| 日韩精品一区二区三区色偷偷| 中文字幕av影视| 91亚洲国产成人久久精品| 日韩国产欧美区| 中文字幕在线国产| 久久丁香四色| 午夜激情一区二区| 日韩久久不卡| 四虎电影院在线观看| 久久一区激情| 久久久国产精品视频| 2025中文字幕| 精品国产三区在线| 在线播放国产精品二区一二区四区 | 国产精品视频在线免费观看 | 亚洲成人av在线电影| 国产精品国产精品国产专区蜜臀ah | 久久激情电影| 日韩亚洲国产中文字幕欧美| 亚洲 欧美 综合 另类 中字| 神马亚洲视频| 99久久精品国产观看| 国产精品吊钟奶在线| 日韩精品一区二区亚洲av| 91日韩在线| 日韩中文字幕久久| 先锋资源av在线| 成人免费毛片嘿嘿连载视频…| 亚洲视频免费看| 福利网在线观看| 亚洲色欧美另类| 日韩av中文在线观看| 欧美激情一级欧美精品| 日本一级免费视频| 一区二区在线免费播放| 91精品免费在线观看| 一本色道久久| 偷偷要91色婷婷| 婷婷精品国产一区二区三区日韩| 国产视频手机在线观看| 99精品免费网| 欧美在线观看网址综合| 国产三级国产精品| 最新国产精品视频| 日韩一区二区三区电影| 熟女人妻一区二区三区免费看| 粉嫩精品导航导航| 欧美日本韩国一区二区三区视频 | 久久久久久久久久久久久夜| 91九色国产社区在线观看| 午夜精品在线播放| 美国一区二区三区在线播放 | 2001个疯子在线观看| 中文字幕av一区二区三区免费看| 国产不卡一区二区三区在线观看| 91无套直看片红桃| 免费日韩一区二区| 97视频在线观看亚洲| www.99re7| 日韩av自拍| 欧美大片在线影院| 国精产品久拍自产在线网站| 台湾佬综合网| 亚洲精品videossex少妇| 国模大尺度视频| 亚洲欧洲一二区| 欧美亚洲尤物久久| 国产精品少妇在线视频| 亚洲美女尤物影院| 精品国产老师黑色丝袜高跟鞋| 中文字幕在线观看第三页| 亚洲最大网站| 色综合中文综合网| 永久av免费在线观看| 一级欧美视频| 亚洲美女av网站| 久久久久亚洲av无码专区桃色| 老司机成人在线| 中文字幕欧美精品日韩中文字幕| 乐播av一区二区三区| 女人色偷偷aa久久天堂| 欧美成人午夜剧场免费观看| 国产高清中文字幕| 老鸭窝毛片一区二区三区| 日本精品视频在线播放| youjizz在线视频| 国产成人在线网站| 成人av免费看| 淫片在线观看| 亚洲天堂免费看| 日本在线观看a| 亚洲超碰在线观看| www.日韩av.com| 黄色污污网站在线观看| 蜜桃av一区二区在线观看| 国产精品视频自拍| 亚洲色图另类小说| 亚洲一区二区三区四区五区黄| 大陆av在线播放| 国产亚洲精aa在线看| 精品久久一区二区三区| 中文字幕天堂av| 亚欧日韩另类中文欧美| 欧美大片免费看| 国产伦理一区二区| 亚洲欧美色综合| 九九热精品国产| 88久久精品| 欧美成人精品在线视频| 国产有码在线观看| 国产精品卡一卡二| 中文字幕22页| 国产精品白丝av嫩草影院| 欧美裸身视频免费观看| 欧美性猛交bbbbb精品| av中文字幕一区| 无码免费一区二区三区免费播放| 91丝袜在线| 亚洲精品av在线播放| wwwxxx亚洲| 九色|91porny| 久久精品国产综合精品| 色三级在线观看| 欧美日韩国产大片| 污软件在线观看| 亚洲视频大全| 蜜桃在线一区二区三区精品| 免费的黄网站在线观看| 天天综合色天天综合色h| 亚洲av成人无码一二三在线观看| 影音先锋一区| 91精品久久久久久久久青青| 污污网站在线免费观看| 图片区小说区区亚洲影院| 极品白嫩丰满美女无套| 爽好多水快深点欧美视频| 偷拍视频一区二区| 玖玖精品一区| 97色在线观看| 黄色av网站在线免费观看| 艳妇臀荡乳欲伦亚洲一区| 激情视频综合网| 国产在线播放精品| 欧美中文在线免费| 成全电影播放在线观看国语| 亚洲一区二区不卡免费| 成人无码www在线看免费| 免费观看日韩电影| 久久免费一级片| 精品69视频一区二区三区| 亚洲精品wwww| 最近中文字幕av| 国产亚洲欧美激情| 女人天堂av手机在线| av一级亚洲| 国产精品aaa| 青青青国内视频在线观看软件| 欧美视频你懂的| 最近中文字幕免费| 国产一区二区在线免费观看| 天堂精品一区二区三区| 日韩在线成人| 欧美在线中文字幕| 99自拍视频在线观看| 亚洲日本中文字幕免费在线不卡| 91精品国产乱码久久久张津瑜| 久久精品欧美一区二区三区不卡| 一起草最新网址| 天堂一区二区在线| 国产肉体ⅹxxx137大胆| 视频精品国内| 国产精品成人一区二区三区吃奶| 欧美性猛片xxxxx免费中国 | 91热福利电影| 日韩一区二区三区在线免费观看| 亚洲国产精品一区二区三区| 亚洲一级视频在线观看| 精品女同一区二区三区在线播放 | 欧美亚洲人成在线| 91精品国产91久久| 日韩一级片免费观看| 亚洲国产乱码最新视频| 天堂av免费在线| 久久夜色精品一区| 黄色av免费在线播放| 欧美精品一级| 好吊色欧美一区二区三区视频 | 97视频在线看| 影音先锋在线视频| 色999日韩欧美国产| 国产一二三区在线视频| 日韩精品亚洲精品| 懂色av蜜臀av粉嫩av分享吧最新章节| 一区二区三区资源| 中文字幕一区二区人妻电影丶| 黄网站免费久久| 黄色一级片国产| 欧美精品中文| 国产精品小说在线| 欧美大胆性生话| 北条麻妃久久精品| 韩国精品视频| 亚洲欧美在线第一页| 亚洲 小说区 图片区 都市| 亚洲高清福利视频| 欧美成人精品网站| 色婷婷久久久久swag精品| 久久久久久久久影院| 午夜精品爽啪视频| 日本少妇xxxx动漫| 国产日韩精品一区二区浪潮av| 99re久久精品国产| 99这里只有久久精品视频| 国产伦精品一区二区免费| 成人永久看片免费视频天堂| 日韩a在线播放| 国产精品日本| 国产主播在线看| 亚洲一区免费| 一本久道综合色婷婷五月| 久久国产精品99国产| 爱福利视频一区二区| 久久精品三级| 美女一区二区三区视频| 美女国产一区二区三区| 久久久福利影院| 欧美亚洲三级| 可以免费在线看黄的网站| 日本网站在线观看一区二区三区| av日韩在线看| 99综合在线| 国产成人久久777777| 久久国产生活片100| 人妻少妇偷人精品久久久任期| 丰满放荡岳乱妇91ww| 国产精品人人妻人人爽人人牛| 视频一区国产视频| 国产成人美女视频| 成人黄色在线看| 亚洲综合20p| 国产盗摄精品一区二区三区在线 | 国产亚洲精品日韩| 亚洲精品国产av| 欧美精品乱人伦久久久久久| 伦av综合一区| 欧美日韩小视频| 亚洲爱情岛论坛永久| 精品亚洲一区二区三区| 1024国产在线| 亚洲天堂开心观看| 看黄网站在线| 色妞色视频一区二区三区四区| 久久bbxx| 午夜免费久久久久| 国产一区二区色噜噜| 国产精品一区二区欧美| 精品久久综合| 精品一区在线播放| 青青草综合网| 日韩免费电影一区二区| 伊人久久大香线| 亚洲免费视频播放| 国产高清一区| 亚洲一区二区三区乱码| 超碰成人久久| 丁香六月激情婷婷| 精品在线观看视频| 亚洲欧美视频在线播放| 亚洲三级在线免费| 国产成人无码专区| 欧美精品一区二区三区高清aⅴ| 不卡av中文字幕| 亚洲一区二区黄| 福利在线导航136| 国产在线观看精品| 精品国产三级| 神马影院一区二区| 一区二区动漫| 香蕉视频在线观看黄| 亚洲国产高清aⅴ视频| 亚洲综合一二三| 制服丝袜中文字幕亚洲| 黄色片在线播放| 久久久久久亚洲精品中文字幕| 婷婷激情成人| 亚洲a∨一区二区三区| 国产精品亚洲欧美| 国产草草浮力影院| 亚洲一区二区综合| 国产强被迫伦姧在线观看无码| 一区二区日韩精品| 嫩草在线视频| 国产ts人妖一区二区三区| 久久男人av| 欧美久久久久久久久久久久久| 亚洲女优在线| 这里只有精品在线观看视频| 亚洲免费高清视频在线| 日韩欧美亚洲视频| 精品奇米国产一区二区三区| 成人免费高清| 国语自产精品视频在线看| 日韩视频网站在线观看| 久久五月天婷婷| 亚洲尤物精选| 9.1成人看片| 天天色天天操综合| 婷婷国产在线| 日本午夜在线亚洲.国产| 综合伊思人在钱三区| 中文字幕色一区二区| 狠狠入ady亚洲精品经典电影| 日韩在线一级片| 97成人超碰视| 久久夜色精品国产噜噜亚洲av| 亚洲男人7777| 97精品国产综合久久久动漫日韩 | 在线观看国产精品91| 姬川优奈av一区二区在线电影| 欧美色欧美亚洲另类七区| 久久一二三四| 亚洲欧洲综合网| 欧美一区二区三区四区在线观看| 亚洲欧美日韩精品永久在线| 性欧美视频videos6一9| 欧美三级电影在线| aaa毛片在线观看| 国产精品美女视频| 国产精品午夜福利| 亚洲午夜未删减在线观看| 日韩一区二区三区在线免费观看 | 中国老熟女重囗味hdxx| 亚洲综合精品久久| 天堂视频中文在线| 国产成人精品电影| 99精品视频在线观看免费播放| 日本一二三四区视频| 激情懂色av一区av二区av| 蝌蚪视频在线播放| 成人两性免费视频| 亚洲国产网站| 日本美女久久久| 亚洲成人高清在线| 国产视频二区在线观看| 亚州成人av在线| 欧美美乳视频| 三级性生活视频| 午夜精品免费在线| 国产一区二区三区福利| 91成人免费在线观看| 欧美激情欧美| 午夜福利三级理论电影| 色婷婷av一区二区三区gif| 日本精品一区二区在线观看| 秋霞成人午夜鲁丝一区二区三区| 日韩夫妻性生活xx| 超碰caoprom| 欧美日韩中文字幕精品| 欧美xxxx免费虐| 天堂va久久久噜噜噜久久va| 国v精品久久久网| 中文字幕在线观看高清| 性欧美视频videos6一9| 亚洲欧美网站在线观看|