Snapshot 250146

Document
Data processing addendum
URL
https://www.lancedb.com/blog/fluss-integration
Fetched
HTTP status
200
Content type
text/html; charset=utf-8
Fetch mode
static
Size
368924 bytes
SHA-256 (raw)
1fa03815753772a2d746d5080a8e5c2c9d48b47915633e2a93c60d83f6c64ca3
SHA-256 (normalized text)
03ea884bb348d49c011a66085ec0a2d90b566d336bb6180d3d25971099a220d5

Normalized text

Scripts and page chrome removed; this is what change detection compares.

From the Reverie 2026 stage to your screen. Recordings coming soon.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Searching in Blog Posts
Augmetec helps investigators find critical evidence faster with LanceDB Enterprise
LEIAA, Augmetec's investigation platform, combines semantic search, precise filtering, and document-level ranking to help investigation teams work more efficiently, preserve context, and pursue better lines of inquiry.
🤖 LeRobot Trains on Lance, 🦾 Mining Robot Fleet Data Demo, 🔍 Vector Search at 10B Scale
LeRobot trains directly from Lance datasets in object storage, a hybrid scan mines robot fleet data for edge cases, and distributed search reaches 1,066 QPS across 10B vectors, plus upcoming events, enterprise updates, and community contributions.
How Jev Compares to Other Rerankers
See how Jev performs in a benchmark of 19 reranker configurations across five datasets, covering accuracy, latency, and prompt-driven relevance for LanceDB search.
Giving Back to the Open Source We Build On
LanceDB adds ASOF join support to Apache DataFusion, improving time-series joins while giving back to the open source projects we rely on.
From 10 Million to 10 Billion: Vector Search Built to Grow
LanceDB lets you tune search precision at query time, balance memory and disk caching, and keep new data searchable as your table grows.
A Practical LLM Pretraining Pipeline with LanceDB
Training a GPT-2-like model from raw text in 25 minutes with LanceDB, using one table for curation, tokenization, shuffling, packing, training, and analysis.
🎤 Reverie, Nov 5, ⚡ ML Data Loading Performance Guide, 🧠 CrewAI Cognitive Memory on LanceDB
Reverie launches as LanceDB's summit for AI builders, GPU training bottlenecks traced to CPU-side transforms, and CrewAI unifies cognitive memory on LanceDB, plus upcoming events, enterprise updates, and community updates.
Turning Fleet Data Into Better Models: The Data Mining Challenge in Physical AI
The next bottleneck in robotics and autonomous systems is turning fleet experience into the right training data.
Feature Engineering for Multimodal Data: From Laptop to Cluster with LanceDB
Run a multimodal feature-engineering pipeline in ten minutes with geneva-examples, then rebuild its CLIP embedding step with LanceDB's feature engineering API, the same calls you'd use to enrich your own tables on LanceDB Enterprise.
Announcing Reverie Summit: What AI’s Next Breakthroughs Are Made On
One day with the researchers and engineers building generative video, world models, physical AI, and the data systems beneath them.
⚡ Multi-Bit RaBitQ Without Refine, 🌋 Bytedance’s Lance-Based AI Stack, 🤖 Lance for Embodied AI Data
Multi-bit RaBitQ hits 96% recall without refine overhead, Volcano Engine cuts training pipelines from 7 days to 1, Lance powers 100 Hz robotics data ingestion, plus upcoming events, enterprise updates, community updates.
Why CrewAI Rebuilt Agent Memory on LanceDB, Powering 2B+ Agent Executions
CrewAI replaced a two-system memory stack with LanceDB, then rebuilt agent memory to resolve contradictions and gate recall on confidence. It now ships by default across 12 million monthly downloads and 2B+ agent executions.
Data Loading for AI/ML: A Comprehensive Guide
A deep dive into data loading for model training — the three pipeline stages, parallelism strategies, shuffling, caching, resumability, and how LanceDB's StreamingDataset fits in.
How ByteDance’s Volcano Engine Rebuilt Its AI Stack on Lance, From Data Lake to Agent Memory at 100K+ QPS
Volcano Engine rebuilt its AI data stack on Lance, cutting a seven-day pipeline to one day and powering agent memory with LanceDB at 100K+ QPS.
Make Handwritten Notes Searchable: Optimizing an OCR Pipeline with LanceDB
Learn how to build an OCR pipeline for handwritten medical notes using DSPy, GEPA, and LanceDB to manage images, labels, outputs, metrics, and retrieval.
Rebuilding the Data Foundation for Embodied AI with Lance: From Long Videos to Random-Access-Friendly Multimodal Samples
Lance turns long robotics videos into random-access multimodal training data with 1.7–6× faster reads and 42% lower storage use.
RaBitQ Gets Faster: Higher Recall, Lower Latency, Query-Time Control
How LanceDB's latest IVF_RQ improvements raise recall, cut p99 latency, and let teams tune vector search at query time with approx_mode.
📊 Lance vs Delta vs Iceberg, 🔗 Lance Blob V2 Late Materialization, 🤖 Stable-Worldmodel Research Platform
Benchmark Lance vs Delta vs Iceberg on S3 metadata performance, update blob rows without reading bytes, and train world models directly from object storage, plus upcoming events and enterprise and community updates.
From Messy PDFs to Verifiable Answers with LiteParse and LanceDB
Turn information-rich PDFs into a local, inspectable, searchable evidence store with LlamaIndex's LiteParse library and LanceDB.
Faster VLM Fine-Tuning With Materialized Model Features in LanceDB
How Lance format and LanceDB's Enterprise feature engineering platform make VLM fine-tuning faster by materializing expensive multimodal features once and training from those columns.
Lance Blob V2: Late Materialization for Large Binary Data in Spark
How late materialization in Lance Spark keeps large binary data as lightweight references through query plans, materializing bytes only on write.
Semantic Memory for Hermes Agent with LanceDB
Introducing a new LanceDB-backed memory plugin that gives Hermes Agent durable, semantic recall across sessions, with benchmarks and a hands-on remember/recall/forget walkthrough.
A Metadata Benchmark of Lance, Delta Lake, and Iceberg on S3
A Rust benchmark comparison of Lance, Delta Lake, and Apache Iceberg on S3 and S3 Express, and why Lance is optimized for object storage metadata.
Scalable Feature Engineering on Multimodal Datasets
How LanceDB uses the Lance format's flexible data evolution features to enable scalable feature engineering for multimodal datasets.
Stable-Worldmodel: A High Performance Platform for Reproducible World Model Research
Introducing stable-worldmodel, an open-source platform for reproducible world model research, evaluation, and benchmarking under visual and physical distribution shifts.
Reproducible Data Curation In The Multimodal Lakehouse
Learn how LanceDB turns raw multimodal data into reproducible, training-ready datasets with search, filtering, deduplication, sampling, and versioned curation workflows.
🌍 Lance-Backed World Model Platform, 🦆 Multimodal SQL with Lance DuckDB Extension, 💰 LanceDB vs OpenSearch Cost Breakdown
stable-worldmodel standardizes world model pipelines on Lance, DuckDB Lance extension adds native multimodal SQL, and LanceDB benchmarks 100M vectors at ~$779/month, plus upcoming events, enterprise updates, and community updates.
⚡Vector Search at 10B Scale, 📊 Lance Format Benchmarks, 🚗 AV Pipelines at Scale
Distributed vector search at 10B scale, more efficient storage with Lance format v2.2, and production AV pipelines simplified, plus upcoming events and community updates.
How LanceDB Accelerates Vector Search at 10 Billion Scale
How LanceDB applies distributed indexing, distributed query execution, HNSW centroid routing, and fast RaBitQ rotation to scale search to 10B vectors and beyond.
OpenSearch vs LanceDB for Vector Search: Query Cost and Infrastructure
Choosing a vector database usually comes down to a tradeoff between a full search service and an in-process library. This post showcases benchmarks that compare OpenSearch and LanceDB on the COCO 2017 images embedded with SigLIP. We measure ingestion throughput, query cost, storage layout, and overall infra cost.
Volcano Engine LAS's Lance-Based PB-Scale Autonomous Driving Data Lake Solution
How Bytedance Volcano Engine LAS (Lake for AI Service) leverages Lance as the core storage format, rapidly constructing a next-gen AI data lake to efficiently store, manage, and process multimodal data (text, images, audio/video).
Unifying the AV ML Stack: From Raw Data to Trained Model with LanceDB
A complete walkthrough of building an autonomous vehicle perception model training pipeline on top of LanceDB and the Multimodal Lakehouse.
Lance JSON Support: Why You Might Not Really Need Variant
Lance's JSONB storage, scalar indexing, data evolution, and full-text search already deliver what most users want from Variant — with explicit control, schema consistency, and no vendor lock-in.
Building A Storage Format For The Next Era of Biology
How Lance can serve as the foundation for AI on single-cell genomics atlases and a new generation for modeling in biology.
📄 Lance Blob V2, 🤗 Upload Lance Datasets to HF Hub, 🦞 LanceDB for OpenClaw's Memory
Lance Blob V2 introduces adaptive storage semantics, easily upload Lance datasets to Hugging Face Hub, and OpenClaw establishes LanceDB as a default memory layer for agents, plus community and enterprise updates.
Smart Parsing Meets Sharp Retrieval: Combining LiteParse and LanceDB
Build a structure-aware PDF QA agent with LiteParse, LanceDB, and Claude to answer complex questions over visually rich documents.
Lance Format v2.2 Benchmarks: Half the Storage, None of the Slowdown
Benchmarks that show how Lance format v2.2 cuts storage by 50%+, beats Parquet on compression, and delivers up to 68x faster blob reads — while preserving the scan and random access patterns that multimodal training depends on.
Make your SQL Workflows Multimodal With LanceDB × DuckDB
A hands-on walkthrough showing how LanceDB and DuckDB work together to query multimodal data in SQL, join against multiple tables, and materialize results back into LanceDB.
Agentic Coding as Community Stewardship
Agentic coding lets upstream maintainers turn ecosystem-wide mechanical updates into fast, contextual, low-friction contributions for downstream users.
One System, Many Workloads: Rethinking What "Multimodal" Means for AI
A practical definition of multimodal complexity, and how LanceDB’s Multimodal Lakehouse is built to address these challenges.
The Future of AI-Native Development is Local: Inside Continue's LanceDB-Powered Evolution
Discover how Continue revolutionized AI-native development with LanceDB's embedded TypeScript library, enabling lightning-fast semantic code search while maintaining complete developer privacy and offline capability.
Lance File Format 2.2: Taming Complex Data
Lance file format 2.2 introduces Blob V2, nested schema evolution, native Map type support, and additional compression and performance improvements for AI/ML data workloads.
Lance Blob V2: Making Multimodal Data a First-Class Citizen in the Lakehouse
How we redesigned blob storage in Lance to make multimodal data a first-class citizen, with four storage semantics (Inline, Packed, Dedicated, External) that automatically adapt to your workload.
Why LanceDB Is the Most Natural Memory Layer for OpenClaw
OpenClaw and similar personal autonomous agents need a local-first long-term memory layer. LanceDB fits that role with embedded deployment, filesystem-native storage, and multimodal retrieval.
OpenClaw + LanceDB + Seed 2.0: Turn Visual Ideas into Reality, Fast!
OpenClaw and similar personal autonomous agents need a local-first long-term memory layer. LanceDB fits that role with embedded deployment, filesystem-native storage, and multimodal retrieval.
Memory for OpenClaw: From Zero to LanceDB Pro
Benchmarking three OpenClaw memory plugins on the LOCOMO dataset
A Guide to Uploading Lance Datasets on the Hugging Face Hub
Build a multimodal Lance dataset, publish it to the Hub, and query the precomputed vector + FTS indexes in LanceDB, without needing to download the dataset locally.
Zero Shot Image Classification with Vector Search
Get about zero shot image classification with vector search. Get practical steps, examples, and best practices you can use now.
WeRide's Data Platform Transformation: How LanceDB Fuels Model Development Velocity
Discover how WeRide, a leading autonomous driving company, leveraged LanceDB to revolutionize their data platform, achieving 90x improvement in ML developer productivity and reducing data mining time from 1 week to 1 hour.
Training a Variational AutoEncoder from Scratch with Lance File Format
Train a Variational Autoencoder end‑to‑end using Lance for fast, scalable data handling. You’ll set up the dataset, build the VAE in PyTorch, and run training, sampling, and reconstructions.
Track AI Trends: CrewAI Agents & RAG
This article will teach us how to make an AI Trends Searcher using CrewAI Agents and their Tasks. But before diving into that, let's first understand what CrewAI is and how we can use it for these applications.
Tokens per Second Is NOT All You Need
Explore about tokens per second is not all you need. Get practical steps, examples, and best practices you can use now.
The Future of Open Source Table Formats: Apache Iceberg and Lance
Explore the future of open source table formats: apache iceberg and lance with practical insights and expert guidance from the LanceDB team.
The Case for Random Access I/O
One of the reasons we started the Lance file format and have been investigating new encodings is because we wanted a format with better support for random access.
LanceDB Raises $30M Series A to Build the Multimodal Lakehouse
We have closed another funding round to accelerate development of the Multimodal Lakehouse - a unified platform for AI data infrastructure.
SemanticDotArt: Rethinking Art Discovery with LanceDB
SemanticDotArt turns art discovery into a multimodal search experience, matching feelings, phrases, and images with LanceDB's hybrid retrieval.
Second Dinner's Secret Weapon: LanceDB-Powered RAG for Faster, Smarter Game Development
Discover how Second Dinner, creators of Marvel Snap, leveraged LanceDB Cloud to transform game development workflows, reducing prototyping time from months to hours and automating QA test generation with 81% better results.
Search Within an Image with Segment Anything
Get about search within an image with segment anything. Get practical steps, examples, and best practices you can use now.
Scalable Computer Vision with LanceDB & Voxel51
Explore about scalable computer vision with lancedb & voxel51. Get practical steps, examples, and best practices you can use now.
Rethinking Table File Paths with Uber: Lance’s Multi-Base Layout
A tour of Lance's file path design, and how Lance’s new multi-base layout enables multi-location datasets (such as Uber’s multi-bucket setup) with minimal metadata rewrites.
RAG Isn't One-Size-Fits-All: Here's How to Tune It for Your Use Case
Great RAG comes from a tight iteration loop. Learn how to systematically improve each layer of your RAG system using Kiln and LanceDB.
Python Package to convert image datasets to Lance type
Explore python package to convert image datasets to lance type with practical insights and expert guidance from the LanceDB team.
The Quest for One Million IOPS: Benchmarking Storage at LanceDB
Learn how LanceDB benchmarks storage and how we achieved one million disk reads per second.
November Feature Roundup
Explore November feature roundup with practical insights and expert guidance from the LanceDB team.
🛡️ Newly Knighted Lancelot, ▶️ TwelveLabs Semantic Video Recommendations, 🧠 Cognee's AI Memory Layer with LanceDB
Our September newsletter welcomes new Lancelot members, highlights TwelveLabs semantic video recommendations, Cognee’s AI memory layer, and shares the latest product and community updates.
🎨 Semantic.Art, 💾 Stable Lance 2.1, 🎥 Ray+LanceDB powers Netflix
Our October newsletter highlights Semantic.Art, Lance File 2.1, RaBitQ Quantization, upcoming events, latest product and community updates.
🛡️Lance Community Governance, Lance + Iceberg 🧊, Netflix’s Multimodal Search Demo 🔍
Our November newsletter highlights Lance community governance, a deep dive on Lance and Iceberg, a demo of Netflix's multimodal search, previous talk recordings, and the latest product and community updates.
June 2025: $30M Series A, Multimodal Lakehouse Launch & Product Updates
LanceDB's June 2025 newsletter covering latest company news, product updates, open source releases, and community highlights.
⚖️ Harvey’s Enterprise-Grade RAG on LanceDB, 💼 Dosu Case Study, Minimax&LumaLabs❤️Lance-Ray
Our August newsletter features a new case study with Dosu, recaps from events with Harvey and Databricks, and the latest product and community updates.
🦆 Lance x DuckDB SQL Retrieval, 🚗 Uber-Scale Storage, ⚡ 1.5M IOPS
Kicking off 2026 with Lance-native SQL retrieval via DuckDB, Uber-scale multi-bucket storage, 1.5M IOPS benchmarks, and continued OSS momentum across the Lance ecosystem.
🤗 Lance x Hugging Face, 🪾Git-Style Branching, 🏔️ Geospatial in Lance
Native Lance support on Hugging Face Hub, Git-style branching and shallow clone for AI data, and Arrow-native geospatial with R-Tree indexing, plus steady OSS and community momentum.
💾 Lance SDK v1.0.0, 🗓️ 1st Lance Community Sync, 🔍 Wikisearch
Our December newsletter highlights Lance SDK v1.0.0, our upcoming Lance community sync, Wikisearch demo, and the latest product and community updates.
Netflix’s Media Data Lake ❤️ LanceDB, CodeRabbit 💼 Case Study, Lance Namespace
Our August newsletter highlights LanceDB powering Netflix's Media Data Lake, a case study on CodeRabbit's AI-powered code reviews, and updates on Lance Namespace and Spark integration.
My Summer Internship Experience at LanceDB
I'm Raunak, a master's student at the University of Illinois, Urbana-Champaign. This summer, I had the opportunity to intern as a Software Engineer at LanceDB, an early-stage startup based in San Francisco.
My SIMD Is Faster than Yours
An untold story about how we make LanceDB vector search fast. Get practical steps and examples from 'My SIMD is faster than Yours'.
Multimodal Myntra Fashion Search Engine Using LanceDB
Build a multimodal fashion search engine with LanceDB and CLIP embeddings. Follow a step‑by‑step workflow to register embeddings, create the table, query by text or image, and ship a Streamlit UI.
What is the LanceDB Multimodal Lakehouse?
Introducing the Multimodal Lakehouse - a unified platform for managing AI data from raw files to production-ready features, now part of LanceDB Enterprise.
Multi Document Agentic RAG: a Walkthrough
Unlock about multi document agentic rag: a walkthrough. Get practical steps, examples, and best practices you can use now.
Modified RAG: Parent Document & Bigger Chunk Retriever
Get about modified rag: parent document & bigger chunk retriever. Get practical steps, examples, and best practices you can use now.
MemGPT: OS Inspired LLMs That Manage Their Own Memory
Explore about memgpt: os inspired llms that manage their own memory. Get practical steps, examples, and best practices you can use now.
Late Interaction & Efficient Multi-modal Retrievers Need More Than a Vector Index
Explore late interaction & efficient multi-modal retrievers need more than a vector index with practical insights and expert guidance from the LanceDB team.
Developers, Ditch the Black Box: Welcome to Continue
Remember flipping through coding manuals? Those quickly became relics with the rise of Google and Stack Overflow, a one-stop shop for developer queries.
Lance × Hugging Face: A New Era of Sharing Multimodal Data on the Hub
Announcing native read support for Lance format on Hugging Face Hub. You can now distribute your large multimodal datasets as a single, searchable artifact (including blobs, embeddings and indexes) all in one place!
Lance × DuckDB: SQL for Retrieval on the Multimodal Lakehouse Format
Use the Lance format as your lakehouse layer for retrieval, RAG and more, with the native Lance extension for DuckDB
Lance, Windows. Windows, Lance
It was Spring of 2012. After being an avid user for 2+ years, I finally decided to join Wes Mckinney and work on pandas full time.
Lance v2: A New Columnar Container Format
Explore lance v2: a new columnar container format with practical insights and expert guidance from the LanceDB team.
Productionalize AI Workloads with Lance Namespace, LanceDB, and Ray
Learn how to productionalize AI workloads with Lance Namespace's enterprise stack integration and the scalability of LanceDB and Ray for end-to-end ML pipelines.
Lance File 2.1 is Now Stable
The 2.1 file version is now stable, learn what that means for you and what's coming next.
Lance File 2.1: Smaller and Simpler
Explore lance file 2.1: smaller and simpler with practical insights and expert guidance from the LanceDB team.
Introducing Lance Data Viewer: A Simple Way to Explore Lance Tables
A lightweight open source web UI for exploring Lance datasets, viewing schemas, and browsing table data with vector visualization support.
Building the Future Together: Introducing Lance Community Governance
Announcing the formal governance structure for the Lance community, establishing clear pathways for contribution and leadership with a three-tier system of contributors, maintainers and PMC.
Manage Lance Tables in Any Catalog using Lance Namespace and Spark
Access and manage your Lance tables in Hive, Glue, Unity Catalog, or any catalog service using Lance Namespace with the latest Lance Spark connector.
Implementing Corrective RAG in the Easiest Way
Even though text-generation models are good at generating content, they sometimes need to improve in returning facts. This happens because of the way they are trained.
Hybrid Search: RAG for Real-Life Production-Grade Applications
Get about hybrid search: rag for real-life production-grade applications. Get practical steps, examples, and best practices you can use now.
Hybrid Search: Combining BM25 and Semantic Search for Better Results with Langchain
Have you ever thought about how search engines find exactly what you're looking for? They usually use a mix of matching specific words and understanding the meaning behind them.
Hybrid Search and Custom Reranking with LanceDB
Combine keyword and vector search for higher‑quality results with LanceDB. This post shows how to run hybrid search and compare rerankers (linear combination, Cohere, ColBERT) with code and benchmarks.
Reduce Hallucinations from LLM-Powered Agents Using Long-Term Memory
Understand about reduce hallucinations from llm-powered agents using long-term memory. Get practical steps, examples, and best practices you can use now.
Implement Contextual Retrieval and Prompt Caching with LanceDB
Unlock about implement contextual retrieval and prompt caching with lancedb. Get practical steps, examples, and best practices you can use now.
RAG with GRPO Fine-Tuned Reasoning Model
Explore rag with grpo fine-tuned reasoning model with practical insights and expert guidance from the LanceDB team.
GraphRAG: Hierarchical Approach to Retrieval-Augmented Generation
Explore GraphRAG: hierarchical approach to retrieval-augmented-generation with practical insights and expert guidance from the LanceDB team.
GPU-Accelerated Indexing in LanceDB
This is some text inside of a div block.
Speed up vector index training in LanceDB with CUDA or Apple Silicon (MPS). See how GPU‑accelerated IVF/PQ training compares to CPU and how to enable it in code.
How We Added Geospatial Support To Lance With No New Code
This is some text inside of a div block.
How Lance's Arrow-native architecture enables first-class geospatial support through extension types, GeoDataFusion integration, and R-Tree indexing.
Building Semantic Video Recommendations with TwelveLabs and LanceDB
This is some text inside of a div block.
Build semantic video recommendations using TwelveLabs embeddings, LanceDB storage, and Geneva pipelines with Ray.
LanceDB's Geneva: Scalable Feature Engineering
This is some text inside of a div block.
Learn how to build scalable feature engineering pipelines with Geneva and LanceDB. This demo transforms image data into rich features including captions, embeddings, and metadata using distributed Ray clusters.
From BI to AI: A Modern Lakehouse Stack with Lance and Iceberg
This is some text inside of a div block.
A comparison of where Iceberg and Lance sit in the modern lakehouse stack. We highlight emerging architectures that are bridging the worlds of analytics and AI/ML workloads using these two formats, while being built on the same data foundation.
Setup Real-Time Multimodal AI Analytics with Apache Fluss (incubating) and Lance
This is some text inside of a div block.
Learn how to build real-time multimodal AI analytics by integrating Apache Fluss streaming storage with Lance's AI-optimized lakehouse. This guide demonstrates streaming multimodal data processing for RAG systems and ML workflows.
Columnar File Readers in Depth: Parallelism without Row Groups
This is some text inside of a div block.
Explore columnar file readers in depth: column shredding with practical insights and expert guidance from the LanceDB team.
LanceDB's RaBitQ Quantization for Blazing Fast Vector Search
This is some text inside of a div block.
Introducing RaBitQ quantization in LanceDB for higher compression, faster indexing, and better recall on high‑dimensional embeddings.
LanceDB WikiSearch: Native Full-Text Search on 41M Wikipedia Docs
This is some text inside of a div block.
No more Tantivy! We stress-tested native full-text search in our latest massive-scale search demo. Let's break down how it works and what we did to scale it.
Efficient RAG with Compression and Filtering
This is some text inside of a div block.
Discover about efficient rag with compression and filtering. Get practical steps, examples, and best practices you can use now.
Effortlessly Loading and Processing Images with Lance: a Code Walkthrough
This is some text inside of a div block.
Working with large image datasets in machine learning can be challenging, often requiring significant computational resources and efficient data-handling techniques.
Designing a Table Format for ML Workloads
This is some text inside of a div block.
Explore designing a table format for ML workloads with practical insights and expert guidance from the LanceDB team.
Custom Datasets for Efficient LLM Training Using Lance
This is some text inside of a div block.
See about custom datasets for efficient llm training using lance. Get practical steps, examples, and best practices you can use now.
Creating a FinTech AI Agent From Scratch
This is some text inside of a div block.
Explore fintech ai agent from scratch with practical insights and expert guidance from the LanceDB team.
Convert Any Image Dataset to Lance
This is some text inside of a div block.
In our article, we explored the remarkable capabilities of the Lance format, a modern, columnar data storage solution designed to revolutionize the way we work with large image datasets in machine learning.
Columnar File Readers in Depth: Structural Encoding
This is some text inside of a div block.
Deep dive into LanceDB's dual structural encoding approach - mini-block for small data types and full-zip for large multimodal data. Learn how this optimizes compression and random access performance compared to Parquet.
Columnar File Readers in Depth: Repetition & Definition Levels
This is some text inside of a div block.
Explore columnar file readers in depth: repetition & definition levels with practical insights and expert guidance from the LanceDB team.
Columnar File Readers in Depth: Compression Transparency
This is some text inside of a div block.
Explore columnar file readers in depth: compression transparency with practical insights and expert guidance from the LanceDB team.
Columnar File Readers in Depth: Column Shredding
This is some text inside of a div block.
Explore columnar file readers in depth: column shredding with practical insights and expert guidance from the LanceDB team.
Columnar File Readers in Depth: Backpressure
This is some text inside of a div block.
Streaming data applications can be tricky. When you can read data faster than you can process the data then bad things tend to happen. The various solutions to this problem are largely classified as backpressure.
Columnar File Readers in Depth: APIs and Fusion
This is some text inside of a div block.
The API used to read files has evolved over time, from simple full table reads to batch reads and eventually to iterative record batch readers. Lance takes this a step further to return a stream of read tasks.
Chunking Techniques with Langchain and LlamaIndex
This is some text inside of a div block.
In our last blog, we talked about chunking and why it is necessary for processing data through LLMs. We covered some simple techniques to perform text chunking.
Chunking Analysis: Which is the right chunking approach for your language?
This is some text inside of a div block.
Explore chunking analysis: which is the right chunking approach for your language? with practical insights and expert guidance from the LanceDB team.
Chat with Your Stats Using Langchain Dataframe Agent & LanceDB Hybrid Search
This is some text inside of a div block.
In this blog, we’ll explore how to build a chat application that interacts with CSV and Excel files using LanceDB’s hybrid search capabilities.
Netflix's Media Data Lake and the Rise of the Multimodal Lakehouse
This is some text inside of a div block.
How Netflix built a Media Data Lake powered by LanceDB and the Multimodal Lakehouse to unify petabytes of media assets for machine learning pipelines.
Case Study: Meet Dosu - the Intelligent Knowledge Base for Software Teams and Agents
This is some text inside of a div block.
How Dosu uses LanceDB to transform codebases into living knowledge bases with real-time search and versioning.
How Cognee Builds AI Memory Layers with LanceDB
This is some text inside of a div block.
How Cognee uses LanceDB to deliver durable, isolated, and low-ops AI memory from local development to managed production.
Case Study: How CodeRabbit Leverages LanceDB for AI-Powered Code Reviews
This is some text inside of a div block.
How CodeRabbit leverages LanceDB-powered context engineering turns every review into a quality breakthrough.
Building RAG on codebases: Part 2
This is some text inside of a div block.
Building a Cursor-like @codebase RAG solution. Part 2 focuses on the generating embeddings and the retrieval strategy using a combination of techniques in LanceDB.
Building RAG on codebases: Part 1
This is some text inside of a div block.
Building a Cursor-like @codebase RAG solution. Part 1 focuses on indexing techniques, chunking strategies, and generating embeddings in LanceDB.
Branching and Shallow Cloning in Lance: Towards a "Git for AI Data"
This is some text inside of a div block.
A deep dive into how table formats handle version management for ML/AI experimentation, and how Lance unifies branching, tagging, and shallow clone on top of its multi-base architecture.
Better RAG with Active Retrieval Augmented Generation FLARE
This is some text inside of a div block.
by Akash A. Get practical steps and examples from 'Better RAG with Active Retrieval Augmented Generation FLARE'.
Benchmarking Random Access in Lance
This is some text inside of a div block.
In this short blog post we’ll take you through some simple benchmarks to show the random access performance of Lance format. Get practical steps and examples from 'Benchmarking random access in Lance'.
Inverted File Product Quantization (IVF_PQ): Accelerate Vector Search by Creating Indices
This is some text inside of a div block.
Compress vectors with PQ and accelerate retrieval with IVF_PQ in LanceDB. The tutorial explains the concepts, memory savings, and a minimal implementation with search tuning knobs.
Benchmarking Cohere Rerankers with LanceDB
This is some text inside of a div block.
Improve retrieval quality by reranking LanceDB results with Cohere and ColBERT. You’ll plug rerankers into vector, FTS, and hybrid search and compare accuracy on real datasets.
AnythingLLM's Competitive Edge: LanceDB for Seamless RAG and Agent Workflows
This is some text inside of a div block.
Discover how AnythingLLM leveraged LanceDB's serverless architecture to eliminate vector database setup complexity, enabling seamless cross-platform RAG and agent workflows with zero configuration required.
Announcing Lance SDK 1.0.0: What This Milestone Means for the Community
This is some text inside of a div block.
We’re excited to announce that the core Rust SDK and the Python and Java binding SDKs are graduating to version 1.0.0, alongside a new, community-driven release strategy.
Agentic RAG Using LangGraph: Build an Autonomous Customer Support Agent
This is some text inside of a div block.
Build an autonomous customer support agent using LangGraph and LanceDB that automatically fetches, classifies, drafts, and responds to emails with RAG-powered policy retrieval.
Advanced RAG: Precise Zero-Shot Dense Retrieval with HyDE
This is some text inside of a div block.
In the world of search engines, the quest to find the most relevant information is a constant challenge. Researchers are always on the lookout for innovative ways to improve the effectiveness of search results.
Accelerate Vector Search Applications Using OpenVINO & LanceDB
This is some text inside of a div block.
We show how to use the CLIP from OpenAI for Text-to-Image and Image-to-Image searching. We’ll also do a comparative analysis of the PyTorch model, FP16 OpenVINO format, and INT8 OpenVINO format in terms of speedup.
A Primer on Text Chunking and Its Types
This is some text inside of a div block.
Text chunking is a technique in natural language processing that divides text into smaller segments, usually based on the parts of speech and grammatical meanings of the words.
A Practical Guide to Training Custom Rerankers
This is some text inside of a div block.
Explore a practical guide to training custom rerankers with practical insights and expert guidance from the LanceDB team.
A Practical Guide to Fine-Tuning Embedding Models
This is some text inside of a div block.
Explore a practical guide to fine-tuning embedding models with practical insights and expert guidance from the LanceDB team.
Keep Your Data Fresh with CocoIndex and LanceDB
This is some text inside of a div block.
Store a multimodal dataset of recipes in LanceDB, a multimodal lakehouse for AI, and keep it fresh with CocoIndex, a declarative data transformation framework for AI with incremental processing capabilities.
No results found in blog posts
table-formats-in-depth-what-is-a-table-format
Weston Pace
augmetec-finds-critical-evidence-faster
Augmetec
newsletter-september-2026
ChanChan Mao
how-jev-compares-to-other-rerankers
Taylor Smith
Ayush Chaurasia
giving-back-to-open-source
Xuanwo
Taylor Smith
10-billion-vector-search
Yang Cen
practical-llm-pretraining
Ayush Chaurasia
newsletter-august-2026
ChanChan Mao
data-mining-challenge-in-physical-ai
Lei Xu
feature-engineering-examples
Justin Miller
announcing-reverie-summit-2026
LanceDB
newsletter-july-2026
ChanChan Mao
crewai-rebuilt-agent-memory-on-lancedb
CrewAI
data-loading-guide
Weston Pace
volcano-engine-lance-agent-memory
Bytedance
make-handwritten-notes-searchable-optimizing-an-ocr-pipeline-with-lancedb
Prashanth Rao
china-merchants-lancedb-story
China Merchants Lion Rock AI Lab
rabitq-gets-faster-higher-recall-lower-latency-query-time-control
Yang Cen
newsletter-june-2026
ChanChan Mao
from-messy-pdfs-to-verifiable-answers-with-liteparse-and-lancedb
Prashanth Rao
Clelia Astra Bertelli
faster-vlm-fine-tuning-with-materialized-model-features-in-lancedb
Prashanth Rao
Ayush Chaurasia
lance-blob-v2-late-materialization-for-large-binary-data-in-spark
Drew Gallardo
semantic-memory-for-hermes-agent-with-lancedb
Prashanth Rao
a-metadata-benchmark-of-lance-delta-lake-and-iceberg-on-s3
Jack Ye
scalable-feature-engineering-on-multimodal-datasets
Prashanth Rao
stable-worldmodel-a-high-performance-platform-for-reproducible-world-model-research
Ayush Chaurasia
Quentin Lhoest
Lucas Maes
Quentin Le Lidec
reproducible-data-curation-in-the-multimodal-lakehouse
Prashanth Rao
newsletter-may-2026
ChanChan Mao
newsletter-april-2026
ChanChan Mao
how-lancedb-accelerates-vector-search-at-10-billion-scale
Yang Cen
opensearch-vs-lancedb-for-vector-search-query-cost-and-infrastructure
Justin Miller
volcano-engine-autonomous-driving-data-lake-solution
Kejian Ju
unifying-the-av-ml-stack-lancedb
Ayush Chaurasia
lance-json-support-why-you-might-not-really-need-variant
Jack Ye
building-a-storage-format-for-the-next-era-of-biology
Pavan Ramkumar
newsletter-march-2026
ChanChan Mao
smart-parsing-meets-sharp-retrieval-combining-liteparse-and-lancedb
Clelia Astra Bertelli
Prashanth Rao
lance-format-v2-2-benchmarks-half-the-storage-none-of-the-slowdown
Xuanwo
make-your-sql-workflows-multimodal-with-lancedb-x-duckdb
Prashanth Rao
agentic-coding-as-community-stewardship
Xuanwo
what-we-mean-by-multimodal
Prashanth Rao
ai-native-development-local-continue-lancedb
Ty Dunn
lance-file-format-2-2-taming-complex-data
Xuanwo
lance-blob-v2
Xuanwo
Jack Ye
openclaw-lancedb-memory-layer
Xuanwo
Prashanth Rao
openclaw-lancedb-seed2
LanceDB
openclaw-memory-from-zero-to-lancedb-pro
Prashanth Rao
upload-lance-datasets-to-hf-hub
Prashanth Rao
zero-shot-image-classification-with-vector-search
Vipul Maheshwari
werides-data-platform-transformation-how-lancedb-fuels-model-development-velocity
Qian Zhu
Fei Chen
training-a-variational-autoencoder-from-scratch-with-the-lance-file-format
LanceDB
track-ai-trends-crewai-agents-rag
LanceDB
tokens-per-second-is-not-all-you-need
Mingran Wang
Tan Li
the-future-of-open-source-table-formats-iceberg-and-lance
Jack Ye
the-case-for-random-access-i-o
LanceDB
series-a-funding
Chang She
semanticdotart
Ayush Chaurasia
second-dinners-secret-weapon-lancedb-powered-rag-for-faster-smarter-game-development
Qian Zhu
search-within-an-image-331b54e4285e
Kaushal Choudhary
scalable-computer-vision-with-lancedb-voxel51-d8b65066d5f6
LanceDB
rethinking-table-file-paths-lance-multi-base-layout
Jack Ye
rag-isnt-one-size-fits-all
Leonard Marcq
python-package-to-convert-image-datasets-to-lance-type
Vipul Maheshwari
one-million-iops
Weston Pace
november-feature-roundup
Will Jones
newsletter-september-2025
Jasmine Wang
newsletter-october-2025
Jasmine Wang
newsletter-november-2025
ChanChan Mao
newsletter-june-2025
David Myriel
newsletter-july-2025
Jasmine Wang
newsletter-january-2026
ChanChan Mao
newsletter-february-2026
ChanChan Mao
newsletter-december-2025
ChanChan Mao
newsletter-august-2025
Jasmine Wang
my-summer-internship-experience-at-lancedb-2
Raunak Sinha
my-simd-is-faster-than-yours-fb2989bf25e7
LanceDB
multimodal-myntra-fashion-search-engine-using-lancedb
LanceDB
multimodal-lakehouse
David Myriel
multi-document-agentic-rag-a-walkthrough
Vipul Maheshwari
modified-rag-parent-document-bigger-chunk-retriever-62b3d1e79bc6
Mahesh Deshwal
memgpt-os-inspired-llms-that-manage-their-own-memory-793d6eed417e
Ayush Chaurasia
late-interaction-efficient-multi-modal-retrievers-need-more-than-just-a-vector-index
Ayush Chaurasia
lancedb-x-continue
LanceDB
lance-x-huggingface-a-new-era-of-sharing-multimodal-data
Prashanth Rao
Quentin Lhoest
Xuanwo
Ayush Chaurasia
lance-x-duckdb-sql-retrieval-on-the-multimodal-lakehouse-format
Xuanwo
lance-windows-windows-lance
Chang She
lance-v2
Weston Pace
lance-namespace-lancedb-and-ray
Jack Ye
lance-file-2-1-stable
Weston Pace
lance-file-2-1-smaller-and-simpler
Weston Pace
lance-data-viewer
Gordon Murray
lance-community-governance
Jack Ye
introducing-lance-namespace-spark-integration
Jack Ye
implementing-corrective-rag-in-the-easiest-way-2
LanceDB
hybrid-search-rag-for-real-life-production-grade-applications-e1e727b3965a
Mahesh Deshwal
hybrid-search-combining-bm25-and-semantic-search-for-better-results-with-lan-1358038fe7e6
LanceDB
hybrid-search-and-custom-reranking-with-lancedb-4c10a6a3447e
LanceDB
how-to-reduce-hallucinations-from-llm-powered-agents-using-long-term-memory-72f262c3cc1f
Tevin Wang
guide-to-use-contextual-retrieval-and-prompt-caching-with-lancedb
LanceDB
grpo-understanding-and-fine-tuning-the-next-gen-reasoning-model-2
Mahesh Deshwal
graphrag-hierarchical-approach-to-retrieval-augmented-generation
Akash Desai
gpu-accelerated-indexing-in-lancedb-27558fa7eee5
LanceDB
geo-support
Jack Ye
geneva-twelvelabs
David Myriel
geneva-feature-engineering
Jonathan Hsieh
from-bi-to-ai-lance-and-iceberg
Jack Ye
Prashanth Rao
fluss-integration
Wayne Wang
file-readers-in-depth-parallelism-without-row-groups
Weston Pace
feature-rabitq-quantization
David Myriel
Yang Cen
feature-full-text-search
David Myriel
enhance-rag-integrate-contextual-compression-and-filtering-for-precision-a29d4a810301
Kaushal Choudhary
effortlessly-loading-and-processing-images-with-lance-a-code-walkthrough
LanceDB
designing-a-table-format-for-ml-workloads
Weston Pace
custom-dataset-for-llm-training-using-lance
LanceDB
creating-a-fintech-agent
Vipul Maheshwari
convert-any-image-dataset-to-lance
LanceDB
columnar-file-readers-in-depth-structural-encoding
Weston Pace
columnar-file-readers-in-depth-repetition-definition-levels
Weston Pace
columnar-file-readers-in-depth-compression-transparency
Weston Pace
columnar-file-readers-in-depth-column-shredding
Weston Pace
columnar-file-readers-in-depth-backpressure
Weston Pace
columnar-file-readers-in-depth-apis-and-fusion
Weston Pace
chunking-techniques-with-langchain-and-llamaindex
Prashant Kumar
chunking-analysis-which-is-the-right-chunking-approach-for-your-language
Shresth Shukla
chat-with-csv-excel-using-lancedb
LanceDB
case-study-netflix
David Myriel
case-study-dosu
Qian Zhu
Michael Ludden
case-study-cognee
David Myriel
Vasilije Markovic
case-study-coderabbit
Qian Zhu
building-rag-on-codebases-part-2
Sankalp Shubham
building-rag-on-codebases-part-1
Sankalp Shubham
branching-and-shallow-clone
Jack Ye
better-rag-with-active-retrieval-augmented-generation-flare-3b66646e2a9f
LanceDB
benchmarking-random-access-in-lance
Chang She
benchmarking-lancedb-92b01032874a-2
LanceDB
benchmarking-cohere-reranker-with-lancedb
LanceDB
anythingllms-competitive-edge-lancedb-for-seamless-rag-and-agent-workflows
Ayush Chaurasia
announcing-lance-sdk
Weston Pace
agentic-rag-using-langgraph-building-a-simple-customer-support-autonomous-agent
LanceDB
advanced-rag-precise-zero-shot-dense-retrieval-with-hyde-0946c54dfdcb
LanceDB
accelerate-vector-search-applications-using-openvino-lancedb
LanceDB
a-primer-on-text-chunking-and-its-types-a420efc96a13
Prashant Kumar
a-practical-guide-to-training-custom-rerankers
Ayush Chaurasia
a-practical-guide-to-fine-tuning-embedding-models
Ayush Chaurasia
keep-your-data-fresh-with-cocoindex-and-lancedb
Prashanth Rao
Linghua Jin
Setup Real-Time Multimodal AI Analytics with Apache Fluss (incubating) and Lance
Wayne Wang
•
September 8, 2025
•
Engineering
Table of Contents
This is a title
This is a subtitle
With the advent of the generative AI era, nearly all digital applications are integrating multimodal AI innovations to enhance their capabilities. The successful deployment of multimodal AI applications relies heavily on data, particularly for enterprise decision-making systems where high-quality, fresh data is critical. For instance, in customer service and risk control systems, multimodal AI models that lack access to real-time customer inputs will struggle to make accurate decisions.
Apache Fluss (incubating) addresses this need as a purpose-built streaming storage for real-time analytics.
Serving as the real-time data layer for lakehouse architectures, Fluss features an intelligent tiering service that ensures seamless integration between stream and lake storage. This service automatically and continuously converts Fluss data into the lakehouse format, enabling the “shared data” feature:
Fluss as the lakehouse’s real-time layer: Fluss provides high-throughput, low-latency ingestion and processing of streaming data, becoming the real-time front-end for the lakehouse.
The lakehouse as Fluss’s historical layer: The lakehouse provides optimized long-term storage with minute-level freshness, acting as the historical batch data foundation for the real-time layer.
Complementing the Fluss ecosystem, Lance emerges as the next-generation AI lakehouse platform specialized for machine learning and multimodal AI applications. It efficiently handles multimodal data (text, images, vectors) and delivers high-performance queries such as lightning-fast vector search (see LanceDB).
Combining Lance and Fluss unlocks true real-time multimodal AI analytics. Consider Retrieval-Augmented Generation (RAG) , a popular generative AI framework that enhances the capabilities of large language models (LLMs) by incorporating up-to-date information during the generation process. RAG uses vector search to understand a user’s query context and retrieve relevant information to feed into LLMs. With Fluss and Lance, RAG systems can now:
Perform efficient vector search on Lance’s historical data, leveraging its powerful indexes.
Compute live insights on Fluss’s real-time, unindexed streaming data.
Combine results from both sources to enrich LLMs with the most timely and comprehensive information.
In this blog, we’ll demonstrate how to stream images into Fluss, then load the data from the Lance dataset into Pandas DataFrames to make the image data easily accessible for further processing and analysis in your machine learning workflows.
MinIO Setup
Step 1: Install MinIO Locally
Check out the official documentation for detailed instructions.
Step 2: Start the MinIO Server
Run this command, specifying a local path to store your MinIO data:
export MINIO_REGION_NAME=us-west-1
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minioadmin
minio server /tmp/minio-tmp
Step 3: Verify MinIO Running with Web UI
When your MinIO server is up and running, you’ll see endpoint information and login credentials:
API: http://192.168.3.40:9000 http://127.0.0.1:9000
RootUser: minio
RootPass: minioadmin
WebUI: http://192.168.3.40:64217 http://127.0.0.1:64217
RootUser: minio
RootPass: minioadmin
Step 4: Create Bucket
Open the Web UI link and log in with these credentials.
You can create a Lance bucket through the Web UI.
Fluss and Lance Setup
Step 1: Install Fluss Locally
Check out the official documentation for detailed instructions.
Step 2: Configure Lance Data Lake
Edit your <FLUSS_HOME>/conf/server.yaml file and add these settings:
datalake.format: lance
datalake.lance.warehouse: s3://lance
datalake.lance.endpoint: http://localhost:9000
datalake.lance.allow_http: true
datalake.lance.access_key_id: minio
datalake.lance.secret_access_key: minioadmin
datalake.lance.region: eu-west-1
This configures Lance as the data lake format, with MinIO as the warehouse.
Step 3: Start Fluss
<FLUSS_HOME>/bin/local-cluster.sh start
Step 4: Install Flink Fluss Connector
Download the Apache Flink 1.20 binary package from the official website . Download Fluss Connector Jar and copy it to Flink classpath <FLINK_HOME>/lib.
Step 5: Configure Flink Fluss Connector
The Flink Fluss connector utilizes the Apache Arrow Java API, which relies on direct memory. Ensure sufficient off-heap memory for the Flink Task Manager by configuring the taskmanager.memory.task.off-heap.size parameter in <FLINK_HOME>/conf/config.yaml:
# Increase available task slots.
numberOfTaskSlots: 5
taskmanager.memory.task.off-heap.size: 128m
Step 6: Start Flink
Start Flink locally with:
<FLINK_HOME>/bin/start-cluster.sh
Step 7: Verify Flink Running
Open your browser to http://localhost:8081 and make sure the cluster is running.
Launching the Fluss Tiering Service
Step 1: Get the Tiering Job Jar
Download the Fluss Tiering Job Jar.
Step 2: Submit the Job
./bin/flink run <path_to_jar>/fluss-flink-tiering-0.8.jar \
--fluss.bootstrap.servers localhost:9123 \
--datalake.format lance \
--datalake.lance.warehouse s3://lance \
--datalake.lance.endpoint http://localhost:9000 \
--datalake.lance.allow_http true \
--datalake.lance.secret_access_key minioadmin \
--datalake.lance.access_key_id minio \
--datalake.lance.region eu-west-1 \
--table.datalake.freshness 30s
Step 3: Confirm Deployment
Check the Flink UI for the Fluss Lake Tiering Service job. Once it’s running, your local tiering pipeline is good to go.
Multimodal Data Processing
We’ll walk through a Python code example that demonstrates how to stream a dataset of images into Fluss, and subsequently load the tiered Lance dataset into a Pandas DataFrame for further processing.
Step 1: Install Dependencies
Install the required dependencies:
pip install python-for-fluss pyarrow pylance pandas
Step 2: Create Connection
Create the connection and table with the Fluss Python client:
import fluss
import pyarrow as pa
async def create_connection(config_spec):
# Create connection
config = fluss.Config(config_spec)
conn = await fluss.FlussConnection.connect(config)
return conn
async def create_table(conn, table_path, pa_schema):
# Create a Fluss Schema
fluss_schema = fluss.Schema(pa_schema)
# Create a Fluss TableDescriptor
table_descriptor = fluss.TableDescriptor(
fluss_schema,
properties={
"table.datalake.enabled": "true",
"table.datalake.freshness": "30s",
},
)
# Get the admin for Fluss
admin = await conn.get_admin()
# Create a Fluss table
try:
await admin.create_table(table_path, table_descriptor, True)
print(f"Created table: {table_path}")
except Exception as e:
print(f"Table creation failed: {e}")
Step 3: Process Images
import os
def process_images(schema: pa.Schema):
# Get the current directory path
current_dir = os.getcwd()
images_folder = os.path.join(current_dir, "image")
# Get the list of image files
image_files = [filename for filename in os.listdir(images_folder)
if filename.endswith((".png", ".jpg", ".jpeg"))]
# Iterate over all images in the folder with tqdm
for filename in tqdm(image_files, desc="Processing Images"):
# Construct the full path to the image
image_path = os.path.join(images_folder, filename)
# Read and convert the image to a binary format
with open(image_path, 'rb') as f:
binary_data = f.read()
image_array = pa.array([binary_data], type=pa.binary())
# Yield RecordBatch for each image
yield pa.RecordBatch.from_arrays([image_array], schema=schema)
This process_images function is the heart of our data conversion process. It is responsible for iterating over the image files in the specified directory, reading the data of each image, and converting it into a PyArrow RecordBatch object as binary.
Step 4: Writing to Fluss
The write_to_fluss function creates a RecordBatchReader from the process_images generator and writes the resulting data to the Fluss fluss.images_minio table.
async def write_to_fluss(conn, table_path, pa_schema):
# Get table and create writer‘
table = await conn.get_table(table_path)
append_writer = await table.new_append_writer()
try:
print("\n--- Writing image data ---")
for record_batch in process_images(pa_schema):
append_writer.write_arrow_batch(record_batch)
except Exception as e:
print(f"Failed to write image data: {e}")
finally:
append_writer.close()
Step 5: Check Job Completion
Wait a little while for the tiering job to finish. Then, go to the MinIO UI, and you’ll see the Lance dataset in your lance bucket. You can load it with Pandas using Lance’s to_pandas API.
Step 6: Loading into Pandas
While Fluss is writing data into Lance in real time, you can load from the Lance datasets in MinIO. At this point, you can leverage anything that integrates with Lance to consume the data in any ML/AI application, including PyTorch for training (see Lance + PyTorch integration), LangChain for RAG integration, and LanceDB for hybrid search. You can also use Lance’s Blob API to have efficient, low-level access to the multimodal image data.
Here, we present a simple loading_into_pandas example to describe how to load the image data from the Lance dataset into a Pandas DataFrame using Lance’s built-in to_pandas API, making the image data accessible for further downstream AI analytics with Pandas.
import lance
import pandas as pd
def loading_into_pandas(table_name):
dataset = lance.dataset(
"s3://lance/fluss/" + table_name + ".lance",
storage_options={
"access_key_id": "minio",
"secret_access_key": "minioadmin",
"endpoint": "http://localhost:9000",
"allow_http": "true",
},
)
df = dataset.to_table().to_pandas()
print("Pandas DataFrame is ready")
print("Total Rows: ", df.shape[0])
Putting It All Together
If you would like to run the whole example end-to-end, use this main function in your Python script:
import asyncio
async def main():
config_spec = {
"bootstrap.servers": "127.0.0.1:9123",
}
conn = await create_connection(config_spec)
table_path = fluss.TablePath("fluss", table_name)
pa_schema = pa.schema([("image", pa.binary())])
await create_table(conn, table_path, pa_schema)
await write_to_fluss(conn, table_path, pa_schema)
# sleep a little while to wait for Fluss tiering
sleep(60)
df = loading_into_pandas()
print(df.head())
conn.close()
if __name__ == "__main__":
asyncio.run(main())
Conclusion
The integration of Apache Fluss (inclubating) and Lance creates a powerful foundation for real-time multimodal AI analytics. By combining Fluss’s streaming storage capabilities with Lance’s AI-optimized lakehouse features, organizations can build multimodal AI applications that leverage both real-time and historical data seamlessly.
Key takeaways from this integration:
Real-time Processing: Stream and process multimodal data in real-time with sub-second latency, enabling immediate insights and responses for time-sensitive AI applications.
Unified Architecture: Fluss serves as the real-time layer while Lance provides efficient historical storage, creating a complete data lifecycle management solution.
Multimodal Support: The ability to handle diverse data types like images, text, and vectors makes this stack ideal for modern multimodal AI applications.
RAG Enhancement: Real-time data ingestion ensures that RAG systems always have access to the most current information, improving the accuracy and relevance of multimodal AI-generated responses.
Simple Integration: As demonstrated in our example, setting up the pipeline requires minimal configuration and can be easily integrated into existing ML workflows.
As multimodal AI applications continue to demand fresher data and faster insights, the combination of Fluss and Lance provides a robust, scalable solution that bridges the gap between real-time streaming and AI-ready data storage. Whether you’re building recommendation systems, fraud detection, or customer service chatbots, this integration ensures your multimodal AI models have access to both the timeliness of streaming data and the depth of historical context.
Wayne Wang
Senior Software Engineer @ Tencent
Augmetec helps investigators find critical evidence faster with LanceDB Enterprise
Augmetec
•
October 12, 2026
augmetec-finds-critical-evidence-faster
🤖 LeRobot Trains on Lance, 🦾 Mining Robot Fleet Data Demo, 🔍 Vector Search at 10B Scale
ChanChan Mao
•
October 7, 2026
newsletter-september-2026
Giving Back to the Open Source We Build On
Xuanwo
Taylor Smith
•
September 21, 2026
giving-back-to-open-source