lance-format/lance:從 README 釐清功能入口、限制與導入條件
多模式 AI 的開放 Lakehouse 格式。只需 2 行程式碼即可從 Parquet 進行轉換,以實現速度提高 100 倍的隨機存取、向量索引和資料版本控制。與 Pandas、DuckDB、Polars、Pyarrow 和 PyTorch 相容,即將推出更多整合。
秒懂
- 它是什麼?
- Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..。本文依 lance-format/lance 官方 README 整理命令、資料流、版本和授權邊界。
- 適合誰用?
- lance 適合工作需求與 README 明確範圍相符,且能管理 lance-format/lance 的依賴、權限與外部服務的人員;不適合把文件未說明的效能、相容性或安全結果當成承諾。先用 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 建立最小案例,對照輸入、輸出、錯誤與版本,再決定是否納入正式流程。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 3 天前。
- 用什麼語言寫的?
- 主要是 Rust(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
lance:README 宣告的責任邊界
lance(lance-format/lance)的 README 將專案範圍寫成「Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..」。這一節從「README 宣告的責任邊界」切入,並把判斷限縮在 README 和倉庫資料可直接核對的內容。舊稿提到的 格式的組成 Lance 在 README 中被描述為面向多模態 AI 的開源湖倉格式。專案捆綁了三種規範:用於儲存資料的檔案格式、用於組織資料的表格式,以及用於管理資料的目錄規範,全部設計為在物件儲存之上執行。README 列出了三個目標工 只能作為線索,不能替代目前素材中的原文。README 片段:<div align="center"> <p align="center"> The Open Lakehouse Format for Multimodal AI<br/> High-performance vector search, full-text search, random access, and feature engineering capabilities for the lakehouse.<br/> Compatible with Pandas, DuckDB, Polars, PyArrow, Ray, Spark, and more integrations on the way. <a href="https://lance.org">Documentation</a> • <a href="https://lance.org/community">Community</a> • <a href="https://discord.gg/lance">Discord</a> • <a href="https://groups.google.com/a/lance.org/g/dev">Mailing List</a> [CI]: https://github.com/lance-format/lance/actions/workflows/rust.yml [CI Badge]: https://github.com/lance-format/lance/actions/workflows/rust.yml/badge.svg [Docs]: https://lance.org [Docs Badge]: https://img.shields.io/badge/docs-passing-brightgreen [crates.io]: https://crates.io/crates/lance [crates.io badge]: htt
lance-format-lance-deep-analysis-S1:對實際使用者而言,lance 的價值在於它把哪些輸入接到哪些輸出,以及哪些工作仍由外部服務、作業系統或開發者負責。文件列出的 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 應逐項對照;README 沒有說明的效能、相容性、權限預設值和支援承諾,本文不延伸成保證。這個界線對 lance-format/lance 很具體,因為同一個命令換到不同版本或平台後,依賴、憑證、資料格式和錯誤處理都可能改變。
lance-format-lance-deep-analysis-S1:第 1 節的核驗焦點是 lance 的 README 宣告的責任邊界:可在隔離環境執行 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 中與本節相關的入口,記下命令列、輸入檔、輸出檔、錯誤碼和 main 分支版本。若 lance 需要模型、網路、資料庫、GPU、SSH 或其他服務,應把該條件和產物一併記錄,觀察結果是否真的符合 README 的這一項描述。這不是把一次成功當成普遍結論,而是針對 lance 自身的輸入與輸出留下可追溯證據。
lance:第一個可執行入口
lance(lance-format/lance)的 README 將專案範圍寫成「Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..」。這一節從「第一個可執行入口」切入,並把判斷限縮在 README 和倉庫資料可直接核對的內容。舊稿提到的 作負載:建立具有混合搜尋能力的搜尋引擎與特徵儲存、需要高效能 IO 與隨機存取的大規模 ML 訓練,以及儲存和查詢多模態資料(如影像、影片、音訊、文字和嵌入向量)。倉庫的主要語言是 Rust,Python 和 Java 繫結在 README 只能作為線索,不能替代目前素材中的原文。README 片段:n versions] </p> </div> <hr /> Lance is an open lakehouse format for multimodal AI. It contains a file format, table format, and catalog spec that allows you to build a complete lakehouse on top of object storage to power your AI workflows. Lance is perfect for: 1. Building search engines and feature stores with hybrid search capabilities. 2. Large-scale ML training requiring high performance IO and random access. 3. Storing, querying, and managing multimodal data including images, videos, audio, text, and embeddings. The key features of Lance include: Expressive hybrid search: Combine vector similarity search, full-text search (BM25), and SQL analytics on the same dataset with accelerated secondary indices. Lightning-fast random access: 100x faster than Parquet or Iceberg for random access without sacrificing scan performance. Native mul
lance-format-lance-deep-analysis-S2:對實際使用者而言,lance 的價值在於它把哪些輸入接到哪些輸出,以及哪些工作仍由外部服務、作業系統或開發者負責。文件列出的 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 應逐項對照;README 沒有說明的效能、相容性、權限預設值和支援承諾,本文不延伸成保證。這個界線對 lance-format/lance 很具體,因為同一個命令換到不同版本或平台後,依賴、憑證、資料格式和錯誤處理都可能改變。
lance-format-lance-deep-analysis-S2:第 2 節的核驗焦點是 lance 的 第一個可執行入口:可在隔離環境執行 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 中與本節相關的入口,記下命令列、輸入檔、輸出檔、錯誤碼和 main 分支版本。若 lance 需要模型、網路、資料庫、GPU、SSH 或其他服務,應把該條件和產物一併記錄,觀察結果是否真的符合 README 的這一項描述。這不是把一次成功當成普遍結論,而是針對 lance 自身的輸入與輸出留下可追溯證據。
lance:資料流與核心元件
lance(lance-format/lance)的 README 將專案範圍寫成「Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..」。這一節從「資料流與核心元件」切入,並把判斷限縮在 README 和倉庫資料可直接核對的內容。舊稿提到的 後面部分介紹。 功能清單 README 中的功能清單涵蓋六個面向。混合搜尋將向量相似度搜尋、BM25 全文搜尋和 SQL 分析結合在同一資料集上,使用加速的次要索引。隨機存取被宣稱比 Parquet 或 Iceberg 快 100 倍,同 只能作為線索,不能替代目前素材中的原文。README 片段:ring. Zero-copy versioning: Automatic versioning with ACID transactions, time travel, tags, and branches,no extra infrastructure needed. Rich ecosystem integrations: Apache Arrow, Pandas, Polars, DuckDB, Apache Spark, Ray, Trino, Apache Flink, and open catalogs (Apache Polaris, Unity Catalog, Apache Gravitino). For more details, see the full [Lance format specification](https://lance.org/format). > [!TIP] > Lance is in active development and we welcome contributions. Please see our [contributing guide](https://lance.org/community/contributing/) for more information. ## File format stability Lance releases frequently because the SDKs, integrations, and performance work are moving quickly. This does not mean the Lance file format changes incompatibly in every release. The Lance file format is identified by the `datastorageversion` stored in
lance-format-lance-deep-analysis-S3:對實際使用者而言,lance 的價值在於它把哪些輸入接到哪些輸出,以及哪些工作仍由外部服務、作業系統或開發者負責。文件列出的 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 應逐項對照;README 沒有說明的效能、相容性、權限預設值和支援承諾,本文不延伸成保證。這個界線對 lance-format/lance 很具體,因為同一個命令換到不同版本或平台後,依賴、憑證、資料格式和錯誤處理都可能改變。
lance-format-lance-deep-analysis-S3:第 3 節的核驗焦點是 lance 的 資料流與核心元件:可在隔離環境執行 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 中與本節相關的入口,記下命令列、輸入檔、輸出檔、錯誤碼和 main 分支版本。若 lance 需要模型、網路、資料庫、GPU、SSH 或其他服務,應把該條件和產物一併記錄,觀察結果是否真的符合 README 的這一項描述。這不是把一次成功當成普遍結論,而是針對 lance 自身的輸入與輸出留下可追溯證據。
lance:整合和設定的實際限制
lance(lance-format/lance)的 README 將專案範圍寫成「Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..」。這一節從「整合和設定的實際限制」切入,並把判斷限縮在 README 和倉庫資料可直接核對的內容。舊稿提到的 時不犧牲掃描效能,但 README 在本節中沒有說明該比較的測試條件。多模態資料以 blob 形式儲存並支援惰性載入。資料演化允許你新增帶回填值的欄位而無需重寫整個表。版本控制是自動的、零拷貝的,使用 ACID 交易並支援時間旅行、標籤和分 只能作為線索,不能替代目前素材中的原文。README 片段:e format compatibility. SDK/API changes follow semantic versioning and are documented in the [migration guide](https://lance.org/guide/migration/). Older Lance releases may not understand file format versions introduced later. If you run mixed Lance versions, pin `datastorageversion` for deterministic writes. The `next` file format alias is unstable and should only be used for experimentation, never for production data. For production, write data with a stable `datastorageversion`. See the [format versioning guide](https://lance.org/format/file/versioning/) for the current compatibility matrix. ## Quick Start Installation ```shell pip install pylance ``` To install a preview release: ```shell pip install --pre --extra-index-url https://pypi.fury.io/lance-format pylance ``` > [!TIP] > Preview releases are released more often than full rele
lance-format-lance-deep-analysis-S4:對實際使用者而言,lance 的價值在於它把哪些輸入接到哪些輸出,以及哪些工作仍由外部服務、作業系統或開發者負責。文件列出的 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 應逐項對照;README 沒有說明的效能、相容性、權限預設值和支援承諾,本文不延伸成保證。這個界線對 lance-format/lance 很具體,因為同一個命令換到不同版本或平台後,依賴、憑證、資料格式和錯誤處理都可能改變。
lance-format-lance-deep-analysis-S4:第 4 節的核驗焦點是 lance 的 整合和設定的實際限制:可在隔離環境執行 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 中與本節相關的入口,記下命令列、輸入檔、輸出檔、錯誤碼和 main 分支版本。若 lance 需要模型、網路、資料庫、GPU、SSH 或其他服務,應把該條件和產物一併記錄,觀察結果是否真的符合 README 的這一項描述。這不是把一次成功當成普遍結論,而是針對 lance 自身的輸入與輸出留下可追溯證據。
lance:版本與維護訊號
lance(lance-format/lance)的 README 將專案範圍寫成「Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..」。這一節從「版本與維護訊號」切入,並把判斷限縮在 README 和倉庫資料可直接核對的內容。舊稿提到的 支。README 還列出了與 Apache Arrow、Pandas、Polars、DuckDB、Apache Spark、Ray、Trino、Apache Flink 以及包括 Apache Polaris、Unity Catalog 和 只能作為線索,不能替代目前素材中的原文。README 片段:ease. Converting to Lance ```python import lance import pandas as pd import pyarrow as pa import pyarrow.dataset df = pd.DataFrame({"a": [5], "b": [10]}) uri = "/tmp/test.parquet" tbl = pa.Table.frompandas(df) pa.dataset.writedataset(tbl, uri, format='parquet') parquet = pa.dataset.dataset(uri, format='parquet') lance.writedataset(parquet, "/tmp/test.lance") ``` Reading Lance data ```python dataset = lance.dataset("/tmp/test.lance") assert isinstance(dataset, pa.dataset.Dataset) ``` Pandas ```python df = dataset.totable().topandas() df ``` DuckDB ```python import duckdb # If this segfaults, make sure you have duckdb v0.7+ installed duckdb.query("SELECT FROM dataset LIMIT 10").todf() ``` Vector search Download the sift1m subset ```shell wget ftp://ftp.irisa.fr/local/texmex/corpus/sift.tar.gz tar -xzf sift.tar.gz ``` Convert it to Lance ```
lance-format-lance-deep-analysis-S5:對實際使用者而言,lance 的價值在於它把哪些輸入接到哪些輸出,以及哪些工作仍由外部服務、作業系統或開發者負責。文件列出的 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 應逐項對照;README 沒有說明的效能、相容性、權限預設值和支援承諾,本文不延伸成保證。這個界線對 lance-format/lance 很具體,因為同一個命令換到不同版本或平台後,依賴、憑證、資料格式和錯誤處理都可能改變。
lance-format-lance-deep-analysis-S5:第 5 節的核驗焦點是 lance 的 版本與維護訊號:可在隔離環境執行 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 中與本節相關的入口,記下命令列、輸入檔、輸出檔、錯誤碼和 main 分支版本。若 lance 需要模型、網路、資料庫、GPU、SSH 或其他服務,應把該條件和產物一併記錄,觀察結果是否真的符合 README 的這一項描述。這不是把一次成功當成普遍結論,而是針對 lance 自身的輸入與輸出留下可追溯證據。
lance:專案化核驗路徑
lance(lance-format/lance)的 README 將專案範圍寫成「Open Lakehouse Format for Multimodal AI. Convert from Parquet in 2 lines of code for 100x faster random access, vector index, and data versioning. Compatible with Pandas, DuckDB, Polars, Pyarrow, and PyTorch with more integrations coming..」。這一節從「專案化核驗路徑」切入,並把判斷限縮在 README 和倉庫資料可直接核對的內容。舊稿提到的 Apache Gravitino 在內的開放目錄的生態整合。 儲存版本相容性 README 直接討論了檔案格式穩定性。每個資料集儲存一個 datastorageversion,穩定儲存版本被描述為長期相容性契約:一旦資料集以穩定版本寫 只能作為線索,不能替代目前素材中的原文。README 片段:e((nvecs, ndims)) dd = dict(zip(range(nvecs), data)) table = vectotable(dd) uri = "vecdata.lance" sift1m = lance.writedataset(table, uri, maxrowspergroup=8192, maxrowsperfile=10241024) ``` Build the index ```python sift1m.createindex("vector", indextype="IVFPQ", numpartitions=256, # IVF numsubvectors=16) # PQ ``` Search the dataset ```python # Get top 10 similar vectors import duckdb dataset = lance.dataset(uri) # Sample 100 query vectors. If this segfaults, make sure you have duckdb v0.7+ installed sample = duckdb.query("SELECT vector FROM dataset USING SAMPLE 100").todf() queryvectors = np.array([np.array(x) for x in sample.vector]) # Get nearest neighbors for all of them rs = [dataset.totable(nearest={"column": "vector", "k": 10, "q": q}) for q in queryvectors] ``` ## Directory structure | Directory | Description | |-------------------
lance-format-lance-deep-analysis-S6:對實際使用者而言,lance 的價值在於它把哪些輸入接到哪些輸出,以及哪些工作仍由外部服務、作業系統或開發者負責。文件列出的 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 應逐項對照;README 沒有說明的效能、相容性、權限預設值和支援承諾,本文不延伸成保證。這個界線對 lance-format/lance 很具體,因為同一個命令換到不同版本或平台後,依賴、憑證、資料格式和錯誤處理都可能改變。
lance-format-lance-deep-analysis-S6:第 6 節的核驗焦點是 lance 的 專案化核驗路徑:可在隔離環境執行 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 中與本節相關的入口,記下命令列、輸入檔、輸出檔、錯誤碼和 main 分支版本。若 lance 需要模型、網路、資料庫、GPU、SSH 或其他服務,應把該條件和產物一併記錄,觀察結果是否真的符合 README 的這一項描述。這不是把一次成功當成普遍結論,而是針對 lance 自身的輸入與輸出留下可追溯證據。
編輯結論
lance 適合工作需求與 README 明確範圍相符,且能管理 lance-format/lance 的依賴、權限與外部服務的人員;不適合把文件未說明的效能、相容性或安全結果當成承諾。先用 https://lance.org">Documentation</a>;https://lance.org/community">Community</a>;https://discord.gg/lance">Discord</a>;https://groups.google.com/a/lance.org/g/dev">Mailing;https://github.com/lance-format/lance/actions/workflows/rust.yml 建立最小案例,對照輸入、輸出、錯誤與版本,再決定是否納入正式流程。
社群筆記