Superduper:在现有数据基础设施和首选工具上构建端到端 AI 应用程序和代理工作流、无需迁移数据、支持最新的技术和技巧,包括LLMs向量搜索、RAG、多模态以及经典的 AI 和 ML 范式。

一、软件介绍

文末提供程序和源码下载

      Superduper 是一个基于 Python 的框架,用于在您自己的数据上构建端到端 AI 数据工作流和应用程序,并与主要数据库集成。它支持最新的技术和技巧,包括LLMs向量搜索、RAG、多模态以及经典的 AI 和 ML 范式。开发人员可以通过构建组合和声明性对象来利用 Superdoper,这些对象将部署、编排和版本控制等细节外包给 Superduper 引擎。这使开发人员可以完全避免实施 MLOps、ETL 管道、模型部署、数据迁移和同步。使用 Superduper 就是简单的“CAPE”:连接到您的数据,将任意 AI 应用于该数据,在任意数据上打包和重用应用程序,并对生成的 AI 输出和数据执行 AI 数据库查询和预测。

Connect 连接

db = superduper('mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>')

Apply 应用

listener = MyLLM('self_hosted_llm', architecture='llama-3.2', postprocess=my_postprocess).to_listener('documents', key='txt')
db.apply(listener)

Package 包

application = Application('my-analysis-app', components=[listener, vector_index])
template = Template('my-analysis', component=app, substitutions={'documents': 'table'})
template.export('my-analysis')

Execute 执行

query = db['documents'].like({'txt', 'Tell me about Superduper'}, vector_index='my-index').select()
query.execute()

二、软件特点

        Superduper 足够灵活,可以支持大量的 AI 技术和范式。我们在  plugins 和  templates 目录中提供了一系列预构建的功能。特别是,当 AI 和数据需要以持续和紧密集成的方式交互时,Superduper 表现出色。以下是一些说明性示例,您可以从我们的模板中试用:
       语义多模态向量搜索(图像、文本、视频)
       具有特殊要求的检索增强生成(数据获取涉及语义搜索以及业务规则和预处理)
       LLM对数据库托管数据进行微调
       使用多模态数据进行迁移学习

三、核心功能

  1. 创建一个由您自己的 Superduper data-AI 连接/数据层
  2. databackend (数据库/ datalake/ 数据仓库)
  3. 元数据存储(与 DataBackEnd 相同或其他)
  4. artifact store (用于存储大型对象)
  5.  计算实现
  6. 使用声明式编程模型构建复杂的功能单元 ( Component ),该模型使用一组简单的基元和基类与 databackend 中的数据紧密集成。
  7. 构建更大的功能单元,将多个相互关联的 Component 实例包装到一个 AI 数据 Application 中
  8. 重用经过实战检验 Component 的 实例 Model 和 使用 Template 的 Application 实例,为开发人员提供了一个简单的起点,以便开始困难的 AI 实施
  9. 透明、可读、Web 友好且高度可移植的序列化协议“Superduper-protocol”,用于传达实验结果,使 Application 世系和版本控制易于遵循,并创建从 AI 世界到数据库/类型数据世界的优雅 segway。
  10. 使用 Model 实例输出和主要数据后端数据的组合来执行查询,以支持最新一代的 AI 数据应用程序,包括各种形式的矢量搜索、RAG 等等。

四、主要优势

极大的灵活性

     将任何基于 Python 的 AI 模型、来自生态系统的 API 与最成熟、经过实战检验的数据库和仓库相结合;Snowflake、MongoDB、Postgres、MySQL、SQL Server、SQLite、BigQuery 和 Clickhouse 都受支持。

无缝集成,避免 MLOps

     无需使用声明性和组合性 Superduper 组件实现 MLOps,这些组件指定模型和数据应达到的最终状态。

提升代码的可重用性和可移植性

       将组件打包为模板,公开在社区和组织中重用和交流 AI 应用程序所需的关键参数。

 节省成本

      实现向量搜索和嵌入生成,而无需专用的向量数据库。在自托管模型和 API 托管模型之间轻松切换,无需更改重大代码。

无需任何额外工作即可迁移到生产环境

      Superduper 的 REST API 允许提供已安装的模型,而无需额外的开发工作。对于企业级可扩展性、故障保护、安全性和日志记录,使用 Superduper 创建的应用程序和工作流程可以在 Superduper enterprise 上一键部署。

main 分支中有哪些新增功能?

我们正在开发即将发布的 0.5.0 .在此版本中,我们将提供:

用于更新已应用组件的正常更新架构

这意味着更改 Prompt 或 parameter Component 并不意味着从头开始所有组件。这也为回滚和版本固定奠定了基础。

利用 Template 类的智能表单构建器

这将允许开发人员将其应用程序公开为无代码接口。

基于 Python 原生类型注释的序列化

from superduper import typing as t

class MyPDF:
    path: t.File
    my_func: t.Blob
    my_other_func: t.Pickle


五、 开始

 安装:

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 界面中查看和监控所有内容。从命令行:

superduper start

完成这些之后,您就可以构建自己的组件、应用程序和模板了!

首先将现有模板复制到您自己的开发环境:

superduper bootstrap <template_name> --destination templates/my-template

编辑 build.ipynb 笔记本,以构建您自己的功能。

当前支持的数据存储
 MongoDB 
MongoDB Atlas
 PostgreSQL 
 MySQL (MySQL的
SQLite
 DuckDB 
 谷歌 BigQuery
Microsoft SQL Server (MSSQL)
 

六、软件源码下载

夸克网盘分享

 GitHub作者地址:https://github.com/superduper-io/superduper

本文信息来源于作者GitHub地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值