superduper:构建端到端AI数据工作流和应用的强大框架
superduper是一个基于Python的开源框架,旨在帮助开发者在自己的数据上构建端到端的AI数据工作流和应用。它与主流数据库无缝集成,支持最新的技术和技巧,包括大型语言模型(LLMs)、向量搜索、检索增强生成(RAG)、多模态处理以及传统的AI和机器学习范式。
核心理念:CAPE
superduper的核心理念可以概括为"CAPE":
- Connect(连接):连接到您的数据源
- Apply(应用):对数据应用任意AI处理
- Package(打包):将应用打包并在任意数据上复用
- Execute(执行):在AI输出和数据上执行AI数据库查询和预测
主要特性
- 创建superduper数据AI连接层,包括数据后端、元数据存储和工件存储
- 使用声明式编程模型构建复杂的功能单元(Component)
- 将多个相关的Component封装成更大的AI数据应用(Application)
- 通过Template复用经过测试的Component、Model和Application
- 提供透明、人类可读、Web友好且高度可移植的序列化协议
- 执行结合Model输出和原始数据的查询,支持各种AI数据应用
主要优势
-
灵活性强:可以结合任何基于Python的AI模型和API,支持多种主流数据库和数据仓库。
-
无缝集成:通过声明式和组合式的superduper组件,避免了实现MLOps的需求。
-
代码复用和可移植性:将组件打包为模板,方便在组织内重用和交流AI应用。
-
成本节约:无需专用向量数据库即可实现向量搜索和嵌入生成,轻松切换自托管模型和API托管模型。
-
轻松部署:内置REST API,无需额外开发即可提供已安装模型的服务。
最新特性
superduper正在开发0.4.0版本,主要更新包括:
- 改进Component触发计算的方式
- 创建通用的变更数据捕获(CDC)基类
- 开发Template概念,实现功能单元的可重用性
- 添加具体的Template实现
- 新增用户界面和REST实现
入门指南
- 安装:
pip install superduper-framework
- 查看可用的预构建模板:
superduper ls
- 连接并应用预构建模板:
SUPERDUPER_DATA_BACKEND=<your-db-uri> superduper apply simple_rag
- 执行查询或预测:
from superduper import superduper
db = superduper('<your-db-uri>')
db['rag'].predict('Tell me about superduper')
- 在superduper界面查看和监控:
superduper start
社区支持
superduper拥有活跃的社区支持,用户可以通过Slack、GitHub Discussions、Issues等多种渠道获取帮助和交流。项目欢迎各种形式的贡献,包括报告bug、改进文档、提出增强建议等。
结语
superduper为开发者提供了一个强大而灵活的框架,用于构建端到端的AI数据工作流和应用。它简化了AI与数据集成的过程,提高了开发效率,并支持各种先进的AI技术。无论是个人开发者还是企业用户,superduper都能满足其构建复杂AI数据应用的需求。