SuperDuper是一個基於Python的框架,用於在您自己的數據上構建End-2-End AI-DATA工作流和應用程序,並與主要數據庫集成。它支持最新的技術和技術,包括LLM,矢量搜索,抹布,多模式以及經典的AI和ML範式。
開發人員可以通過構建構圖和聲明性對象來利用超級努力,從而超過部署,編排和版本的詳細信息,而更多地向Superduper Engine提供了更多信息。這使開發人員可以完全避免實施MLOP,ETL管道,模型部署,數據遷移和同步。
使用SuperDuper簡稱“ CAPE ”:連接到您的數據,將任意AI應用於該數據,包裝並在任意數據上重複使用該應用程序,並執行AI-DATABase查詢和對結果的AI輸出和數據的預測。
連接
db = superduper ( 'mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>' )
申請
listener = MyLLM ( 'self_hosted_llm' , architecture = 'llama-3.2' , postprocess = my_postprocess ). to_listener ( 'documents' , key = 'txt' )
db . apply ( listener )
包裹
application = Application ( 'my-analysis-app' , components = [ listener , vector_index ])
template = Template ( 'my-analysis' , component = app , substitutions = { 'documents' : 'table' })
template . export ( 'my-analysis' )
執行
query = db [ 'documents' ]. like ({ 'txt' , 'Tell me about Superduper' }, vector_index = 'my-index' ). select ()
query . execute ()
Superduper可以在任何地方運行;您也可以與我們聯繫,以了解有關企業平台的更多信息,以使您的Superduper工作流程大規模生產。
Superduper足夠靈活,可以支持各種AI技術和範式。我們在plugins
和templates
目錄中具有一系列的預構建功能。特別是,當AI和數據需要以連續且緊密整合的方式進行交互時,Superduper會出色。以下是一些說明性示例,您可能會從我們的模板中嘗試一下:
我們正在尋求與熱情的開發人員建立聯繫,以促進超級燃料開源的驚人預製模板和工作流程的曲目。請通過貢獻問題並提取請求加入討論!
Component
),該模型使用簡單的原始詞和基本類密切與數據包裝中的數據密切集成。Component
實例包裝到AI-DATA Application
中Template
重複使用戰鬥測試的Component
, Model
和Application
實例,使開發人員可以輕鬆地從困難的AI實現開始Application
譜系和版本易於遵循,並創建從AI世界到數據庫範圍的典雅Segway。Model
實例的輸出以及主要數據包裝數據的組合執行查詢,以啟用最新一代的AI-DATA應用程序,包括矢量搜索,抹布的所有口味,等等。 巨大的靈活性
將生態系統中的任何基於Python的AI模型,與最有成熟的戰鬥測試的數據庫和倉庫相結合;支持Snowflake,MongoDB,Postgres,MySQL,SQL Server,Sqlite,BigQuery和Clickhouse都得到了支持。
無縫集成避免MLOP
使用聲明性和組成的超級杜比組件,刪除實現MLOP的需求,該組件指定了模型和數據應達到的最終狀態。
促進代碼可重複性和可移植性
包裝組件作為模板,揭示重複使用和傳達社區和組織中AI應用程序所需的關鍵參數。
節省成本
實現向量搜索和嵌入生成,而無需專門的矢量數據庫。在沒有重大代碼更改的情況下,毫不費力地在自託管模型和API託管模型之間切換。
毫不付出的努力轉移生產
Superduper的REST API允許在沒有其他開發工作的情況下為已安裝的模型提供。對於企業等級的可伸縮性,可以在SuperDuper Enterprise上單擊一鍵部署,可以通過Superduper創建的應用程序和日誌記錄,應用程序和工作流程。
main
分支機構有什麼新功能?我們正在研究即將發布的0.4.0
。在此版本中,我們有:
Component
如何使用@trigger
觸發初始計算和數據依賴性計算除了建立良好的Model
, Listener
, VectorIndex
之外,這還可以使大量Component
類型多樣化。
CDC
(Change-DATA捕獲)基類這將使開發人員能夠創建一系列對傳入數據的反應的功能
Template
的概念,以啟用可重複使用的單元完整功能保存為Template
實例的組件將允許用戶輕鬆地重新部署其已部署和測試的Component
和Application
實現,在替代數據源上,並以關鍵參數為切換以滿足操作要求。
Template
實現這些Template
實例可以使用Superduper使用簡單的單個命令應用
superduper apply <template> '{"variable_1": "value_1", "variable_2": ...}'
或者:
from superduper import templates
app = template ( variable_1 = 'value_1' , variable_2 = 'value_2' , ...)
db . apply ( app )
現在,您可以在用戶界面中查看Component
, Application
和Template
實例,並直接使用QueryTemplate
實例執行查詢,直接針對REST服務器。
superduper start
安裝:
pip install superduper-framework
查看可用的預構建模板:
superduper ls
連接並應用預製模板:
(注意:預構建的模板僅由Python 3.10支持;您可以使用Python 3.11+中的所有其他功能。 )
# e.g. 'mongodb://localhost:27017/test_db'
SUPERDUPER_DATA_BACKEND= < your-db-uri > superduper apply simple_rag
對結果執行查詢或預測:
from superduper import superduper
db = superduper ( '<your-db-uri>' ) # e.g. 'mongodb://localhost:27017/test_db'
db [ 'rag' ]. predict ( 'Tell me about superduper' )
查看和監視超杜波接口中的所有內容。從命令行:
superduper start
完成此操作後,您準備構建自己的組件,應用程序和模板!
通過將現有模板複製到您自己的開發環境中開始:
superduper bootstrap < template_name > --destination templates/my-template
編輯build.ipynb
筆記本,以構建自己的功能。
如果您有任何問題,問題,評論或想法:
[email protected]
給我們發送電子郵件。有很多貢獻的方法,它們不僅限於編寫代碼。我們歡迎所有貢獻,例如:
請參閱我們的貢獻指南以獲取詳細信息。
謝謝這些好人:
Superduper是開源的,打算成為社區的努力,沒有您的支持和熱情就不可能。它是根據Apache 2.0許可證的條款分發的。對該項目的任何貢獻都將受到相同的規定。
我們正在尋找投資於我們試圖解決的問題以全職加入我們的好人。找到我們要在這裡填補的角色!