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插件的生物本体协作。

使用方法

  1. 安装 – pip install lamindb(或最小化lamindb-core)。
  2. 连接 – lamin login && lamin connect account/name或使用lamin init初始化本地存储库。
  3. 保存数据 – ln.Artifact("sample.fasta", key="sample.fasta").save()或通过CLI lamin save …。
  4. 跟踪代码 – 用ln.track() / ln.finish()包装脚本,或用@ln.flow()装饰函数,以捕获参数、环境和生成的工件。
  5. 查询 – ln.Artifact.filter(...).to_dataframe()允许按元数据、大小、运行或自定义特征进行搜索。
  6. 分支与合并 – 像git一样使用lamin switch -c my_branch和lamin merge来隔离和整合更改。

使用者 – Pfizer、Altos Labs的团队、学术联盟(scverse、Helmholtz Munich)以及研究医院(哈佛、麻省理工、苏黎世联邦理工学院)使用LaminDB管理PB级多模态数据集。

要点

  • 提供分布式、语言无关的数据目录(SQLite/Postgres元数据,S3、GCP、本地磁盘上的文件)。
  • 通过将数据、代码和计算环境耦合,实现AI/ML流水线的完全可复现性。
  • 专为生命科学和多模态AI设计,但适用于任何需要可信数据治理的领域。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目