版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
技術(shù)雷達2024年10月關(guān)于技術(shù)雷達3雷達一覽4貢獻者本期主題6TheRadar8本期雷達9平臺20工具26語言和框架36Thoughtworks技術(shù)雷達Thoughtworker酷愛技術(shù)。我們致力于建造技術(shù),研究技術(shù),測試技術(shù),開源技術(shù),書寫技術(shù),并不斷改進技術(shù)。支持卓越軟件并掀起IT革命是我們的使命,Thoughtworks技術(shù)雷達就是為了完成這一使命。它由Thoughtworks中一群資深技術(shù)領(lǐng)導(dǎo)組成的技術(shù)顧問委員會,通過定期討論Thoughtworks的全球技術(shù)戰(zhàn)略以技術(shù)雷達以獨特的形式記錄技術(shù)顧問委員會的討論結(jié)果,從首席技術(shù)官到開發(fā)人員,雷達將會為各路利益相關(guān)想要了解更多技術(shù)雷達相關(guān)信息,請點擊:/cn/radar/faq?Thoughtworks,Inc.AllRightsReserved.Thoughtworks技術(shù)雷達行分類,不同象限代表不同種類的技術(shù),而圓環(huán)則代表我們對它作出軟件領(lǐng)域瞬息萬變,我們追蹤的技術(shù)條目也如此,因此您會發(fā)現(xiàn)它們在雷采納:我們強烈主張業(yè)界采用這些技術(shù)。我們會試驗:值得追求。重要的是理解如何建立這種能評估:為了確認(rèn)它將如何影響你所在的企業(yè),值暫緩評估試驗技術(shù)雷達是具有前瞻性的。為了給新的技術(shù)條目騰出空間,我們挪出了近期沒有發(fā)生太多變?Thoughtworks,Inc.AllRightsReserved.4技術(shù)顧問委員會(TAB)由Thoughtworks的22名高級技術(shù)專家組成。TAB每年召開兩次面對面會議,每兩周召開一次視頻會議。其主要職責(zé)是為Thoughtworks的首席技術(shù)官RachelLaycock和名譽首席技術(shù)官RebeccaParsons提供咨詢建議。作為一個綜合型組織,TAB能夠?qū)徱曈绊慣houghtworks技術(shù)戰(zhàn)略和技術(shù)人員的各種主題。本期技術(shù)雷達內(nèi)容基于2024年9月技術(shù)委員會成員在紐約的面對面會議創(chuàng)建。RachelLaycockErikD?rnenburgPawanShahVanyaSethMartinFowlerJamesLewisScottShawWillAmaralKenMugrageSelvakumarNatesanBharaniSubramaniamMayaOrmazaShangqiLiuBirgittaB?ckelerMikeMasonSofiaTaniaCamillaFalconiCrispimThomasSqueo?Thoughtworks,Inc.AllRightsReserved.5興模式。伴隨這些模式不可避免的也出現(xiàn)了對應(yīng)的反模式――那些開發(fā)者應(yīng)避免的情境化問題。我們在過度亢使用大量嵌套條件語句而不是應(yīng)用一個策略設(shè)計模式。代碼質(zhì)量問題尤其突顯了開發(fā)者和架構(gòu)師需Rust逐漸成為首選的系統(tǒng)編程語言。在每一次的雷達會議中,Rust都反復(fù)出現(xiàn)討論的許多工具都是用Rust編寫的。當(dāng)替換舊的系統(tǒng)級實用工具時,它是首選語言,同時也是為了提高性能而重寫生態(tài)系統(tǒng)某些部分的選擇――基于Rust的工具最常見的描述是“極其快速”。例如,我們看到Python生態(tài)系統(tǒng)中有幾種工具提供了基于Rust的替代方案,以支持明顯更好的WASM(WebAssembly)是一種用于基于棧的虛擬機的二進制指令格式,這聽起來對大多數(shù)開發(fā)者來說太深奧和底層,直到人們看到其潛在的影響:能夠在瀏覽器沙箱中運行復(fù)雜的應(yīng)用程序。WASM可以在現(xiàn)有的JavaScript虛擬機中運行,使得開發(fā)者過去只能在原生框架和擴展中實現(xiàn)的應(yīng)用程序可以嵌入到瀏覽器中?,F(xiàn)發(fā)開辟了令人興奮的可能性。過去幾年,我們對此標(biāo)準(zhǔn)一直保持高度關(guān)注,看到它開始展現(xiàn)作為一個合理部署?Thoughtworks,Inc.AllRightsReserved.6框架、向量數(shù)據(jù)庫、云服務(wù)和可觀察性工具。在許多方面,這種快速多樣的發(fā)送首個提示詞后所做的夢想和夸大宣傳,但我們在許多客戶中看到了生成式人工智能的合理高效的應(yīng)用,這些工具、平臺和框架在將基于LLM的解決方案投入生產(chǎn)中發(fā)揮了重要作用。就像2015年左右JavaSc態(tài)系統(tǒng)的爆發(fā)一樣,我們預(yù)計這種混亂的增長還將?Thoughtworks,Inc.AllRightsReserved.7本期雷達2323586059225860592261626374616263746465476465476649481066494810505251675052686997142086869971420853354705336 42435571645724544562452465773暫緩評估試驗采納采納試驗評估暫緩9090247689753024768975301048886103258710488861032587858333328583333282842728342926828427283429268110079998110080357798773637977837979638939594963893959439404140419192?Thoughtworks,Inc.AllRightsReserved.8本期雷達平臺平臺5.領(lǐng)域敘事(Domainstorytelling)8.LLMasajudge9.Passkeys―24.DatabricksUnityCatalog25.FastChat26.GCPVertexAIAgentBuilder27.Langfuse28.Qdrant29.Vespa30.AzureAISearch31.DatabricksDeltaLiveTables32.ElastisysCompliantKubernetes33.FoundationDB34.Golem35.Iggy36.Iroh38.OpenBCIGalea39.PGLite40.SpinKube41.Unblocked―工具工具42.Bruno43.K9s46.Wiz47.AWSControlTower48.CCMenu49.ClickHouse50.Devbox51.Difftastic52.LinearB53.pgvector54.Snapcraft構(gòu)建工具55.Spinnaker56.TypeScriptOpenAPI58.AstronomerCosmos59.ColPali60.Cursor61.DataMeshManager62.GitButler63.JetBrainsAIAssistant64.Mise65.Mockoon66.Raycast68.Rspack70.軟件工程代理Softwareengineeringagents72.Warp73.Zed74.CocoaPods?Thoughtworks,Inc.AllRightsReserved.75.dbt76.Testcontainers79.DatabricksAssetBundles80.Instructor82.LiteLLM83.LlamaIndex84.LLMGuardrails85.Medusa88.seL489.SetFit90.vLLM91.ApacheXTable?92.dbldatagen93.DeepEval95.FlutterforWeb96.kotaemon98.LLMLingua99.MicrosoftAutogen102.Score103.shadcn104.Slint―232210879201436452暫緩評估232210879201436452暫緩評估●沒有變化5.領(lǐng)域敘事(Domainstorytelling)8.LLMasajudge9.Passkeys這些用戶是從不同類別中精心挑選的。這使團隊能夠快速獲取用戶反饋,并觀察新的影響,必要時進行學(xué)習(xí)和調(diào)整。這一技術(shù)在團隊向移動應(yīng)用程序或一系列設(shè)備(如邊緣計算設(shè)汽車)推出軟件更新時尤為重要。通過適當(dāng)?shù)目捎^察性和早期反饋,它能夠在生產(chǎn)影響范圍。雖然金絲雀發(fā)布有助于更快地獲取用戶反饋,但我們認(rèn)為從小部分用戶開始測試是應(yīng)該穩(wěn)定且快速運行。相反,我們看到的是,團隊放棄了對組件測試的掌握,而更傾向于端到的測試以及非常狹隘定義的單元測試。單元測試往往迫使組件暴露本應(yīng)是純內(nèi)部的功能,而基中運行組件測試。當(dāng)然,像Playwright這樣的瀏覽器工具仍然適用于端到端的測試,但不應(yīng)用于組件測試。我們認(rèn)為,組織應(yīng)該在可能的情況下采用持續(xù)部署實踐。持續(xù)部持續(xù)部署與持續(xù)交付的區(qū)別在于,它只要求代碼“可以”在任何時候進行部署;并不要求每個更改“實際被”部署到生產(chǎn)環(huán)境中。我們過去一直猶豫將持續(xù)部署移入“采納”環(huán)節(jié),因為這是一種需要在軟件交付具備高水平成熟度的實踐,因此并不適合所有團隊。然而,Thou書籍《持續(xù)部署》提供了在組織中實施這一實踐的全面指南。它為組織提供了一條實現(xiàn)?Thoughtworks,Inc.AllRightsReserved.12檢索增強生成(RAG)是我們團隊提高LLM生成響應(yīng)質(zhì)量的首選模式技術(shù),包括JugalbandiAI平臺。在RAG技術(shù)中,相關(guān)且可信的文檔信息存儲在數(shù)據(jù)庫中。在給定的提示詞富的上下文。這不僅提高了輸出質(zhì)量,還大大減少了幻覺現(xiàn)象。雖然隨著新模型的出現(xiàn),LLM的上下文窗口心構(gòu)建的較小上下文有時能比廣泛的大上下文產(chǎn)生更好的效果。并且使用大上下文也會導(dǎo)致速度變慢且成本更高。我們過去依賴存儲在向量數(shù)據(jù)庫中的向量嵌入(embedding)來識別額外的上下文,但現(xiàn)在我們看到了重排序和混合搜索的趨勢:搜索工具如ElasticsearchRelevanceEngine以及諸如GraphRAG等利用LLM創(chuàng)建的知識圖譜的方法開始被使用。在我們利用生成式AI理解遺留代碼庫的工作中,基于圖譜的方法表現(xiàn)得特別出色。5.領(lǐng)域敘事(Domainstorytelling)域模型沒有一種通用的方法。我們最近遇到的一種前景看好的技術(shù)是領(lǐng)域敘事(Domainstorytelling)。領(lǐng)域敘事是一種引導(dǎo)技術(shù),業(yè)務(wù)專家被提示描述業(yè)務(wù)中的活動體和參與者之間的關(guān)系和動作。使這些故事可視化的過程有助于澄清和發(fā)展參與者之間的共同理解。由于沒有微調(diào)嵌入模型可以提高特定任務(wù)或領(lǐng)域嵌入的準(zhǔn)確性和相關(guān)性。我們的團隊在開發(fā)領(lǐng)域特定的大語言模型應(yīng)用時進行了嵌入微調(diào),因為精確的信息提取至關(guān)重要。然而,當(dāng)你急于微調(diào)嵌入模型之前,請仔細(xì)權(quán)衡這種?Thoughtworks,Inc.AllRightsReserved.13其輸出進行操作,有效地彌合了思想與行動之間的差距――就像人類使用工具來完成各種任務(wù)一樣。通過引入接到內(nèi)部系統(tǒng)和數(shù)據(jù)庫,甚至通過連接的瀏覽器進行互聯(lián)網(wǎng)搜索。像Open調(diào)其作為多種實現(xiàn)中基礎(chǔ)工具的潛力,而非8.LLMasajudge9.Passkeys在FIDO聯(lián)盟的引導(dǎo)下,并由Apple、Google和Microsoft支持,passkeys正逐步接近主流可用性。使用證明自己擁有私鑰來進行身份驗證,該私鑰存儲在用戶設(shè)備上,永遠不會發(fā)送到物識別或PIN碼保護。passkeys可以在大科技生態(tài)系統(tǒng)中存儲和同步,如Apple的iCloud鑰匙串、Google在創(chuàng)建密鑰或需要登錄的設(shè)備之外的其他設(shè)備上。對passkeys最常見的反對意見是它對技術(shù)來說是個挑戰(zhàn),而我們認(rèn)為這種觀點實際上是在自我否定。這類用戶通替代方法中受益。實際上,使用passkeys的系統(tǒng)在必要時可以回退到更傳統(tǒng)的認(rèn)證方式。?Thoughtworks,Inc.AllRightsReserved.14示需要大量計算資源,導(dǎo)致查詢速度慢且成本高;這些模型是專有的,體積龐大,必須由第三方托管在云中,這可能對敏感數(shù)據(jù)造成問題;而且,在大多數(shù)情況下,訓(xùn)練一個模型的費用是非常高的。最后一個問題可以通常在35億到100億個參數(shù)之間。最近的研究表明,在適當(dāng)?shù)纳宪浲瞥銎銹hi-3系列,該領(lǐng)域正在迅速發(fā)展。合成數(shù)據(jù)集創(chuàng)建涉及生成可以模擬現(xiàn)實世界場景的人工數(shù)據(jù),而無需依賴數(shù)據(jù)中重新使用合成數(shù)據(jù)的趨勢。企業(yè)通常面臨領(lǐng)域特定數(shù)據(jù)缺乏標(biāo)注的問題,尤其是在訓(xùn)練或型(LLMs)時。像Bonito和Microsoft’sAgentInstruct這樣的工具可以從原始數(shù)據(jù)源(如文本文檔和代碼文件)生成合成的指令調(diào)優(yōu)數(shù)據(jù)。這有助于加速模型訓(xùn)練,同時降低成本和對手動數(shù)據(jù)管理的依賴。另一個重要擬稀有交易,使模型在檢測邊緣案例方面更加穩(wěn)健,從式AI理解遺留代碼庫的技術(shù)和產(chǎn)品得到了進一步的發(fā)展,我們已經(jīng)成功實踐了一些方法,機現(xiàn)代化改造的逆向工程中。我們使用的一個特別有前景的技術(shù)是retrieval-augmentedgeneration(RAG)文本代碼中推導(dǎo)的內(nèi)容。這對于那些不具備自我描述性和一致性的遺留代碼庫尤其有幫助。另一個提升代碼理?Thoughtworks,Inc.AllRightsReserved.15AI編碼輔助工具通常是在幫助和增強個人貢獻者的工作方面被討論的。然而,軟件交付始終是團隊合作的過來源匯聚在一起,并智能地整合到團隊成員工具中的隊協(xié)作平臺,為團隊提供新的搜索類型和訪問其文檔的方式,并通14.動態(tài)少樣本提示像scikit-llm這樣的庫實現(xiàn)了這一技術(shù),它使用最近鄰搜索來獲取與用戶查詢最相關(guān)的示例。該技術(shù)可以更好地利用模型有限的上下文窗口,并減少token消耗。開源SQL生成器vanna就是利用動態(tài)少樣本提示來提高討論過GraphQL作為一種API協(xié)議,它使開發(fā)者能夠創(chuàng)建一個統(tǒng)一的API層,縫地發(fā)現(xiàn)數(shù)據(jù)格式和關(guān)系,并使用熟悉的客戶端工具進行各種操作。我們的團隊正在探索將根據(jù)用戶提示詞構(gòu)建,同時還可以在提示詞中引入GraphQL結(jié)構(gòu)以便于LLM參考以生成準(zhǔn)確的查詢語句。項技術(shù)允許開發(fā)人員將復(fù)雜的任務(wù)分解為多個小任務(wù),再交由不同的工具來執(zhí)行任務(wù),代理之間通過對話來協(xié)調(diào)任務(wù)流程。該技術(shù)仍處于早期開發(fā)階段。在我們目前的團隊遇到了一些問題,比如說代理陷入持續(xù)循環(huán)和行為失控。像LangGraph這樣的庫提供了更大的代理交互控制能力,能夠以圖的形式定義流程。如果你使用這項技術(shù),我們建議實施?Thoughtworks,Inc.AllRightsReserved.16可觀察性2.0代表了一種從傳統(tǒng)的、分散的監(jiān)控工具向統(tǒng)一方法的轉(zhuǎn)變,它通過以原始形式存儲事件,這種方法簡化了關(guān)聯(lián)性分析,支持實時和取證分析,并能夠深入了解復(fù)雜的分布式系統(tǒng)。它允許高分辨率的監(jiān)控和動態(tài)調(diào)查能力??捎^察性2.0優(yōu)先捕捉高基數(shù)和高維度數(shù)據(jù),能夠進行詳細(xì)的檢查而不會產(chǎn)生性能瓶頸。統(tǒng)一的數(shù)據(jù)存儲減少了復(fù)雜性,大語言模型(LLMs)現(xiàn)在可以在網(wǎng)絡(luò)瀏覽器和智能手機、筆記本電腦等邊緣設(shè)成為可能。這允許在不傳輸?shù)皆贫说那闆r下安全處理敏感數(shù)據(jù),為邊緣計算、實時圖像或視頻處理等任務(wù)提供極低的延遲,通過本地計算降低成本,并在網(wǎng)絡(luò)連接不穩(wěn)定或不可用時依然能夠正常工作。這是研究和開發(fā)領(lǐng)域。我們之前曾提到過MLX,這是一個在AppleSilicon上高效執(zhí)行機器學(xué)習(xí)的開源框架。其他新興工具包括Transformers.js和Chatty。Transformers.js允許你通過ONNXRuntime在瀏覽器中運行transformers,支持從PyTorch、TensorFlow和JAX轉(zhuǎn)換的模型。Chatty利用WebGPU在瀏覽器中本地和從LLMs獲取結(jié)構(gòu)化輸出是指通過定義的結(jié)構(gòu)模式來約束語言模型的響應(yīng)。這可以通過指示通用模型以特定格式響應(yīng),或者通過微調(diào)模型使其“原生”輸出互和外部集成中尤其有價值,因為這些場景中格式的準(zhǔn)確性和一致性至關(guān)重要。結(jié)構(gòu)化輸出不僅提升了與代碼交互的方式,還支持更廣泛的使用場景,例如生成用于呈現(xiàn)圖?Thoughtworks,Inc.AllRightsReserved.17AI編程助手,如GitHubCopilot和Tabnine,已經(jīng)變得非常受歡迎。根據(jù)StackOverflow2024年開發(fā)者調(diào)了幾次積極的AI輔助體驗后,很容易在審查AI建議時變得不夠謹(jǐn)慎。像GitClear的這項研究顯示了代碼庫創(chuàng)建企業(yè)范圍的集成測試環(huán)境是一種常見且浪費的做法,會拖珍貴資源,成為開發(fā)的瓶頸。由于不同環(huán)境之間不可避免的數(shù)據(jù)和配置開銷差異,它們還會提供點未能考慮到企業(yè)級集成測試環(huán)境所造成的延遲成本,因為開發(fā)團隊往往需要等待其他團隊完成任務(wù)或等待依賴系統(tǒng)的新版本部署。相反,團隊?wèi)?yīng)使用臨時環(huán)境,最好是開發(fā)團隊擁建和銷毀,使用替身(fakestubs)而不是實際的副22.禁用大語言模型批準(zhǔn)且可能不安全的替代方案,帶來不必要的風(fēng)險。正如個人計算機早期一樣,具來完成工作,無論是否存在障礙。如果公司不提供安全且獲大語言模型,這會帶來知識產(chǎn)權(quán)、數(shù)據(jù)泄露和法律責(zé)任的風(fēng)險。相反,提供安全、?Thoughtworks,Inc.AllRightsReserved.18有的同行信任它,有的同行討厭它?,F(xiàn)在大家都會對編碼助手們提出同樣智能,而不是另外一個程序員,進行結(jié)對編程,從而達到同樣的團隊產(chǎn)出嗎?GithubCopilot甚至自稱為“你代替結(jié)對編程。把編碼助手當(dāng)做結(jié)對編程者忽略了結(jié)對編程的一個關(guān)鍵收益:它可以讓團隊而不只是個人變得更好。在幫助解決難題,學(xué)習(xí)新技術(shù),引導(dǎo)新人,或者提高技術(shù)任務(wù)的效率從而讓團隊更關(guān)注戰(zhàn)些方面,使用編程助手確實大有裨益。但在諸如將正在進行的工作的數(shù)量控學(xué)習(xí),讓持續(xù)集成成為可能,或者改善集體代碼所有權(quán)等等這些團隊合作相關(guān)的層面,它沒有帶?Thoughtworks,Inc.AllRightsReserved.19平臺暫緩評估30242532平臺暫緩評估3024253233263428293536373840392741●沒有變化―24.DatabricksUnityCatalog25.FastChat26.GCPVertexAIAgentBuilder27.Langfuse28.Qdrant29.Vespa30.AzureAISearch31.DatabricksDeltaLiveTables32.ElastisysCompliantKubernetes33.FoundationDB34.Golem35.Iggy36.Iroh38.OpenBCIGalea39.PGLite40.SpinKube41.Unblocked―24.DatabricksUnityCatalogDatabricksUnityCatalog是一種用于數(shù)據(jù)治理的解決方案,適用于在lakehouse中的資產(chǎn),例如文件、表或機器學(xué)習(xí)模型。它是開源UnityCatalog的托管版本,可用于管理和查詢存儲在外部存儲或由Databricks管理的需求。我們團隊發(fā)現(xiàn)的一個問題是Databricks托管的UnityCatalog缺乏自動災(zāi)難恢復(fù)功能。雖然他們能通常會實施集中化的解決方案,以確保工作空間和工作負(fù)載之間的一致性,但可以通過讓各個團隊管理自己的25.FastChatFastChat是一個開放平臺,用于訓(xùn)練、服務(wù)和評估大型語言模型。我們的團隊利用其模型服務(wù)能力來托管多個模型―Llama3.1(8Band70B)、Mistral7B和Llama-SQL―出于不同的目的,所有模型均以一致的OpenAIAPI格式運行。FastChat采用控制器-工作者架構(gòu),允許多個工作者托管不同的模型。它支持不同類型的工作者,如vLLM、LiteLLM和MLX。我們選擇使用vLLM模型工作的擴展能力進行A/B測試。我們用相同的模型但不同的超參數(shù)(Hyperparameter)值配置FastChat工作者,我們進行A/B測試以確保平滑遷移。例如,我們最近將代碼建議的模型從CodeLlama70B遷移到Llama3.170B。通過同時運行這兩個模型并比較輸出,我們驗證了新模型在性能上達到26.GCPVertexAIAgentBuilderGCPVertexAIAgentBuilder提供了一個靈活的平臺,可以通過自然語言或代碼優(yōu)先的方式創(chuàng)建AI代理。該工具通過第三方連接器無縫集成企業(yè)數(shù)據(jù),并且擁有構(gòu)建、原型設(shè)計和部署AI代理所需的全部工具。隨著對AI代理需求的增加,許多團隊在理解其優(yōu)勢和實施上面臨困難。GCPVertexAIAgentBuilder使開發(fā)者能夠更快地進行代理的原型設(shè)計,并以最小的設(shè)置處理復(fù)雜的數(shù)據(jù)任務(wù)。我代理的系統(tǒng),例如知識庫或自動化支持系統(tǒng),這些系統(tǒng)可以高效地管理結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)?Thoughtworks,Inc.AllRightsReserved.2127.Langfuse程序在生產(chǎn)環(huán)境中的運作至關(guān)重要。我們團隊在使用Langfuse方面有過積極的體驗,我們曾用它來觀察、監(jiān)控和評估基于LLM的應(yīng)用程序。它的追蹤、分析和評估能力使我們能夠分析完成性能和準(zhǔn)確性,管理成本和延遲,并理解生產(chǎn)使用模式,從而促進持續(xù)的數(shù)據(jù)驅(qū)動改進。儀器數(shù)據(jù)提供了請求-響應(yīng)流和中間步驟的完整可追溯性,這可以作為測試數(shù)據(jù),在部署新變更之前驗證應(yīng)用程序。我們已將Langfuse與RAG(檢索增強生慮的選項是Langsmith。28.QdrantQdrant是一個開源的向量相似度搜索引擎和數(shù)據(jù)庫,使用Rust編寫。它支持多重文本和多模態(tài)密集向量嵌入模型。我們的團隊使用了諸如MiniLM-v6和BGE等開源嵌入模型,將其應(yīng)用于多的產(chǎn)品知識庫中。我們把Qdrant作為一個企業(yè)級VectorStore使用,利用多租戶技術(shù)將向量嵌入存儲為獨立的集合,從而隔離不同產(chǎn)品的知識庫。用戶訪問策略則在應(yīng)用層中進行管理。29.VespaVespa是一個開源搜索引擎和大數(shù)據(jù)處理平臺。它特別適合于需要低延遲和高吞吐量的應(yīng)用。我們的團隊喜歡Vespa實現(xiàn)混合搜索的能力,能夠使用多種檢索技術(shù)高效過濾和排序多種類型的元數(shù)據(jù),實30.AzureAISearchAzureAISearch,前稱CognitiveSearch,是一個云端搜索服務(wù),專為處理結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)而設(shè)計,例如PDF、DOC和PPT,從而簡化創(chuàng)建可搜索內(nèi)容的流程。此外,它還與常適合在Azure環(huán)境中托管的項目。通果您在Azure生態(tài)系統(tǒng)中工作并需要為RAG應(yīng)用構(gòu)建強大的搜索解決方案,AzureAISearch值得考慮。?Thoughtworks,Inc.AllRightsReserved.2231.DatabricksDeltaLiveTablesDatabricksDeltaLiveTables是一個聲明式框架,旨在構(gòu)建可靠、可維護和可測試的數(shù)據(jù)處理管道。它允許數(shù)據(jù)工程師使用聲明式方法定義數(shù)據(jù)轉(zhuǎn)換,并自動管理底層基礎(chǔ)設(shè)施和數(shù)據(jù)流。DeltaLiveTabl這種可見性對于復(fù)雜的流水線至關(guān)重要,幫助數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家跟蹤數(shù)據(jù)血緣和依賴關(guān)系。DeltaLiveTables之前仔細(xì)評估輸入和輸出接口的兼容性。32.ElastisysCompliantKubernetesElastisysCompliantKubernetes是一個專門設(shè)計的Kubernetes發(fā)行版,旨在滿足嚴(yán)格的監(jiān)管和合規(guī)要求,尤其適用于醫(yī)療、金融和政府等高度監(jiān)管的行業(yè)。它自動化了需要安全、合規(guī)且可靠的Kubernetes環(huán)境的公司來說,這是一個具有吸引力的選擇。33.FoundationDBFoundationDB是一個多模型數(shù)據(jù)庫,2015年被蘋果公司收購,并于2018年4月開源。FoundationDB的顯著的改進,包括智能數(shù)據(jù)分布以避免寫入熱點、新的存儲引擎、性能優(yōu)化以及多區(qū)域復(fù)制支持。我們正在FoundationDB仍然非常易于運行和操作大型集群。34.Golem組件,同時Golem具有確定性并支持快速啟動時間。我們認(rèn)為Gole?Thoughtworks,Inc.AllRightsReserved.2335.IggyIggy是一個用Rust編寫的持久化消息流36.Iroh中構(gòu)建去中心化帶來了令人興奮的可能性。如果您不想自己托管Iroh節(jié)點,可以使用其云服務(wù)work。處于早期階段,但值得關(guān)注,因為它有可能成為去中心化存儲更適合簡單的聊天界面或純文本API不同,計算機視覺工括V7、NvidiaDeepstreamSDK和Roboflow,這些平臺正在解決這些挑戰(zhàn)。Deepstream和Roboflow對我們特別有吸引力,因為它們結(jié)合了用于管理和標(biāo)注視頻流的集成GUI開發(fā)環(huán)境,同時提供了Python、C++?Thoughtworks,Inc.AllRightsReserved.2438.OpenBCIGalea的平臺上構(gòu)建創(chuàng)新應(yīng)用,而不必?fù)?dān)心低級信號處理和集成挑戰(zhàn)。這樣的平臺的例子功能結(jié)合在一起。它為開發(fā)人員提供了一系列時間鎖定的生理數(shù)據(jù)流,以及空間定位傳感器和眼動追蹤。這些傳感器數(shù)據(jù)可以用于控制各種物理和數(shù)字設(shè)備。該SDK支持多種語言,并在Unity或Unreal中提供傳感器數(shù)據(jù)。我們很高興看到這一能力在開源平臺上提供,這樣研究人員就能獲得他們在這一領(lǐng)域創(chuàng)新所需的工具和數(shù)據(jù)。39.PGLitePostgreSQL構(gòu)建為WASM,允許你完全在web瀏覽器中運行它。你可以在內(nèi)存中創(chuàng)建一個臨時數(shù)據(jù)庫,或顯著發(fā)展。借助Electric和PGLite,你現(xiàn)在可以基于PostgreSQL構(gòu)建響應(yīng)式的本地優(yōu)先應(yīng)用。40.SpinKubeSpinKube是一個在Kubernetes上運行的開源無服務(wù)器(serverless)WebAssembly運行時。雖然Kubernetes提供了強大的自動擴展能力,但容器的冷啟動時間仍然可能需要預(yù)先配置以應(yīng)對高峰負(fù)載。我們認(rèn)為,WebAssembly的毫秒級啟動時間為按需工作負(fù)載提供了更加動態(tài)和靈活的無服務(wù)器(serverless)解決方案。自從我們上次討論Spin以來,WebAssembly生態(tài)系統(tǒng)已經(jīng)取得了顯著的進展。我們很高興推薦SpinKube這一平臺,它簡化了在Kubernetes上基于WebAssembly工作負(fù)載的開發(fā)和部署過程。41.UnblockedUnblocked提供軟件開發(fā)生命周期(SDLC)資產(chǎn)和工件的發(fā)現(xiàn)功能。它與常見的應(yīng)用程序生命周期管理(ALM)和協(xié)作工具集成,幫助團隊理解代碼庫及相關(guān)資源。通過提供代碼的即時相關(guān)上下文,Unblocked改善了代碼理解,使導(dǎo)航和理解復(fù)雜系統(tǒng)變得更加容易。工程團隊可以安全合規(guī)地訪問與其工作相關(guān)的討論、資產(chǎn)和文檔。Unblocked還捕捉并分享了通常掌握在經(jīng)驗豐富團隊成員手中的本地知識,使寶貴的見解能夠為所有人訪問,不論經(jīng)驗水平如何。?Thoughtworks,Inc.AllRightsReserved.25工具42.Bruno43.K9s58605958605946.Wiz6162637464654764654766494847.AWSControlTower6649485051675248.CCMenu50516752686949.ClickHouse6869535470 4535470 4243557151.Difftastic7252.LinearB7244564546577344564546577354.Snapcraft構(gòu)建工具56.TypeScriptOpenAPI●沒有變化●沒有變化58.AstronomerCosmos59.ColPali60.Cursor61.DataMeshManager62.GitButler63.JetBrainsAIAssistant64.Mise65.Mockoon66.Raycast68.Rspack70.軟件工程代理Softwareengineeringagents72.Warp73.Zed74.CocoaPods工具工具42.Bruno采納可作為CLItool。它還提供了官方的VSCode擴展,并計劃支持其他IDE。Bruno已成為多支Thoughtworks團隊的默認(rèn)選擇,但我們也建議團隊在VPN和代理環(huán)境下工43.K9s采納不太熟悉的開發(fā)者使用。K9s最初主要專注于DevOps團隊,所以這次改進可以看作是它一次重大的改進。44.SOPS采納45.視覺回歸測試工具采納通過配置選擇器和視口來定位頁面上的特定元素進行視覺測試,避免了這個問題AI和機器學(xué)習(xí)最新進展的優(yōu)勢。現(xiàn)在,幾個商業(yè)工具,如Applitools和Percy,聲稱在其視覺回歸測試中使?Thoughtworks,Inc.AllRightsReserved.27工具工具用了AI。我們的一支團隊廣泛使用了ApplitoolsEyes,并對結(jié)果感到滿意。盡管視覺回歸測試不能替代編寫良好的端到端功能測試,但它們是測試工具箱中的一個寶貴補充。我們正積極推動它們的采46.Wiz采納Wiz已成為我們多個項目中的云安全平臺首選。團隊和領(lǐng)導(dǎo)團隊提供的強大報告功能。該分析幫助我們了解漏洞如何影響特定服務(wù),從而47.AWSControlTower建新基礎(chǔ)設(shè)施時被應(yīng)用和驗證,消除了后續(xù)進行手動合規(guī)檢查的需求。AWSControlTowerAccountFactoryforTerraform(AFT)自我們上次使用以來不斷發(fā)展,現(xiàn)在已在更多的設(shè)施即代碼流水線來創(chuàng)建ControlTower賬戶。我們喜歡AFT的定制化能力,它可以通過發(fā)送webhooks或采取特定操作,安全地與外部工具GitHubActions集成。我們的團隊報告說使用AWSControlTower管理賬戶效果很好,但我也希望AWS能接受社48.CCMenu屏幕儀表盤可以讓人一目了然地獲取這些信息。隨著遠程工作成為常態(tài),團隊需要一種適用于開發(fā)者個體工作站的解決方案。在Mac上,CCMenu就是一款這樣的工具,這是一個由Thoughtworks員工編寫的小應(yīng)用程序。最初它是CruiseControl的一部分,適用于所有可以提供cctray格式信息的服務(wù)器,包括Jenkins和TeamCity。最近的重寫增加了對GitHubActions的支持,并為更深入集成更多CI服務(wù)器和?Thoughtworks,Inc.AllRightsReserved.28工具工具49.ClickHouse目啟動,之后發(fā)展成為一個高性能且線性可擴展的分析數(shù)據(jù)庫。其高效的查詢處理引擎結(jié)合在不進行預(yù)聚合的情況下運行交互式查詢。ClickHouse也是OpenTelemetry數(shù)據(jù)的優(yōu)秀存儲選擇。它與Jaeger的集成允許您存儲大量的追蹤數(shù)據(jù)并高效分析。50.Devbox盡管開發(fā)工具不斷進步,保持一致的本地開發(fā)環(huán)境仍然是許多團隊面臨的需要運行命令或自定義腳本,而這些操作可能會在不同機器上不可預(yù)測地失敗,導(dǎo)致環(huán)境不個問題,我們的團隊越來越依賴Devbox。Devbox是一個命令行工具,提供了簡潔的界面,用于創(chuàng)建可復(fù)現(xiàn)的、按項目定義的本地開發(fā)環(huán)境,它利用了Nix包管理器,但不使用虛擬機或容器。Devbox極大地簡化了團的環(huán)境。Devbox支持shell鉤子、自定義腳本以及生成devcontainer.json,以便與VSCode集成。51.DifftasticDifftastic是一種用于在語法感知的基礎(chǔ)上高亮顯示代碼文件差異的工具,和傳統(tǒng)的文本diff工具(例如經(jīng)典的Unixdiff命令)有很大不同。例如,在像Java或TypeScript這樣的以分號分隔的語言中,Difftastic會忽略為了分割長語句而插入的換行符。該工具僅突出顯示對程序語法有影響的更改。它首先將文件解析為抽象語法樹,然后使用Dijkstra算法計算它們之間的距離。我們發(fā)現(xiàn),Difftastic在審查大型代碼庫時特別有用。只要編程語言有解析器,它就可以用于任何編程語言,并且開箱即用地支持50多種編程語言以及CSS、HTML等52.LinearBLinearB是一個軟件工程智能平臺,為我們的工程領(lǐng)導(dǎo)者提供數(shù)據(jù)驅(qū)動的洞察,以支持持續(xù)改進。它對關(guān)鍵領(lǐng)域進行對齊,如基準(zhǔn)測試、工作流自動化以及增強開發(fā)者體驗和生產(chǎn)力的針對性投資。我們對LinearB的體驗表明,它能夠在工程團隊中培育改進和效率的文化。我們的團隊使改進的領(lǐng)域,并實施基于證據(jù)的行動。這些功能與LinearB的核心價值主張高度一致:基準(zhǔn)測試、自動化收集指標(biāo),并實現(xiàn)數(shù)據(jù)驅(qū)動的改進。LinearB集成了源代碼、應(yīng)用生命周期、CI/CD和溝通工具,使用預(yù)配置和自?Thoughtworks,Inc.AllRightsReserved.29工具工具我們特別欣賞LinearB對這些特定指標(biāo)的強烈關(guān)注,以及其衡量軟件交率至關(guān)重要。歷史上,團隊在收集交付核心四指標(biāo)特定指標(biāo)時會面臨挑戰(zhàn),往動過程。LinearB持續(xù)提供一個引人注目的解決方案,能夠自動跟蹤這些指標(biāo),并提供實時數(shù)據(jù),以支持圍繞53.pgvectorpgvector是一個開源的PostgreSQL擴展,用于進行向量相似性搜索,允許將向量與結(jié)構(gòu)化數(shù)據(jù)一起存儲在單一且成熟的數(shù)據(jù)庫中。雖然它缺少一些專用向量數(shù)據(jù)庫的高級功能,但它受益于PostgreSQL的ACID合規(guī)索嵌入向量以進行相似性匹配,pgvector有效地解決了這一需求。pgvector在生產(chǎn)環(huán)境中的使用日益增多,尤其是在團隊已經(jīng)使用云提供商管理的PostgreSQL時,它表現(xiàn)出能夠滿足常見向量搜索54.Snapcraft構(gòu)建工具Snapcraft是一個開源的命令行工具,用于在Ubuntu、其他Linux發(fā)行版和macOS上構(gòu)建和打包名為snaps的自包含應(yīng)用程序。Snaps可以在包括Linux機器、虛擬環(huán)境和車輛車載計算機系統(tǒng)在內(nèi)的硬件平臺上輕松部署和維護。雖然Snapcraft提供了一個公共的應(yīng)用商店用于發(fā)布snaps,但我們的團隊使用這個構(gòu)建工具將55.SpinnakerSpinnaker是由Netflix創(chuàng)建的一個開源持續(xù)交付平臺。它將集群管理和云端烘焙鏡像的部署作為核心功能但這一問題已通過添加spinCLI得到解決。盡管我們不建議在簡單的持續(xù)交付場景中使用Spinnaker,但在復(fù)雜的情況和同樣復(fù)雜的部署管道中,它已經(jīng)成為許?Thoughtworks,Inc.AllRightsReserved.30工具工具56.TypeScriptOpenAPITypeScriptOpenAPI(或稱tsoa)是Swagger生成OpenAPI規(guī)范的一個替代方案,用于從代碼中直接生成注解或裝飾器,而不像使用OpenAPI工具時需要復(fù)雜的文且支持為Express、Hapi和Koa生成路由。如果你在使用TypeScript編寫API,值得看看這個項目。57.Unleash盡管我們?nèi)匀煌扑]使用最簡特性開關(guān),但隨著團隊的擴展和開發(fā)速度的加快,管理手工制作的開關(guān)變得更加以自托管。Unleash提供了多個語言的SDK,擁有良好的開發(fā)者體驗和友好的管理界面。盡管目前還沒有對OpenFeature規(guī)范的官方支持,但你可以找到由社區(qū)維護的Go和Javaproviders。Unleash既可以用于簡單特性開關(guān),也支持分組和漸進式發(fā)布,使其成為適合大規(guī)58.AstronomerCosmosAstronomerCosmos是一個為Airflow設(shè)計的插件,旨在為dbtcore工作流提供更原生的支持。安裝該插件后,當(dāng)使用DbtDag包裝dbt工作流時,它將dbt節(jié)點轉(zhuǎn)換為Airflow任務(wù)/任務(wù)組,使工程師能夠直接在AirflowUI中可視化dbt依賴圖及其執(zhí)行進度。它還支持使用Airflow連接代替dbt配置文件,從而可能減少配置擴散。我們正在試驗該工具,探索它在Airflow中與dbt更無縫集成的潛力。59.ColPali文本和視覺內(nèi)容。這種整體方法不僅提高了文檔檢索的效果,還增強了對為何檢索到特定?Thoughtworks,Inc.AllRightsReserved.31工具工具60.CursorAI輔助編程工具的競賽仍在繼續(xù),而其中最引人注目的一個就是Cursor。Cursor是一個以AI為核心的代碼到它,但顯然,Cursor近期的持續(xù)改進已為其帶來了質(zhì)的飛躍。在我們的使用中,Cursor展現(xiàn)了基于現(xiàn)有代碼庫的強大上下文推理能力。盡管其他AI代碼工具如GitHubCopilot已經(jīng)可以圍繞代碼片段進行代碼生成或協(xié)作,Cursor的多行和多文件編輯操作讓它脫穎而出。Cursor是基于VSCode代碼庫分叉開發(fā)的,提供了一種符合開發(fā)者直覺的快速且直觀的交互方式。通過快捷鍵ctrl/cmd+K和ctrl/cmd+L即可完成強大的操作。Cursor在AI編程工具的競賽中引領(lǐng)了新一輪的競爭,尤其是在開發(fā)者交互和代碼庫理解方面更為突出。61.DataMeshManagerOpenContract倡議規(guī)范數(shù)據(jù)契約,并可以通過相關(guān)的DataContractCLI集成到構(gòu)建管道中。該應(yīng)用還提供了數(shù)據(jù)目錄,用于發(fā)現(xiàn)和探索數(shù)據(jù)產(chǎn)品及其元數(shù)據(jù),并允許進行聯(lián)邦治理,包括定義數(shù)據(jù)質(zhì)量指標(biāo)和管理數(shù)據(jù)質(zhì)量規(guī)則。作為該領(lǐng)域的首批原生工具之一,它不僅僅是試圖將現(xiàn)有平臺改造為數(shù)據(jù)網(wǎng)格范62.GitButler盡管Git的功能強大且實用,但其命令行界面在管理多個分支和提交暫存方面以復(fù)雜性著稱。GitButler是一個Git客戶端,它提供了圖形界面,旨在簡化這一過程。GitButler通過獨立于Git跟蹤未提交的文件更改,并將這些更改暫存到虛擬分支中來實現(xiàn)這一目標(biāo)。有人可能會認(rèn)為這是對不應(yīng)存在的問題的與GitHub集成,允許你選擇性地將更改分組為pullrequest,并直接從該工具發(fā)出。GitButler是旨在管理PR63.JetBrainsAIAssistantJetBrainsAIAssistant是一款為所有JetBrainsIDE提供支持的編碼助手,旨在順暢集成以支持代碼補全、測試生成和風(fēng)格指南遵循。它基于OpenAI和GoogleGemini等模型,因其能夠記住持一致性輸出而脫穎而出。我們的開發(fā)人員發(fā)現(xiàn)其測試生成功能特別有用,并指出它在處理較長定性問題。然而,與一些競爭對手不同,JetBrains沒有托管自己的模型,這對于擔(dān)心第三方數(shù)據(jù)處理的客戶?Thoughtworks,Inc.AllRightsReserved.32工具工具64.Mise提供一個工具來替代nvm、pyenv、pyenv、rbenv、rustup等工具,并且可以作為asdf的直接替代品。Mise是用Rust編寫的,以提高shell交互的速度;與使用基于shell的shim的asdf不同,mise預(yù)先修改PATH環(huán)境變量,從而直接調(diào)用工具運行時。這也是mise比asdf更快的部分原因。對于那些已經(jīng)熟悉asdf的開發(fā)人員,mise提供了相同的功能,但有一些關(guān)鍵區(qū)別。由于是用Rust編寫的,mise更快,并且擁有一些asdf所沒有的功能,例如能夠同時安裝同一工具的多個版本,以及更寬容的命令,包括模糊匹配。它集成的任務(wù)運行器,方便執(zhí)行代碼檢查、測試、構(gòu)建、服務(wù)器和個工具來管理開發(fā)環(huán)境,并且對其他工具有時笨拙的語法感到不滿,那么mise絕對值得一試。65.Mockoon模擬數(shù)據(jù)集。Mockoon兼容OpenAPI,允許生成不同的場景,能夠在本地進行測試并與開發(fā)流水線集成。你路由或端點,并將其他請求轉(zhuǎn)發(fā)到實際的服務(wù)器。部分模擬在某些場景致不必要的復(fù)雜性。除此之外,Mockoon仍然是快速搭建模擬API、改進和自動化開發(fā)流程的寶貴工具。66.RaycastRaycast是一款適用于macOS的啟動器,允許你任務(wù)。我們的團隊認(rèn)為其針對開發(fā)者的開箱即用功能非常有價值和服務(wù),如VSCode、Slack、Jira和Google等,進行交互。Raycast專為提高生產(chǎn)力設(shè)計,減少上下文切換,是希望簡化日常任務(wù)的用戶的有用工具。專業(yè)版用戶還可以使67.ReadySetReadySet是一個適用于MySQL和PostgreSQL的緩存層。與依賴手動失效的傳統(tǒng)緩存解決方案不同,ReadySet利用數(shù)據(jù)庫復(fù)制流來增量更新其緩存。通過部分視圖物化,Ready的尾延遲。ReadySet與MySQL和PostgreSQL在協(xié)議上兼容,因此可以將其部署在數(shù)據(jù)庫前,以橫向擴展?Thoughtworks,Inc.AllRightsReserved.33工具工具68.Rspack者是Rspack,經(jīng)過1.5年的開發(fā),剛剛發(fā)布Webpack生態(tài)系統(tǒng)中的插件和加載器。這在遷移復(fù)雜的Webpack設(shè)置時,相較于Vite可能具有們團隊遷移到Vite和Rspack等新工具的主要原因是開發(fā)者體驗,特別是速度。沒有什么在許多情況下甚至比Vite更快。69.語義路由在構(gòu)建基于LLM的應(yīng)用時,將請求路由到特定代理或觸發(fā)某一流程之前,確定用戶意圖是至關(guān)重要的。SemanticRouter充當(dāng)LLM和代理之間的快速決策層,基于語義意義進行高效且可靠的請求路性使其在需要避免LLM帶來的額外開銷,快速實時決策的環(huán)境中成為強有力的競爭者。70.軟件工程代理(softwareengineeringagents)目前在生成式AI(GenAI)領(lǐng)域最熱門的話題之一是軟件工程代理(s這些編程輔助工具不僅僅是在代碼片段上幫助工程師,它們的目標(biāo)是擴大解決問題的范圍,理想情況下能碼更改,甚至創(chuàng)建供人類審查的pullrequest。這是提升AI編程輔助工具影響力的下一步邏輯,但想要實現(xiàn)覆蓋廣泛編碼任務(wù)的通用代理的目標(biāo)仍然非常雄心勃勃,目前的工具尚未令人認(rèn)為對于范圍較小、較簡單的任務(wù),這種工具將很快起到作用,幫助在發(fā)布和推廣測試版代理的工具包括GitHubCopilotWorkspace、qodoflow、Tabnine’s的JIRA代理,以及AmazonQDeveloper。SWEBench基準(zhǔn)測試列出了更多此類工具,但我們建71.uv提到過Ruff,這是一個用Rust編寫的Pythonlinter。在本期報告中,我們評估了uv,這是一個用Rust編寫?Thoughtworks,Inc.AllRightsReserved.34工具工具性能,對于一個包管理系統(tǒng)來說,更重要的是生態(tài)系統(tǒng)、成熟的社區(qū)和長期的的反饋表明,這一小幅速度提升可能會極大改善反饋周期和整體開發(fā)者體驗――我們通常手動使CI/CD緩存變得非常復(fù)雜,以實現(xiàn)這微小的性能提升。uv簡化了我們的Python環(huán)境管理??紤]到在Python開發(fā)的包和環(huán)境管理方面仍有很大的改進空間,我們認(rèn)為uv是一個值得評估的選擇。72.WarpWarp是一款適用于macOS和Linux的終端工具,它將命令輸出分割為塊以提高可讀性。Warp提供了動的能力,如智能命令建議和自然語言處理。它還包括Warp還可以輕松集成Starship,一個靈活的跨終端提示工具,允許你自定義終端體驗,并檢索有關(guān)正在運行的進程、所使用工具的特定版本、Git詳細(xì)信息或當(dāng)前Git用戶等信息。73.Zed在Atom文本編輯器項目關(guān)閉后,其創(chuàng)建者構(gòu)建了一個名為Zed的新編輯器。Zed使用Rust編寫,并經(jīng)過優(yōu)內(nèi)置終端以及多緩沖編輯等。通過與多個LLM提供商的集成,Zed還提供AI輔助編碼功能。作為結(jié)對編程的熱衷者,我們對Zed內(nèi)置的遠程協(xié)作特性很感興趣。開發(fā)者可以通過他們的GitHubID找到彼此,然后實時協(xié)作于同一工作區(qū)。雖然現(xiàn)在還無法判斷開發(fā)團隊是否能夠并愿意擺脫VisualStudioCode生態(tài)系統(tǒng)的吸引,但Zed是一個值得探索的替代方案。74.CocoaPodsCocoaPods一直是Swift和Objective-CCocoa項目中廣受歡迎的依賴管理工具。然而,CocoaPods團隊宣布,該項目在作為iOS和macOS開發(fā)者關(guān)鍵工具超過十年后,進入了維護模式。盡管工具和其資源仍續(xù)可用,但將不再進行主動開發(fā)。其鼓勵開發(fā)者們轉(zhuǎn)向SwiftPackageManager,它與Xcode原生集成,并?Thoughtworks,Inc.AllRightsReserved.359075.dbt90768976.Testcontainers76897588104758886103878583861038785838284100828410079998079.DatabricksAsset799980779880.Instructor779878979678979693959482.LiteLLM939594919283.LlamaIndex919284.LLMGuardrails85.Medusa88.seL4●沒有變化90.vLLM91.ApacheXTable?92.dbldatagen93.DeepEval95.FlutterforWeb96.kotaemon98.LLMLingua99.MicrosoftAutogen102.Score103.shadcn―75.dbt采納我們?nèi)匀徽J(rèn)為dbt是在ELT數(shù)據(jù)管道中實施數(shù)據(jù)轉(zhuǎn)換的強大且合理的選擇。我們喜歡它能夠引入工程上的嚴(yán)謹(jǐn)性,并支持模塊化、可測試性和SQL轉(zhuǎn)換的據(jù)庫,包括Snowflake、BigQuery、Redshift、Databricks和Postgres,并且擁有健康的社區(qū)包生態(tài)系統(tǒng)。最近在dbtcore1.8+和全新的dbtCloud無版本體驗中引入的原生單元測試支持,進一步鞏固了其在我們工具箱中的地位。我們的團隊很欣賞這個新的單元測試功能,它使他們能夠輕松定義靜態(tài)測試期,并測試管道的增量和完全刷新模式。在許多情況下,這使得團隊能76.Testcontainers采納在我們的經(jīng)驗中,Testcontainers是創(chuàng)建可靠測試環(huán)境的一個有效默認(rèn)選項。它是一個移植到多種語言的庫,可以將常見的測試依賴項進行Docker化――包括各種類型的數(shù)據(jù)庫、隊列技術(shù)、云服務(wù)以及像網(wǎng)頁瀏覽器這樣的UI測試依賴項,并能夠在需要時運行自定義Dockerfile。最近發(fā)布了一個桌面版本,允許對測試會話進行可視化管理,并能夠處理更復(fù)雜的場景,這對我們的CARLA是一個開源的自動駕駛模擬器,它可用于在生產(chǎn)部署之前測試自動駕駛系統(tǒng)。它在創(chuàng)建和重用車輛、地形、人類、動物等3D模型上具有很強的靈活性,這使得它可以用來模擬或遇到迎面而來的特定速度的車輛。那些待測試的自動駕駛系統(tǒng)必須能夠識別這些動態(tài)參與?Thoughtworks,Inc.AllRightsReserved.3779.DatabricksAssetBundlesDatabricksAssetBundles(DABs于2024年4月實現(xiàn)基本可用,正逐漸成為打包和部署Databricks資產(chǎn)的首選工具,幫助我們的數(shù)據(jù)團隊?wèi)?yīng)用軟件工程實踐。DABs支持將工作流和任務(wù)的配置以及要在中執(zhí)行的代碼打包成一個bundle,并通過CI/CD管道部署到多個環(huán)境工程工作流中的關(guān)鍵部分。盡管DABs包含了針對notebooks的模板,并支持將notebooks部署到生產(chǎn)環(huán)境中,我們并不推薦生產(chǎn)化notebooks,而是鼓勵有意地編寫符合生產(chǎn)標(biāo)準(zhǔn)的代碼80.Instructor執(zhí)行。Instructor是一個可以幫助我們請求從LLMs獲取結(jié)構(gòu)化輸出的庫。您可以定義預(yù)期的輸出結(jié)構(gòu),并在LLM未返回您要求的結(jié)構(gòu)時配置重試。由于與LLM進行交互時,最佳的終端用戶體驗往往是將結(jié)果流式傳輸給他們,而不是等待完整響應(yīng),Instructor還可以處理從流中解析部分結(jié)構(gòu)的任務(wù)。81.KedroKedro作為MLOps工具有了顯著的改善,并始終保持對模塊化和工程非常喜歡的。突出其模塊化的一步是推出了獨立的kedro-datasets包,該包將代碼與數(shù)據(jù)解耦。Kedro在其命令行接口、起始項目模板和遙測功能方面進行了增強。此外,最種提供方和模型,并為文本生成、嵌入和圖像生成提供統(tǒng)一的接口。L速率限制和負(fù)載均衡,從而確保不同LLM的一致操作。我們的團隊使用L模型快速演變的今天尤為必要。然而,值得注意的是,不同模型在相同提示下的響應(yīng)會有所不同,這表明僅一致的調(diào)用方式可能不足以優(yōu)化生成性能。此外,每個模型對附加功能的實現(xiàn)方式也各不相同,單一接口可能無?Thoughtworks,Inc.AllRightsReserved.3883.LlamaIndex檔攝取,索引文檔嵌入,并根據(jù)用戶輸入查詢這些嵌入。使用LlamaHub,您可以擴展或自定義LlamaIndex84.LLMGuardrailsLLMGuardrails是一套用于防止大語言模型(LLMs)生成有害、使人誤解或不相關(guān)內(nèi)容的指南、政策或過濾來作為安全網(wǎng),確保內(nèi)容的處理和生成在可控范圍內(nèi)。在這一領(lǐng)域中,諸如NeMoGuardrails、GuardrailsAI和AporiaGuardrails等框架已經(jīng)逐漸嶄露頭角,并被我們的團隊認(rèn)為非常有用。我們建85.Medusa根據(jù)我們的經(jīng)驗,大多數(shù)用于構(gòu)建購物網(wǎng)站的電子商務(wù)解決方案通常會陷入80/20陷阱,即我們可以出80%的需求,但對于剩下的20%卻無能為力。Medusa提供了一個良好的平衡。它是一個高度可定制的開源商業(yè)平臺,允許開發(fā)人員創(chuàng)建獨特且量身定制的購物體驗,可以自我托管或運行在Medusa的平臺上。Medusa基于Next.js和PostgreSQL構(gòu)建,通過提供從基本購物車和訂單管理到高級功能(如禮品卡模塊和86.PklPkl是一種開源的配置語言及工具,最初由蘋果公司內(nèi)部使用而創(chuàng)建。它的主要特點是其類型和驗證系統(tǒng),能改應(yīng)用到生產(chǎn)環(huán)境之前進行驗證。它可以生成JSON、PLIST、YAML和.properties文件,并且具有包括代碼?Thoughtworks,Inc.AllRightsReserved.3988.seL4少數(shù)公司壟斷了這一領(lǐng)域,因此像seL4這樣的開源解決方案顯得尤為珍貴。seL4是一個89.SetFit當(dāng)前大多數(shù)基于AI的工具都是生成式的――它們生成文本和圖像,使用生成式預(yù)訓(xùn)練模型(GPTs)來完成這些任務(wù)。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)教育與社區(qū)文化建設(shè)計劃
- 設(shè)計色彩教案
- 企業(yè)學(xué)校招聘會80
- 微課-lie和lay的用法聚焦
- 相見歡(金陵城上西樓)
- 部編版八年級下冊語文《期末檢測試卷》及答案解析
- 城市綠化項目G12防護棚搭設(shè)方案
- 文化藝術(shù)活動招標(biāo)實施方案
- 中班《神奇的磁鐵》科學(xué)活動教案
- 幼教幼兒園成語故事
- 人教版數(shù)學(xué)六年級上冊各單元教學(xué)計劃(1-4單元)
- DZ∕T 0207-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 硅質(zhì)原料類(正式版)
- 《燒(創(chuàng))傷的急救復(fù)蘇與麻醉管理》智慧樹知到課后章節(jié)答案2023年下中國人民解放軍總醫(yī)院第四醫(yī)學(xué)中心
- 《合并同類項》優(yōu)質(zhì)課一等獎?wù)n件
- 酒店業(yè)廚房滅“四害”計劃及記錄表
- 樣品藥品采購供應(yīng)儲備制度的執(zhí)行情況分析總結(jié)
- 第三章 閘板防噴器
- 鄉(xiāng)鎮(zhèn)精神文明建設(shè)工作專題調(diào)研報告
- 智能材料課件完整版
- 江蘇500kV變電站軟母線安裝施工方案(附圖表)
- 《高等代數(shù)(一)》期中考試試題
評論
0/150
提交評論