在快速發展的人工智慧和自然語言處理世界中,出現了一個新的參與者,它有望徹底改變我們使用語言模型的方式。 ell 是一個輕量級的提示工程庫,它將提示視為函數,為該領域帶來了全新的視角。 ell 由 OpenAI 前員工 William Guss 開發,利用了在研究和新創環境中建立和使用語言模型的多年經驗。
要開始使用 ell,您可以在 GitHub 上找到該庫及其文件:
https://github.com/MadcowD/ell
ell 是 William Guss 的創意,他是一位具有 OpenAI 背景的研究員和工程師。 Guss 在人工智慧和語言模型領域的經驗為 ell 背後的設計原則提供了訊息,使其成為解決即時工程中現實世界挑戰的強大工具。
ell 哲學的核心是提示不僅僅是文字字串,它們是程式。這種範式轉移體現在 ell 創建語言模型程式 (LMP) 的方法中。使用Python裝飾器,開發人員可以輕鬆地將LMP定義為函數,封裝為各種語言模型產生提示或訊息清單的所有程式碼。
@ell.simple(model="gpt-4o-mini") def hello(world: str): """You are a helpful assistant""" name = world.capitalize() return f"Say hello to {name}!" result = hello("sam altman")
這種方法不僅簡化了使用者介面,也為複雜的提示工程任務提供了乾淨的模組化結構。
認識到即時工程是一個迭代最佳化過程,ell 提供了強大的工具來支援此工作流程。該庫提供提示的自動版本控制和序列化,類似於機器學習訓練循環中的檢查點。此功能可讓開發人員追蹤更改、比較版本並在需要時輕鬆恢復到先前的迭代。
為了將即時工程從「黑暗藝術」轉變為一門科學,ell 推出了 Ell Studio。這個本地開源工具提供版本控制、監控和視覺化功能。借助 Ell Studio,開發人員可以憑經驗追蹤隨時間推移的即時最佳化過程,並在出現問題之前捕獲回歸。
ell 對問題的功能分解使得實現測試時計算利用技術變得簡單。這種方法使開發人員能夠創建更複雜、更有效的提示工程解決方案,其中涉及對語言模型的多次呼叫。
認識到每個語言模型呼叫的重要性,我們可以選擇在本地保存每個呼叫。此功能為產生呼叫資料集、按版本比較 LMP 輸出以及探索全面的提示工程工件提供了可能性。
ell 根據需要提供簡單性和複雜性。雖然 @ell.simple 裝飾器產生簡單的字串輸出,但 @ell.complex 裝飾器可用於更高級的場景,包括工具使用和處理多模式輸出。
隨著語言模型不斷發展以處理和生成各種類型的內容,ell 透過使多模式提示工程像處理文字一樣直觀來跟上步伐。該庫支援多模式輸入和輸出的豐富類型強制,允許開發人員將影像、音訊和其他資料類型無縫合併到他們的 LMP 中。
也許 ell 最吸引人的特點之一就是它不引人注目的本質。開發人員可以繼續使用他們喜歡的 IDE 和程式設計風格,同時利用 ell 的強大功能。這種設計理念允許逐步採用並輕鬆從 langchain 等其他庫遷移。
總之,ell 代表了即時工程領域向前邁出的重要一步。透過將提示視為程序,提供強大的最佳化和視覺化工具,並為複雜和多模式場景提供靈活的支持,ell 使開發人員能夠創建更有效、更有效率的語言模型應用程式。隨著人工智慧領域的不斷發展,像 ell 這樣的工具將在塑造自然語言處理及其他領域的未來方面發揮至關重要的作用。
To explore ell and start using it in your projects, visit the GitHub repository at https://github.com/MadcowD/ell. With William Guss's expertise from OpenAI behind its development, ell promises to be a valuable asset in any AI developer's toolkit.
以上是ell:以功能優雅徹底改變即時工程的詳細內容。更多資訊請關注PHP中文網其他相關文章!