mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-13 07:12:27 +00:00
Move the public website pages into `docs/web` beside the SDK, with
shared navigation and executable example sources in `docs/web-tests`.
The combined website is assembled by
[lancedb/docs#355](https://github.com/lancedb/docs/pull/355), with six
Enterprise replacements from
[lancedb/sophon#7681](https://github.com/lancedb/sophon/pull/7681).
This includes Function guidance, runnable Quickstarts, regenerated
snippets, production contact/demo fixes, the legacy SQL route, and the
LeRobot redirect. LeRobot remains attributed to Geneva; all 34 Geneva
pages remain in the docs repository until Function officially launches.
Materialized-view guidance follows the full rebuild refresh introduced
by #4373: local refresh writes the complete result, has no `full`
argument, supports `source_version`, and no longer requires stable row
IDs. Deployment SQL refresh options and stable-ID setup are qualified by
version/configuration. Function input guidance distinguishes ordinary
stored columns from computed inputs supported by newer deployments.
**Validation:** independently accepted local checks include 95 Python
tests (real Enterprise excluded), eight TypeScript tests, Rust
Quickstart, snippet parity, typos, deterministic assembly, Mint
validation and links/anchors/redirects. The combined baseline retains
all 181 production routes and 17 legacy redirects. Examples ran locally
against source-built Python SDK 0.40.0b13; existing GitHub workflows do
not run `docs/web-tests`. New main at `069b2f7d` is 0.41.0b0 and adds
computed Function inputs; that SDK was not exercised by the accepted
tests. Latest prose corrections receive focused site validation.
**Merge/rollout:** merge this and #7681 before #355's combined CI, which
reads producer `main`. This is migration infrastructure: section
overlays, source-owned skills and automatic versioned paired releases
remain follow-ups. The current manual publisher is transitional. Hosted
validation, a supported SDK/Enterprise release pair and a real
Enterprise walkthrough remain pending.
Production Mintlify watches `lancedb/docs:deploy-freeze`, directory
`docs`; preserve that source through review. The separate SDK GitHub
Pages reference workflow rebuilds on main merges.
**Updated-head CI (9a50f8db):**
[Typos](https://github.com/lancedb/lancedb/actions/runs/37654185443/job/112904990558),
[PR
title](https://github.com/lancedb/lancedb/actions/runs/37654179507/job/112904974595)
and
[Aikido](https://app.aikido.dev/featurebranch/scan/215386145?groupId=74229)
pass. Critical findings in the example lockfiles were patched: all Sharp
copies use 0.35.5, protobufjs 7.6.6, tar 7.5.22, quinn-proto 0.11.19,
zerovec 0.11.8 and zerovec-derive 0.11.6. The SDK's product dependencies
are unchanged. The revised lockfiles pass eight TypeScript examples,
HuggingFace decode/resize/crop/rescale/normalize plus AVIF roundtrip,
and Rust Quickstart. Aikido passing does not mean every advisory is
cleared; npm still reports 29 high and five moderate advisories in the
example dependency graph. No scanner bypass or suppression was added.
The Function prose correction passes combined/standalone Mint,
deterministic assembly, routes and assets. The revised 325-file site
checksum is
`175bec06864abb400dd292e667ba93448c0479b8359fd7bf6146afabf9040647`. This
PR remains open for independent review; further merges are on hold.
---------
Co-authored-by: Brendan Clement <brendan.clement@lancedb.com>
119 lines
6.2 KiB
Plaintext
119 lines
6.2 KiB
Plaintext
---
|
|
title: "Why LanceDB for Training"
|
|
sidebarTitle: "Why LanceDB"
|
|
description: "Use LanceDB as the multimodal data layer for model training, fine-tuning, curation, and feature engineering workflows."
|
|
icon: fire
|
|
---
|
|
|
|
LanceDB is built for AI teams that need a practical data layer between raw multimodal datasets and model training.
|
|
Instead of moving data through separate systems for curation, feature engineering, search, manifests, and training,
|
|
you can keep the whole workflow attached to one versioned LanceDB table.
|
|
|
|
That table can hold images, video, audio, text, annotations, metadata, embeddings, tokenized fields, model outputs,
|
|
quality signals, and training-ready tensors. As the dataset evolves, LanceDB lets you add new columns, filter rows,
|
|
pin versions, and read batches without rewriting the original data.
|
|
|
|

|
|
|
|
LanceDB gives these stages one platform, so curation, feature engineering, retrieval, and training stay connected.
|
|
|
|
## A connected data lifecycle {#a-connected-data-lifecycle}
|
|
|
|
Training pipelines usually need more than a pile of files. They need curation, derived features, reproducible splits,
|
|
fast random access, and a clean path into frameworks such as PyTorch. LanceDB keeps these pieces connected through
|
|
the same table model, whether you organize a workflow as one table or several related tables.
|
|
|
|
<Steps>
|
|
<Step title="Curate and slice the dataset">
|
|
Use filters, vector search, full-text search, and retrieval workflows to find the examples that matter: hard negatives,
|
|
long-tail failure modes, duplicate clusters, low-quality samples, or targeted fine-tuning slices.
|
|
</Step>
|
|
<Step title="Engineer features in place">
|
|
Add embeddings, detections, OCR output, labels, token IDs, hidden states, deduplication flags, or quality scores as
|
|
new columns. Lance's columnar layout and schema evolution avoid rewriting large raw media columns when you add features.
|
|
</Step>
|
|
<Step title="Create reproducible splits">
|
|
Build filtered splits and materialized views from the table instead of exporting CSV manifests. Data versions and tags
|
|
make it possible to tie a checkpoint back to the exact rows and features used for training.
|
|
</Step>
|
|
<Step title="Load batches for training">
|
|
Use fast random access and column projection to read only the columns a training step needs. LanceDB tables can be read
|
|
from local storage or object storage, and integrate with data loading patterns such as PyTorch datasets.
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Lance as the foundation {#lance-as-the-foundation}
|
|
|
|
LanceDB is built on [Lance](https://lance.org/), an open-source lakehouse format designed for multimodal AI data.
|
|
The table below highlights the Lance features that enable the multimodal lakehouse on top.
|
|
|
|
| Capability | Why it matters for training |
|
|
|---|---|
|
|
| **Multimodal columns** | Store raw bytes, annotations, metadata, embeddings, and features together. |
|
|
| **Fast random access** | Support shuffled and sampled reads without reshuffling the dataset on disk. |
|
|
| **Column projection** | Read only images, tokens, labels, embeddings, or hidden states needed by a given run. |
|
|
| **Schema evolution** | Add new feature columns without rewriting existing media columns. |
|
|
| **Versioning** | Reproduce experiments against the same table snapshot, even as the dataset evolves. |
|
|
| **Search and filtering** | Find and materialize useful training slices directly from the table. |
|
|
|
|
## Search inside training workflows {#search-inside-training-workflows}
|
|
|
|
Search is not limited to QA systems, agents, or production retrieval apps. It is also a practical way to inspect,
|
|
curate, and improve training data:
|
|
|
|
- Find visually similar examples when debugging model failures.
|
|
- Retrieve hard negatives or near-duplicates for contrastive training.
|
|
- Combine vector search, full-text search, and metadata filters to build targeted fine-tuning slices.
|
|
- Reuse the same table for both offline curation and production retrieval.
|
|
|
|
In LanceDB, retrieval and training workflows can operate over the same multimodal tables instead of forcing teams to
|
|
manage separate data systems for each stage.
|
|
|
|
## Projects using LanceDB for training workflows {#projects-using-lancedb-for-training-workflows}
|
|
|
|
<CardGroup cols={1}>
|
|
<Card
|
|
title="stable-worldmodel"
|
|
icon="github"
|
|
href="https://github.com/galilai-group/stable-worldmodel"
|
|
>
|
|
A platform for reproducible world-model research built on a LanceDB data layer, reporting faster data loading on Push-T workloads.
|
|
</Card>
|
|
<Card
|
|
title="le-wm"
|
|
icon="github"
|
|
href="https://github.com/lucas-maes/le-wm"
|
|
>
|
|
A joint-embedding predictive world model from pixels, trained on the stable-worldmodel platform and its LanceDB data layer.
|
|
</Card>
|
|
<Card
|
|
title="lerobot-lancedb"
|
|
icon="github"
|
|
href="https://github.com/lancedb/lerobot-lancedb"
|
|
>
|
|
A drop-in LanceDB backend for Hugging Face LeRobot datasets with faster loading across robotics datasets.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
In the world-model ecosystem, [stable-worldmodel](https://github.com/galilai-group/stable-worldmodel) reports
|
|
3-4x faster data loading on Push-T versus HDF5 / MP4 at a fraction of the disk footprint. Across these projects,
|
|
LanceDB and Lance provide the multimodal data layer that keeps raw observations, annotations, features, and training
|
|
access patterns in one format instead of scattering them across task-specific stores.
|
|
|
|
## Next steps {#next-steps}
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Data loading and shuffles" icon="boxes-stacked" href="/training/data-loading">
|
|
Learn how to use LanceDB permutations to select rows, project columns, split datasets, and shuffle training reads.
|
|
</Card>
|
|
<Card title="PyTorch integration" icon="fire" href="/training/torch">
|
|
Use LanceDB tables and permutations with `torch.utils.data.DataLoader`.
|
|
</Card>
|
|
<Card title="Object detection example" icon="car" href="/training/object-detection">
|
|
Fine-tune an AV perception model on curated failure-mode slices backed by one LanceDB table.
|
|
</Card>
|
|
<Card title="VLM fine-tuning example" icon="image" href="/training/vlm-finetuning">
|
|
Fine-tune a VLM on TextVQA using LanceDB and Geneva to cache expensive training features.
|
|
</Card>
|
|
</CardGroup>
|