Superduper adalah kerangka kerja berbasis Python untuk membangun alur kerja dan aplikasi AI-Data end-2-end pada data Anda sendiri, berintegrasi dengan database utama. Ini mendukung teknologi dan teknik terbaru, termasuk LLM, pencarian vektor, RAG, multimodality serta paradigma AI dan ML klasik.
Pengembang dapat memanfaatkan superduper dengan membangun objek komposisi dan deklaratif yang mengalahkan rincian penyebaran, orkestrasi dan versi, dan lebih banyak ke mesin superduper. Hal ini memungkinkan pengembang untuk sepenuhnya menghindari penerapan MLOP, pipa ETL, penyebaran model, migrasi data dan sinkronisasi.
Menggunakan SuperDuper hanyalah " Cape ": Sambungkan ke data Anda, terapkan AI sewenang-wenang ke data itu, paket dan gunakan kembali aplikasi pada data sewenang-wenang, dan jalankan kueri dan prediksi AI-database pada output dan data AI yang dihasilkan.
Menghubungkan
db = superduper ( 'mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>' )
Menerapkan
listener = MyLLM ( 'self_hosted_llm' , architecture = 'llama-3.2' , postprocess = my_postprocess ). to_listener ( 'documents' , key = 'txt' )
db . apply ( listener )
Kemasan
application = Application ( 'my-analysis-app' , components = [ listener , vector_index ])
template = Template ( 'my-analysis' , component = app , substitutions = { 'documents' : 'table' })
template . export ( 'my-analysis' )
Menjalankan
query = db [ 'documents' ]. like ({ 'txt' , 'Tell me about Superduper' }, vector_index = 'my-index' ). select ()
query . execute ()
Superduper dapat dijalankan di mana saja; Anda juga dapat menghubungi kami untuk mempelajari lebih lanjut tentang platform perusahaan untuk membawa alur kerja superduper Anda ke produksi pada skala.
Superduper cukup fleksibel untuk mendukung sejumlah besar teknik dan paradigma AI. Kami memiliki berbagai fungsionalitas pra-dibangun di direktori plugins
dan templates
. Secara khusus, superduper unggul ketika AI dan data perlu berinteraksi secara berkelanjutan dan terintegrasi dengan ketat. Berikut adalah beberapa contoh ilustrasi, yang dapat Anda coba dari templat kami:
Kami ingin terhubung dengan pengembang yang antusias untuk berkontribusi pada repertoar templat dan alur kerja yang luar biasa yang tersedia di sumber terbuka superduper. Silakan bergabung dengan diskusi, dengan menyumbangkan masalah dan tarik permintaan!
Component
) yang kompleks menggunakan model pemrograman deklaratif, yang terintegrasi erat dengan data dalam databackend Anda, menggunakan serangkaian primitif dan kelas dasar sederhana.Component
yang saling terkait menjadi Application
AI-dataComponent
, Model
, dan instance Application
yang telah teruji dengan Template
, memberikan pengembang titik mudah untuk memulai dengan implementasi AI yang sulitApplication
dan versi mudah diikuti, dan menciptakan Segway yang elegan dari dunia AI ke dunia databasing/ diketik-Data.Model
serta data basis data primer, untuk memungkinkan generasi terbaru aplikasi AI-data, termasuk semua rasa vektor-pencarian, kain, dan banyak lagi. Fleksibilitas besar
Menggabungkan model AI berbasis Python, API dari ekosistem dengan basis data dan gudang yang diuji pertempuran yang paling mapan; Snowflake, MongoDB, Postgres, MySQL, SQL Server, SQLite, BigQuery, dan Clickhouse semuanya didukung.
Integrasi yang mulus menghindari MLOPS
Hapus kebutuhan untuk mengimplementasikan MLOP, menggunakan komponen superduper deklaratif dan komposisi, yang menentukan keadaan akhir yang harus dicapai oleh model dan data.
Mempromosikan penggunaan kembali dan portabilitas kode
Paket komponen sebagai templat, memperlihatkan parameter kunci yang diperlukan untuk menggunakan kembali dan mengkomunikasikan aplikasi AI di komunitas dan organisasi Anda.
Penghematan biaya
Menerapkan pencarian vektor dan pembuatan embedding tanpa memerlukan database vektor khusus. Dengan mudah beralih antara model yang di -host mandiri dan model yang di -host API, tanpa perubahan kode utama.
Pindah ke produksi tanpa upaya tambahan
Superduper's REST API, memungkinkan model yang diinstal dilayani tanpa pekerjaan pengembangan tambahan. Untuk skalabilitas kelas perusahaan, brankas gagal, keamanan dan penebangan, aplikasi dan alur kerja yang dibuat dengan Superduper, dapat digunakan dalam satu klik pada Superduper Enterprise.
main
? Kami sedang mengerjakan rilis 0.4.0
yang akan datang. Dalam rilis ini kami memiliki:
Component
memicu perhitungan awal dan perhitungan data yang bergantung menggunakan @trigger
Ini akan memungkinkan keragaman besar jenis Component
selain Model
, Listener
, VectorIndex
yang mapan.
CDC
(Change-Data-Capture) umumIni akan memungkinkan pengembang untuk membuat berbagai fungsionalitas yang bereaksi terhadap perubahan data yang masuk
Template
untuk memungkinkan unit fungsionalitas lengkap yang dapat digunakan kembali Komponen disimpan sebagai instance Template
, akan memungkinkan pengguna untuk dengan mudah menggunakan kembali Component
dan implementasi Application
yang sudah digunakan dan diuji, pada sumber data alternatif, dan dengan parameter kunci yang diaktifkan untuk memenuhi persyaratan operasional.
Template
beton ke proyek Contoh Template
ini dapat diterapkan dengan superduper dengan perintah tunggal sederhana
superduper apply <template> '{"variable_1": "value_1", "variable_2": ...}'
atau:
from superduper import templates
app = template ( variable_1 = 'value_1' , variable_2 = 'value_2' , ...)
db . apply ( app )
Sekarang Anda dapat melihat instance Component
, Application
, dan Template
Anda di antarmuka pengguna, dan menjalankan kueri menggunakan instance QueryTemplate
, langsung terhadap server REST.
superduper start
Instalasi :
pip install superduper-framework
Lihat Template Pra-Built yang Tersedia:
superduper ls
Hubungkan dan terapkan template yang sudah dibangun:
( Catatan: Templat pra-dibangun hanya didukung oleh Python 3.10; Anda dapat menggunakan semua fitur lainnya dalam Python 3.11+. )
# e.g. 'mongodb://localhost:27017/test_db'
SUPERDUPER_DATA_BACKEND= < your-db-uri > superduper apply simple_rag
Jalankan kueri atau prediksi tentang hasil:
from superduper import superduper
db = superduper ( '<your-db-uri>' ) # e.g. 'mongodb://localhost:27017/test_db'
db [ 'rag' ]. predict ( 'Tell me about superduper' )
Lihat dan Pantau semuanya di antarmuka Superduper. Dari baris perintah:
superduper start
Setelah melakukan ini, Anda siap untuk membangun komponen, aplikasi, dan templat Anda sendiri!
Mulailah dengan menyalin template yang ada, ke lingkungan pengembangan Anda sendiri:
superduper bootstrap < template_name > --destination templates/my-template
Edit notebook build.ipynb
, untuk membangun fungsionalitas Anda sendiri.
Jika Anda memiliki masalah, pertanyaan, komentar, atau ide:
[email protected]
.Ada banyak cara untuk berkontribusi, dan mereka tidak terbatas pada kode penulisan. Kami menyambut semua kontribusi seperti:
Silakan lihat panduan berkontribusi kami untuk detailnya.
Terima kasih kepada orang -orang luar biasa ini:
Superduper adalah open-source dan dimaksudkan untuk menjadi upaya komunitas, dan itu tidak mungkin tanpa dukungan dan antusiasme Anda. Ini didistribusikan berdasarkan ketentuan lisensi Apache 2.0. Kontribusi apa pun yang diberikan pada proyek ini akan tunduk pada ketentuan yang sama.
Kami mencari orang-orang baik yang berinvestasi dalam masalah yang kami coba selesaikan untuk bergabung dengan kami penuh waktu. Temukan peran yang kami coba isi di sini!