Repolode
lance-format

lance-format/lance

Formato abierto de tablas y archivos lakehouse para IA multimodal, con búsqueda vectorial y de texto completo, y acceso aleatorio rápido en almacenamiento de objetos.

Estrellas
7,261
Forks
925
Issues abiertos
1,197
Último commit
hace 13 horas

¿Qué es?

Lance es un formato de archivos, un formato de tablas y una especificación de catálogo para crear un lakehouse sobre almacenamiento de objetos destinado a cargas de trabajo de IA. Guarda imágenes, videos, audio, texto y embeddings en un solo formato, con codificación de blobs y carga diferida para datos multimodales.

El proyecto está pensado para cargas de trabajo que los lakehouses tradicionales basados en Parquet gestionan mal, como la búsqueda por similitud, el muestreo aleatorio para entrenar modelos de ML y la incorporación de columnas de características con valores retroactivos sin reescribir toda la tabla. Admite índices vectoriales, búsqueda de texto completo con BM25, análisis SQL sobre el mismo conjunto de datos y control automático de versiones con time travel, etiquetas y ramas.

Lance permite escribir datos desde Parquet con unas pocas líneas de Python y leerlos con Pandas, Polars, DuckDB, PyArrow y PyTorch. También incluye integraciones con Ray, Spark, Trino y Flink, y su núcleo está implementado en Rust, con bindings para Python y Java.

Funciones clave

  • 01Búsqueda de similitud vectorial con índices IVF_PQ, además de consultas de texto completo (BM25) y SQL.
  • 02Acceso aleatorio que, según las pruebas de rendimiento del proyecto, puede ser hasta 100 veces más rápido que Parquet para búsquedas por lotes.
  • 03Guarda imágenes, videos, audio, texto y embeddings en un solo formato, con carga diferida de blobs.
  • 04Añade columnas con valores retroactivos sin reescribir toda la tabla.
  • 05Control automático de versiones con transacciones ACID, time travel, etiquetas y ramas.
  • 06Compatible con Pandas, Polars, DuckDB, PyArrow y PyTorch.

Casos de uso

  • Crear motores de búsqueda o feature stores que combinen filtros vectoriales, por palabras clave y SQL.
  • Entrenar modelos de ML a gran escala cuando se necesita muestreo aleatorio rápido en conjuntos de datos de imágenes o videos.
  • Gestionar embeddings y recursos multimodales en un lakehouse con almacenamiento de objetos.
  • Añadir características derivadas a un conjunto de datos existente sin reescribirlo por completo.

Inicio rápido

  1. 1

    Instala el paquete de Python pylance

    pip install pylance
  2. 2

    Convierte un conjunto de datos Parquet a Lance y vuelve a leerlo en Python

Antes de usarlo

  • Lance publica versiones con frecuencia, así que fija data_storage_version para obtener escrituras deterministas entre distintas versiones de Lance.
  • El alias de formato de archivo 'next' es inestable y no debe usarse para datos de producción.

En colecciones

Temas

Preguntas frecuentes

¿Qué es lance?
Formato abierto de tablas y archivos lakehouse para IA multimodal, con búsqueda vectorial y de texto completo, y acceso aleatorio rápido en almacenamiento de objetos. Lance es un formato de archivos, un formato de tablas y una especificación de catálogo para crear un lakehouse sobre almacenamiento de objetos destinado a cargas de trabajo de IA. Guarda imágenes, videos, audio, texto y embeddings en un solo formato, con codificación de blobs y carga diferida para datos multimodales.
¿lance es gratuito? ¿Qué licencia tiene?
lance es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿lance sigue mantenido?
Mantenimiento activo. El último commit de lance fue el 5 nov 2026.
¿Para qué puedo usar lance?
Crear motores de búsqueda o feature stores que combinen filtros vectoriales, por palabras clave y SQL. Entrenar modelos de ML a gran escala cuando se necesita muestreo aleatorio rápido en conjuntos de datos de imágenes o videos. Gestionar embeddings y recursos multimodales en un lakehouse con almacenamiento de objetos. Añadir características derivadas a un conjunto de datos existente sin reescribirlo por completo.
¿Cómo se instala lance?
Instala el paquete de Python pylance: pip install pylance Convierte un conjunto de datos Parquet a Lance y vuelve a leerlo en Python
¿Dónde consigo lance?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/lance-format/lance

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados