Rust製の埋め込みパイプライン。テキスト、PDF、画像、音声、Webサイトを取り込み、ローカルまたはクラウドモデルで埋め込みを生成し、ベクトルデータベースにストリーミングします。
lance-format/lance
マルチモーダルAI向けのオープンなレイクハウステーブル/ファイル形式。オブジェクトストレージ上でベクトル検索、全文検索、高速なランダムアクセスを実現します。
- スター
- 7,266
- フォーク
- 926
- 未解決の Issue
- 1,197
- 最終コミット
- 5 時間前
これは何?
Lanceは、AIワークロード向けにオブジェクトストレージ上でレイクハウスを構築するためのファイル形式、テーブル形式、カタログ仕様です。画像、動画、音声、テキスト、埋め込みを単一の形式で格納でき、マルチモーダルデータ向けのblobエンコーディングと遅延読み込みに対応しています。
従来のParquetベースのレイクハウスが苦手とする、類似検索、MLトレーニング用のランダムサンプリング、テーブル全体を書き換えずに過去分の値を補完した特徴量カラムを追加する処理などを想定しています。ベクトルインデックス、BM25全文検索、同じデータセットに対するSQL分析に加え、タイムトラベル、タグ、ブランチに対応した自動バージョニングをサポートします。
数行のPythonコードでParquetから書き込めるほか、Pandas、Polars、DuckDB、PyArrow、PyTorchから読み込めます。Ray、Spark、Trino、Flinkとの連携も挙げられており、コアはRustで実装され、PythonおよびJavaのバインディングを備えています。
主な機能
- 01IVF_PQインデックスによるベクトル類似検索に加え、全文検索(BM25)やSQLクエリに対応します。
- 02プロジェクトのベンチマークでは、バッチ検索時のランダムアクセスがParquetより最大100倍高速です。
- 03画像、動画、音声、テキスト、埋め込みを単一の形式で格納し、blobの遅延読み込みに対応します。
- 04テーブル全体を書き換えずに、過去分の値を補完したカラムを追加できます。
- 05ACIDトランザクション、タイムトラベル、タグ、ブランチに対応した自動バージョニングを提供します。
- 06Pandas、Polars、DuckDB、PyArrow、PyTorchで利用できます。
ユースケース
- ベクトル検索、キーワード検索、SQLフィルターを組み合わせた検索エンジンや特徴量ストアの構築。
- 画像または動画データセットに対する高速なランダムサンプリングが必要な、大規模MLトレーニング。
- オブジェクトストレージ上のレイクハウスで、埋め込みとマルチモーダルアセットを管理。
- データセット全体を書き換えずに、既存データセットへ加工済み特徴量を追加。
クイックスタート
- 1
Python パッケージ pylance をインストールする
pip install pylance - 2
Parquet データセットを Lance に変換し、Python で読み戻す
使う前に知っておきたいこと
- Lance は頻繁にリリースされるため、異なる Lance バージョン間で書き込み結果を決定的にするには data_storage_version を固定してください。
- 「next」ファイル形式エイリアスは不安定なため、本番データには使用しないでください。
収録されている特集
トピック
よくある質問
- lance とは?
- マルチモーダルAI向けのオープンなレイクハウステーブル/ファイル形式。オブジェクトストレージ上でベクトル検索、全文検索、高速なランダムアクセスを実現します。 Lanceは、AIワークロード向けにオブジェクトストレージ上でレイクハウスを構築するためのファイル形式、テーブル形式、カタログ仕様です。画像、動画、音声、テキスト、埋め込みを単一の形式で格納でき、マルチモーダルデータ向けのblobエンコーディングと遅延読み込みに対応しています。
- lance は無料で使えますか?ライセンスは?
- lance は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lance は今もメンテナンスされていますか?
- 活発にメンテナンス中。lance の最終コミットは 2026年11月7日 です。
- lance は何に使えますか?
- ベクトル検索、キーワード検索、SQLフィルターを組み合わせた検索エンジンや特徴量ストアの構築。 画像または動画データセットに対する高速なランダムサンプリングが必要な、大規模MLトレーニング。 オブジェクトストレージ上のレイクハウスで、埋め込みとマルチモーダルアセットを管理。 データセット全体を書き換えずに、既存データセットへ加工済み特徴量を追加。
- lance のインストール方法は?
- Python パッケージ pylance をインストールする: pip install pylance Parquet データセットを Lance に変換し、Python で読み戻す
- lance はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/lance-format/lance
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
マルチモーダルデータ、計算列、ベクトルインデックス、HTTPルートを1つのファイルで定義できるPythonバックエンド。
データをメモリにすべて読み込まずに、数十億行の表形式データを遅延評価で探索・可視化できるPython用DataFrameライブラリ。
ADBCドライバー経由でデータベースにSQLクエリを実行できる、対話型シェルとファイル出力に対応したコマンドラインツール。
YAML設定からLLM、マルチモーダルモデル、表形式データモデルを学習・ファインチューニング・デプロイできる宣言型深層学習フレームワーク。
画像とGPS座標を対応付け、世界規模の画像ジオローカライゼーションを行う、GeoCLIPのPyTorch実装です。