Replies: 7 comments 2 replies
|
Could you elaborate more on why it makes sense for this to be a sub project within Lance, rather than a separate project that depends on Lance? |
1 reply
|
For all those who have seen this, please add a +1 to upvote whether this should be added as a sub-project within Lance. Thanks! |
1 reply
|
Based on discussion in community sync, looks like there is value in trying this out, so +1 (binding) |
0 replies
|
I am interested in seeing how the community benefits from this, +1 from me (binding). |
0 replies
|
+1 binding |
0 replies
|
+1 |
0 replies
|
The vote time has passed and we have enough vote, I have created lance-context repo, let's go from there! |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Project Name: lance-context
Dependencies: lance, lancedb,lance-namespace,lance-graph
1. Abstract
lance-contextis a specialized library designed to manage the lifecycle of Multimodal Agentic Context. Unlike standard vector stores that treat data as flat lists of text embeddings,lance-contexttreats agent history as a versioned, branching, multimodal dataset. It leverages Lance's native columnar storage to unify text, images, PDF documents, and structured DataFrames into a single, queryable "Context Stream."2. Motivation
Building production-grade autonomous agents requires complex state management beyond simple chat logs. Modern agents are multimodal; they view screens, read reports, and analyze data.
The Problem:
Developers currently fragment context storage:
The Gap:
There is no unified "Memory" that can hold a user's instruction alongside the image they uploaded and the dataframe the agent generated in response.
The Solution:
A unified persistence layer where an agent can "rollback" to a state that includes both the conversation history and the specific version of the dataframe it was working on.
3. Why Lance?
Lance is uniquely positioned to solve this problem where other formats fail:
Native Multimodal Storage: Lance is a columnar format that efficiently stores mixed types (Scalars, Vectors, Binary Blobs, Nested Structs) in the same file. We do not need a separate object store for small-to-medium media assets.
Zero-Copy Versioning: Lance's dataset versioning allows us to "branch" the context (e.g., for "Tree of Thoughts" exploration) without duplicating the underlying data storage.
Fast Random Access: lance allows fast retrieval of full context windows by ID (row_id single row seek or chat_id multi row scan), which is critical for rebuilding context for the LLM.
API Design (Draft)
The API aims to be "framework agnostic" (usable by LangChain, CrewAI, or vanilla OpenAI scripts).
4 Why lance-format? (Project Positioning)
This project belongs as a sub-project within lance-format (alongside lance-graph or lance-spark) rather than an external application library for three key reasons:
It is a Connector, not an Application lance-context does not define how an agent thinks or prompts; it strictly defines how agent state is serialized. It acts as the standard "Connector" between the Lance format and high-level AI frameworks. By standardizing this at the Lance level, we enable interoperability across the entire ecosystem.
It is Infrastructure, not Logic. The core challenges here are storage challenges: zero-copy branching, efficient blob storage, and manifest management. These are database concerns, not AI agent concerns. This project builds on low-level Lance primitives to solve infrastructure problems, making it distinct from application-layer memory tools.
It Requires Deep Lance Integration To make features like "Context Forking" (Tree of Thoughts) performant, the library needs close proximity to Lance's internal versioning and manifest APIs. The API must be transparent to the AI application—the user simply calls .snapshot(), and lance-context handles the low-level storage mechanics. This level of optimization is best achieved within the Lance engineering domain.
All reactions