Superduper ist ein Python-basierter Framework zum Erstellen von End-2-End-AI-Daten-Workflows und -Anwendungen für Ihre eigenen Daten und integrieren Sie sich in wichtige Datenbanken. Es unterstützt die neuesten Technologien und Techniken, darunter LLMs, Vektorseckige, Rag, Multimodalität sowie klassische AI- und ML-Paradigmen.
Entwickler können Superduper nutzen, indem sie kompositorische und deklarative Objekte aufbauen, die die Details der Bereitstellung, Orchestrierung und Versionierung und mehr für die Superduper-Engine übertreffen. Auf diese Weise können Entwickler die Implementierung von MLOPS, ETL -Pipelines, Modellbereitstellung, Datenmigration und Synchronisation vollständig vermeiden.
Die Verwendung von Superduper ist einfach " CAPE ": Stellen Sie eine Verbindung zu Ihren Daten her, wenden Sie eine beliebige KI auf diese Daten an, verpacken und verwenden Sie die Anwendung auf willkürlichen Daten wieder und führen Sie AI-Datenabfragen und Vorhersagen für die resultierenden KI-Ausgänge und -Daten aus.
Verbinden
db = superduper ( 'mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>' )
Anwenden
listener = MyLLM ( 'self_hosted_llm' , architecture = 'llama-3.2' , postprocess = my_postprocess ). to_listener ( 'documents' , key = 'txt' )
db . apply ( listener )
Paket
application = Application ( 'my-analysis-app' , components = [ listener , vector_index ])
template = Template ( 'my-analysis' , component = app , substitutions = { 'documents' : 'table' })
template . export ( 'my-analysis' )
Ausführen
query = db [ 'documents' ]. like ({ 'txt' , 'Tell me about Superduper' }, vector_index = 'my-index' ). select ()
query . execute ()
Superduper kann überall laufen; Sie können uns auch kontaktieren, um mehr über die Enterprise -Plattform zu erfahren, um Ihre Superduper -Workflows in der Größe in die Produktion zu bringen.
Superduper ist flexibel genug, um eine große Auswahl an AI -Techniken und -Paradigmen zu unterstützen. Wir haben eine Reihe von vorgefertigten Funktionen in den Verzeichnis von plugins
und templates
. Insbesondere Superduper zeichnet sich aus, wenn KI und Daten kontinuierlich und eng integriert werden müssen. Hier sind einige illustrative Beispiele, die Sie aus unseren Vorlagen ausprobieren können:
Wir möchten uns mit begeisterten Entwicklern in Verbindung setzen, um zum Repertoire erstaunlicher vorgefertigter Vorlagen und Workflows in Superduper Open-Source beizutragen. Bitte nehmen Sie an der Diskussion teil, indem Sie Probleme beibehalten und Anfragen ziehen!
Component
) mit einem deklarativen Programmiermodell, das sich in Ihrem Datenblock eng in die Daten in Ihrer Datenbank integrieren, indem Sie einen einfachen Satz von Primitiven und Basisklassen verwenden.Component
in eine AI-Daten Application
einwickelnComponent
, Model
und Application
mit Template
wieder, soApplication
und die Versionierung einfach zu befolgen und einen eleganten Segway von der KI-Welt in die Datenbasis-/ Typed-Data-Welt-Welt zu erstellen.Model
sowie primären Datenbankdaten aus, um die neueste Generation von AI-Daten-Anwendungen zu ermöglichen, einschließlich aller Geschmacksrichtungen von Vektorsuche, Lappen und vielem mehr. Massive Flexibilität
Kombinieren Sie jedes Python -basierte KI -Modell, eine API aus dem Ökosystem mit den etabliertesten, kattdarstellten Datenbanken und Lagern; Snowflake, MongoDB, Postgres, MySQL, SQL Server, SQLite, BigQuery und Clickhouse werden alle unterstützt.
Nahtlose Integration Vermeidung von Mlops
Entfernen Sie die Notwendigkeit, MLOPS unter Verwendung der deklarativen und kompositorischen Superduper -Komponenten zu implementieren, in denen der Endzustand angegeben ist, den die Modelle und Daten erreichen sollten.
Förderung der Wiederverwendbarkeit und Portabilität der Code
Paketkomponenten als Vorlagen, die die wichtigsten Parameter aufdecken, die für die Wiederverwendung und Kommunikation von AI -Anwendungen in Ihrer Community und Organisation erforderlich sind.
Kosteneinsparungen
Implementieren Sie die Vektorsuche und die Einbettung der Erzeugung, ohne eine dedizierte Vektordatenbank zu benötigen. Mühelos wechseln zwischen selbst gehosteten Modellen und API -gehosteten Modellen ohne größere Codeänderungen.
Wechseln Sie ohne zusätzliche Anstrengungen in die Produktion
Die REST -API von Superduper ermöglicht es installierte Modelle, ohne zusätzliche Entwicklungsarbeiten zu bedienen. Für die Skalierbarkeit von Unternehmensklassen können Sie Safes, Sicherheit und Protokollierung, Anwendungen und Workflows, die mit Superduper erstellt wurden, in einem Klick auf Superduper Enterprise eingesetzt werden.
main
? Wir arbeiten an einer bevorstehenden Veröffentlichung von 0.4.0
. In dieser Veröffentlichung haben wir:
Component
anfängliche Berechnungen und datenabhängige Berechnungen mit @trigger
auslöst Dies ermöglicht eine große Vielfalt von Component
zusätzlich zu dem gut etablierten Model
, Listener
VectorIndex
.
CDC
Basisklasse (Änderungsdata-Kapitän)Auf diese Weise können Entwickler eine Reihe von Funktionen erstellen, die auf eingehende Datenänderungen reagiert
Template
, um wiederverwendbare Einheiten vollständiger Funktionalität zu ermöglichen Komponenten, die als Template
gespeichert sind, ermöglichen es den Benutzern, ihre bereits bereitgestellten und getesteten Component
und Application
, in alternativen Datenquellen und mit den wichtigsten Parametern, um den Betriebsanforderungen zu erfüllen, einfach neu einzuführen.
Template
-Implementierungen hinzugefügt Diese Template
können mit Superduper mit einem einfachen einzelnen Befehl angewendet werden
superduper apply <template> '{"variable_1": "value_1", "variable_2": ...}'
oder:
from superduper import templates
app = template ( variable_1 = 'value_1' , variable_2 = 'value_2' , ...)
db . apply ( app )
Jetzt können Sie Ihre Component
, Application
und Template
in der Benutzeroberfläche anzeigen und Abfragen mithilfe von QueryTemplate
Instanzen direkt gegen den Restserver ausführen.
superduper start
Installation :
pip install superduper-framework
Zeigen Sie verfügbare vorgefertigte Vorlagen an:
superduper ls
Schließen Sie eine vorgefertigte Vorlage an und wenden Sie sie an :
( Hinweis: Die vorgefertigten Vorlagen werden nur von Python 3.10 unterstützt; Sie können alle anderen Funktionen in Python 3.11+ verwenden. )
# e.g. 'mongodb://localhost:27017/test_db'
SUPERDUPER_DATA_BACKEND= < your-db-uri > superduper apply simple_rag
Führen Sie eine Abfrage oder Vorhersage für die Ergebnisse aus:
from superduper import superduper
db = superduper ( '<your-db-uri>' ) # e.g. 'mongodb://localhost:27017/test_db'
db [ 'rag' ]. predict ( 'Tell me about superduper' )
Zeigen und überwachen Sie alles in der Superduper -Schnittstelle. Aus der Befehlszeile:
superduper start
Danach sind Sie bereit, Ihre eigenen Komponenten, Anwendungen und Vorlagen zu erstellen!
Beginnen Sie mit dem Kopieren einer vorhandenen Vorlage in Ihre eigene Entwicklungsumgebung:
superduper bootstrap < template_name > --destination templates/my-template
Bearbeiten Sie das Notebook build.ipynb
, um Ihre eigene Funktionalität zu erstellen.
Wenn Sie Probleme, Fragen, Kommentare oder Ideen haben:
[email protected]
.Es gibt viele Möglichkeiten, einen Beitrag zu leisten, und sie sind nicht auf das Schreiben von Code beschränkt. Wir begrüßen alle Beiträge wie:
Weitere Informationen finden Sie in unserem Beitragsführer.
Danke geht an diese wunderbaren Leute:
Superduper ist Open-Source und beabsichtigt, eine Community-Anstrengung zu sein, und ohne Ihre Unterstützung und Begeisterung wäre es nicht möglich. Es wird unter den Bestimmungen der Apache 2.0 -Lizenz verteilt. Jeder Beitrag zu diesem Projekt unterliegt denselben Bestimmungen.
Wir suchen nette Leute, die in das Problem investiert sind, das wir lösen wollen, um uns in Vollzeit anzuschließen. Finden Sie Rollen, die wir hier füllen wollen!