Пайплайн эмбеддингов на Rust: обрабатывает текст, PDF, изображения, аудио и сайты, создаёт векторы локально или с помощью облачных моделей и передаёт их в векторные базы данных.
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
Установите пакет Python pylance
pip install pylance - 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 обновляется ежедневно.
Похожие проекты
Python-бэкенд, где мультимодальные данные, вычисляемые столбцы, векторные индексы и HTTP-маршруты объявляются в одном файле.
Библиотека DataFrame для Python: позволяет лениво исследовать и визуализировать табличные наборы данных с миллиардами строк, не загружая их целиком в память.
CLI-инструмент для выполнения SQL-запросов к базам данных через ADBC-драйверы с интерактивной оболочкой и экспортом в файлы.
Декларативный фреймворк для глубокого обучения: обучение, дообучение и развертывание LLM, мультимодальных и табличных моделей через YAML-конфигурации.
Реализация GeoCLIP на PyTorch: модель в стиле CLIP, которая сопоставляет изображения с GPS-координатами для геолокализации фотографий по всему миру.