laminlabs/lamindb
Open-source data management for multimodal AI. Query, trace, and govern with a lineage-native, format-agnostic lakehouse for agents and teams. Supports biological formats and registries - by the creators of Scanpy. 🍊YC S22
LaminDB – 多模态AI工作流的数据管理平台
简介 – LaminDB是一个开源库(Python + R),让你可以将任何科学数据——Parquet表、Zarr数组、AnnData对象、图像、普通文件等——视为存储在版本化“湖仓一体”中的工件。它记录每个工件来自哪里、由哪个代码(或AI智能体)生成,以及你附加的任何自定义元数据。可以将其视为用于数据的git,但具有ACID事务保证、时间旅行、分支和模式演进。
对AI的重要性 – 现代AI流水线(大语言模型智能体、多模态模型、生物信息学工作流)处理海量异构数据集。没有可追溯性,就无法审计结果、复现实验或安全地合并众多协作者的贡献。LaminDB提供:
- 血统跟踪 – 每次运行、转换和工件都相互关联,因此您可以精确重建模型输出的生成过程。
- 湖仓一体保证 – 对非表格格式数据提供ACID事务、快照隔离和版本管理。
- 模式驱动验证 – 定义特征(例如
gc_content、experiment_date)并自动验证DataFrame、AnnData、SpatialData等。 - 零拷贝共享 – 无需复制大文件即可在数据库之间移动引用。
- 与现有工具集成 – 直接与Polars、DuckDB、Nextflow、redun、Vitessce以及通过
bionty插件的生物本体协作。
使用方法
- 安装 –
pip install lamindb(或最小化lamindb-core)。 - 连接 –
lamin login && lamin connect account/name或使用lamin init初始化本地存储库。 - 保存数据 –
ln.Artifact("sample.fasta", key="sample.fasta").save()或通过CLIlamin save …。 - 跟踪代码 – 用
ln.track()/ln.finish()包装脚本,或用@ln.flow()装饰函数,以捕获参数、环境和生成的工件。 - 查询 –
ln.Artifact.filter(...).to_dataframe()允许按元数据、大小、运行或自定义特征进行搜索。 - 分支与合并 – 像git一样使用
lamin switch -c my_branch和lamin merge来隔离和整合更改。
使用者 – Pfizer、Altos Labs的团队、学术联盟(scverse、Helmholtz Munich)以及研究医院(哈佛、麻省理工、苏黎世联邦理工学院)使用LaminDB管理PB级多模态数据集。
要点
- 提供分布式、语言无关的数据目录(SQLite/Postgres元数据,S3、GCP、本地磁盘上的文件)。
- 通过将数据、代码和计算环境耦合,实现AI/ML流水线的完全可复现性。
- 专为生命科学和多模态AI设计,但适用于任何需要可信数据治理的领域。
相关
- 项目
- 项目
- 项目
- 项目
- 项目