O Superduper é uma estrutura baseada em Python para criar fluxos de trabalho e aplicativos de fim de ponta de final de ponta-2-Data em seus próprios dados, integrando-se aos principais bancos de dados. It supports the latest technologies and techniques, including LLMs, vector-search, RAG, multimodality as well as classical AI and ML paradigms.
Os desenvolvedores podem aproveitar o Superduper, construindo objetos composicionais e declarativos que superam os detalhes da implantação, orquestração e versão e muito mais para o mecanismo SuperDuper. This allows developers to completely avoid implementing MLOps, ETL pipelines, model deployment, data migration and synchronization.
Usando o Superduper é simplesmente " Cape ": conecte-se aos seus dados, aplique a IA arbitrária a esses dados, embalam e reutilizem o aplicativo em dados arbitrários e execute consultas e previsões de AI-Database sobre as saídas e dados de IA resultantes.
Conectar
db = superduper ( 'mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>' )
Aplicar
listener = MyLLM ( 'self_hosted_llm' , architecture = 'llama-3.2' , postprocess = my_postprocess ). to_listener ( 'documents' , key = 'txt' )
db . apply ( listener )
Pacote
application = Application ( 'my-analysis-app' , components = [ listener , vector_index ])
template = Template ( 'my-analysis' , component = app , substitutions = { 'documents' : 'table' })
template . export ( 'my-analysis' )
Executar
query = db [ 'documents' ]. like ({ 'txt' , 'Tell me about Superduper' }, vector_index = 'my-index' ). select ()
query . execute ()
Superduper may be run anywhere; you can also contact us to learn more about the enterprise platform for bringing your Superduper workflows to production at scale.
Superduper is flexible enough to support a huge range of AI techniques and paradigms. We have a range of pre-built functionality in the plugins
and templates
directories. Em particular, o Superduper se destaca quando a IA e os dados precisam interagir de maneira contínua e fortemente integrada. Aqui estão alguns exemplos ilustrativos, que você pode experimentar em nossos modelos:
Estamos procurando nos conectar com desenvolvedores entusiasmados para contribuir com o repertório de modelos e fluxos de trabalho pré-construídos incríveis disponíveis em SourDuper Open-Source. Participe da discussão, contribuindo com questões e solicita solicitações!
Component
) usando um modelo de programação declarativo, que se integra de perto aos dados no seu banco de dados, usando um conjunto simples de primitivas e classes base.Component
inter-relacionados em um Application
AI-DataComponent
, Model
e Application
testados por batalha usando Template
, dando aos desenvolvedores um ponto fácil de começar com implementações de IA difíceisApplication
e criar uma segida elegante do mundo da IA para os mundos de dados de dados de dados.Model
, bem como dados primários de banco de dados, para permitir a última geração de aplicativos AI-Data, incluindo todos os sabores de pesquisa vetorial, rag e muito, muito mais. Flexibilidade maciça
Combine qualquer modelo de IA baseado em Python, API do ecossistema com os bancos de dados e armazéns testados mais estabelecidos e de batalha; Snowflake, MongoDB, Postgres, MySQL, SQL Server, SQLite, BigQuery e Clickhouse são todos suportados.
Integração perfeita, evitando mlops
Remova a necessidade de implementar os MLOPs, usando os componentes de superduper declarativos e composicionais, que especificam o estado final que os modelos e dados devem atingir.
Promover a reutilização e portabilidade do código
Componentes do pacote como modelos, expondo os principais parâmetros necessários para reutilizar e comunicar aplicativos de IA em sua comunidade e organização.
Economia de custos
Implementar a pesquisa de vetores e incorporar a geração sem exigir um banco de dados vetorial dedicado. Alterne sem esforço entre modelos auto -hospedados e modelos hospedados na API, sem grandes alterações de código.
Mover para a produção sem nenhum esforço adicional
A API REST do Superduper permite que modelos instalados sejam servidos sem trabalho adicional de desenvolvimento. Para escalabilidade de grau corporativo, cofres de falhas, segurança e log, aplicativos e fluxos de trabalho criados com o SuperDuper, podem ser implantados em um clique no SuperDuper Enterprise.
main
? Estamos trabalhando em um próximo lançamento de 0.4.0
. Neste lançamento, temos:
Component
aciona cálculos iniciais e cálculos dependentes de dados usando @trigger
Isso permitirá uma grande diversidade de tipos Component
, além do Model
bem estabelecido, Listener
, VectorIndex
.
CDC
(Captura de Data-Data)Isso permitirá que os desenvolvedores criem uma gama de funcionalidades que reagem a alterações de dados recebidas
Template
para permitir unidades reutilizáveis de funcionalidade completa Os componentes salvos como instâncias Template
permitirão que os usuários reimplavam facilmente suas implementações de Component
e Application
já implantadas e testadas, em fontes de dados alternativas e com os principais parâmetros alternados para atender aos requisitos operacionais.
Template
de concreto ao projeto Essas instâncias Template
podem ser aplicadas com superduper com um comando simples simples
superduper apply <template> '{"variable_1": "value_1", "variable_2": ...}'
ou:
from superduper import templates
app = template ( variable_1 = 'value_1' , variable_2 = 'value_2' , ...)
db . apply ( app )
Agora, você pode visualizar suas instâncias Component
, Application
e Template
na interface do usuário e executar consultas usando instâncias QueryTemplate
, diretamente contra o servidor REST.
superduper start
Instalação :
pip install superduper-framework
Exibir modelos pré-construídos disponíveis:
superduper ls
Conecte e aplique um modelo pré-construído:
( Nota: os modelos pré-criados são suportados apenas pelo Python 3.10; você pode usar todos os outros recursos no Python 3.11+. )
# e.g. 'mongodb://localhost:27017/test_db'
SUPERDUPER_DATA_BACKEND= < your-db-uri > superduper apply simple_rag
Execute uma consulta ou previsão sobre os resultados:
from superduper import superduper
db = superduper ( '<your-db-uri>' ) # e.g. 'mongodb://localhost:27017/test_db'
db [ 'rag' ]. predict ( 'Tell me about superduper' )
Veja e monitore tudo na interface superduper. Da linha de comando:
superduper start
Depois de fazer isso, você está pronto para construir seus próprios componentes, aplicativos e modelos!
Comece copiando um modelo existente, para seu próprio ambiente de desenvolvimento:
superduper bootstrap < template_name > --destination templates/my-template
Edite o notebook build.ipynb
, para construir sua própria funcionalidade.
If you have any problems, questions, comments, or ideas:
[email protected]
.Existem muitas maneiras de contribuir e elas não se limitam à redação do código. Congratulamo -nos com todas as contribuições como:
Consulte o nosso guia contribuinte para obter detalhes.
Obrigado a essas pessoas maravilhosas:
O Superduper é de código aberto e pretende ser um esforço da comunidade, e não seria possível sem o seu apoio e entusiasmo. Ele é distribuído nos termos da licença Apache 2.0. Qualquer contribuição feita para este projeto estará sujeita às mesmas disposições.
Estamos à procura de pessoas legais que investem no problema que estamos tentando resolver para se juntar a nós em tempo integral. Encontre papéis que estamos tentando preencher aqui!