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许可证的条款分发的。对该项目的任何贡献都将受到相同的规定。
我们正在寻找投资于我们试图解决的问题以全职加入我们的好人。找到我们要在这里填补的角色!