Superduper - 在数据上构建端到端AI工作流和应用
文章目录
- 一、关于 Superduper
- 相关链接资源
- 二、安装
- 三、基本用法
- 四、更多Superduper说明
- Superduper支持什么?
- 核心功能
- 关键优势
- 一个优雅的更新模式来更新已应用的组件
- 利用 `Template` 类的智能表单构建器
- 基于Python原生类型注解的序列化
- 社区与获取帮助
- 当前支持的数据存储
一、关于 Superduper
Superduper 是一个基于 Python 的框架,用于在您的数据上构建 端到端 AI-数据工作流和应用,同时与主要数据库集成。
它支持最新的技术和技术,包括 LLMs、向量搜索、RAG、多模态以及经典 AI 和 ML 范式。
开发者可以通过构建 组合和声明式对象 来利用 Superduper,这些对象将部署、编排和版本管理等细节外包给 Superduper 引擎。
这使得开发者可以完全避免实现 MLOps、ETL 管道、模型部署、数据迁移和同步。
使用Superduper简单地说就是 “CAPE”:连接到您的数据,应用任意AI到这些数据,打包并重用应用程序在任意数据上,以及执行基于AI输出的数据查询和预测。
- 连接 Connect
- 应用 Apply
- 包 Package
- 执行 Execute
相关链接资源
- Github : https://github.com/superduper-io/superduper
- 文档 : https://docs.superduper.io
- 博客: https://blog.superduper.io
- 网站: https://superduper.io
- 模板 : https://docs.superduper.io/docs/category/templates
- Slack: https://join.slack.com/t/superduper-public/shared_invite/zt-1yodhtx8y-KxzECued5QBtT6JFnsSNrQ
- Youtube : https://www.youtube.com/channel/UC-clq9x8EGtQc6MHW0GF73g
- 领英 : https://www.linkedin.com/company/superduper-io"
- 许可证 - Apache 2.0
- 招聘:https://join.com/companies/superduper
二、安装
必需:确保您已安装 Python 3.10+。
安装基本包:
pip install superduper-framework >= 0.6.0
安装您数据后端的插件:
# at least one or more of the following:
pip install superduper-mongodb >= 0.6.0
# or
pip install superduper-sql >= 0.6.0
# or
pip install superduper-snowflake >= 0.6.0
安装适用于您用例的附加插件(可选):
pip install superduper-<plugin_name>
三、基本用法
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 可在任何地方运行;您也可以 联系我们 了解更多关于将 Superduper 工作流程大规模投入生产的企业平台的信息。
四、更多Superduper说明
Superduper支持什么?
Superduper足够灵活,可以支持广泛的AI技术和范式。我们在plugins
和templates
目录中提供了一系列预构建的功能。特别是,当AI和数据需要以持续和紧密集成的形式交互时,Superduper表现得尤为出色。以下是一些示例,您可以从我们的模板中进行尝试:
- 语义多模态向量搜索 (图片, 文本, 视频)
- 检索增强生成 具有特殊要求(数据获取涉及语义搜索以及业务规则和预处理)
- LLM finetuning on database hosted data
- 使用多模态数据进行迁移学习
我们正在寻找热情的开发者,以贡献到Superduper开源中提供的精彩预构建模板和工作流程的库。请加入讨论,通过贡献问题和拉取请求!
核心功能
- 创建一个超级超级数据-AI 连接/数据层,由您自己的
- 数据后端(数据库/数据湖/数据仓库)
- 元数据存储(与databackend相同或不同)
- 工件存储(用于存储大对象)
- 计算实现
- 使用声明式编程模型构建复杂的功能单元(
组件
),这些单元与您的数据后端中的数据紧密集成,通过一组简单的原语和基类实现。 - 构建更大的功能单元,将多个相互关联的
Component
实例封装到 AI 数据Application
中 - 重复使用经过实战考验的
Component
、Model
和Application
实例,通过Template
为开发者提供一个容易入手的起点,以便进行困难的 AI 实现 - 一种透明、可读、网络友好且高度可移植的序列化协议,“Superduper-protocol”,用于通信实验结果,使
Application
线程和版本易于跟踪,并从AI世界到数据库/类型化数据世界的优雅过渡。 - 使用
Model
实例的输出以及主数据后端数据组合执行查询,以启用最新一代的 AI-数据应用,包括所有类型的向量搜索、RAG 以及更多更多。
关键优势
- 极大的灵活性
结合任何基于Python的AI模型,与最成熟、经过实战考验的数据库和仓库进行集成;Snowflake、MongoDB、Postgres、MySQL、SQL Server、SQLite、BigQuery和Clickhouse都受到支持。 - 无缝集成避免MLOps
去除实现MLOps的需求,使用声明式和组合式的Superduper组件,这些组件指定了模型和数据应达到的最终状态。 - 提高代码的可重用性和可移植性
将组件打包为模板,公开所需的键参数,以便在您的社区和组织中重用和通信AI应用程序。 - 成本节省
实现无需专用向量数据库的向量搜索和嵌入生成。轻松地在自托管模型和API托管模型之间切换,无需进行重大代码更改。 - 无需额外努力即可迁移到生产环境
Superduper的REST API允许安装的模型无需额外开发工作即可提供服务。为了实现企业级可扩展性、安全措施、安全性和日志记录,使用Superduper创建的应用程序和工作流程可以一键部署到Superduper企业。
一个优雅的更新模式来更新已应用的组件
这意味着更改深层次的 Component
中的提示或参数不会意味着
从头开始启动所有组件。这也为回滚奠定了基础
并且版本固定。
利用 Template
类的智能表单构建器
这将允许开发者将他们的应用程序作为无代码界面进行展示。
基于Python原生类型注解的序列化
from superduper import typing as tclass MyPDF:path: t.Filemy_func: t.Blobmy_other_func: t.Pickle
社区与获取帮助
如果您有任何问题、疑问、评论或想法:
- 加入我们的 Slack 我们的 Slack (我们期待在那里见到你)。
- 在我们的 GitHub 讨论区进行搜索 我们的 GitHub 讨论区,或 添加一个新的问题(add a new question)。
- 评论现有的一个问题(点击此处)或创建一个新的问题。
- 帮助我们改进Superduper,通过在此处提供您宝贵的反馈 here!
- 邮箱联系我们:
gethelp@superduper.io
- 访问我们的 YouTube 频道.
- 关注我们于 Twitter (now X).
- 与我们联系 LinkedIn.
- 随时欢迎直接联系维护者或社区志愿者!
当前支持的数据存储
- MongoDB
- MongoDB Atlas
- Snowflake
- PostgreSQL
- MySQL
- SQLite
- DuckDB
- Google BigQuery
- Microsoft SQL Server (MSSQL)
- ClickHouse
2025-04-16(三)