Repolode
lance-format

lance-format/lance

Открытый формат таблиц и файлов для lakehouse-систем с мультимодальными AI-данными, векторным и полнотекстовым поиском и быстрым произвольным доступом к данным в объектном хранилище.

Звёзды
7,266
Форки
926
Открытые issues
1,197
Последний коммит
5 часов назад

Что это?

Lance — это спецификация файлового формата, формата таблиц и каталога для построения lakehouse-систем на базе объектного хранилища для AI-нагрузок. В одном формате можно хранить изображения, видео, аудио, текст и эмбеддинги; для мультимодальных данных предусмотрены кодирование блобов и отложенная загрузка.

Проект ориентирован на задачи, с которыми lakehouse-системы на базе традиционного Parquet справляются плохо: например, поиск похожих объектов, случайную выборку для обучения ML-моделей и добавление столбцов с ранее рассчитанными значениями без перезаписи всей таблицы. Поддерживаются векторные индексы, полнотекстовый поиск BM25, SQL-аналитика по тому же набору данных и автоматическое версионирование с time travel, тегами и ветками.

Записывать данные в Lance из Parquet можно с помощью нескольких строк Python, а читать их — через Pandas, Polars, DuckDB, PyArrow и PyTorch. Также указаны интеграции с Ray, Spark, Trino и Flink; ядро реализовано на Rust, доступны биндинги для Python и Java.

Ключевые возможности

  • 01Поиск похожих векторов с индексами IVF_PQ, а также полнотекстовые запросы BM25 и SQL-запросы.
  • 02Произвольный доступ к данным, который, по результатам бенчмарков проекта, при пакетных запросах может быть до 100 раз быстрее, чем в Parquet.
  • 03Хранение изображений, видео, аудио, текста и эмбеддингов в одном формате с отложенной загрузкой блобов.
  • 04Добавление столбцов с ранее рассчитанными значениями без перезаписи всей таблицы.
  • 05Автоматическое версионирование с ACID-транзакциями, time travel, тегами и ветками.
  • 06Совместимость с Pandas, Polars, DuckDB, PyArrow и PyTorch.

Сценарии использования

  • Создание поисковых систем или feature store, объединяющих векторный поиск, поиск по ключевым словам и SQL-фильтры.
  • Обучение ML-моделей на больших объёмах данных, где нужна быстрая случайная выборка изображений или видео.
  • Управление эмбеддингами и мультимодальными данными в lakehouse-системе на базе объектного хранилища.
  • Добавление вычисляемых признаков в существующий набор данных без его полной перезаписи.

Быстрый старт

  1. 1

    Установите пакет Python pylance

    pip install pylance
  2. 2

    Преобразуйте набор данных Parquet в Lance и прочитайте его обратно в Python

Что важно знать

  • Lance часто выпускает новые версии, поэтому зафиксируйте data_storage_version, чтобы обеспечить детерминированную запись при использовании разных версий Lance.
  • Псевдоним формата файла 'next' нестабилен и не должен использоваться для production-данных.

В подборках

Темы

Частые вопросы

Что такое lance?
Открытый формат таблиц и файлов для lakehouse-систем с мультимодальными AI-данными, векторным и полнотекстовым поиском и быстрым произвольным доступом к данным в объектном хранилище. Lance — это спецификация файлового формата, формата таблиц и каталога для построения lakehouse-систем на базе объектного хранилища для AI-нагрузок. В одном формате можно хранить изображения, видео, аудио, текст и эмбеддинги; для мультимодальных данных предусмотрены кодирование блобов и отложенная загрузка.
lance можно использовать бесплатно? Какая у него лицензия?
lance распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
lance всё ещё поддерживается?
Активно поддерживается. Последний коммит в lance — 7 нояб. 2026 г..
Для чего можно использовать lance?
Создание поисковых систем или feature store, объединяющих векторный поиск, поиск по ключевым словам и SQL-фильтры. Обучение ML-моделей на больших объёмах данных, где нужна быстрая случайная выборка изображений или видео. Управление эмбеддингами и мультимодальными данными в lakehouse-системе на базе объектного хранилища. Добавление вычисляемых признаков в существующий набор данных без его полной перезаписи.
Как установить lance?
Установите пакет Python pylance: pip install pylance Преобразуйте набор данных Parquet в Lance и прочитайте его обратно в Python
Где скачать lance?
Исходный код и инструкции по установке — на GitHub: https://github.com/lance-format/lance

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Пайплайн эмбеддингов на Rust: обрабатывает текст, PDF, изображения, аудио и сайты, создаёт векторы локально или с помощью облачных моделей и передаёт их в векторные базы данных.

1,3 тыс.+1 за неделю140RustApache-2.0Обновлён 12 дней назад

Декларативный фреймворк для глубокого обучения: обучение, дообучение и развертывание LLM, мультимодальных и табличных моделей через YAML-конфигурации.

11,8 тыс.+2 за неделю1,2 тыс.PythonApache-2.0Активно поддерживаетсяОбновлён 5 дней назад

Реализация GeoCLIP на PyTorch: модель в стиле CLIP, которая сопоставляет изображения с GPS-координатами для геолокализации фотографий по всему миру.

ИИ и машинное обучение#geolocalization#pytorch#contrastive-learning
417+2 за неделю52PythonMITАктивно поддерживаетсяОбновлён 13 дней назад