Description
Summary
Add an admin-only page to inspect LanceDB tables and their contents directly from the application. This will simplify debugging embeddings, validating image metadata, and troubleshooting search issues without requiring direct access to the server.
Motivation
During debugging we had to:
Verify table metadata
Inspect stored vectors and image URIs
Validate tags and hashes
Confirm embedding metadata exists
Check migrated records after URL updates
This currently requires Python scripts and direct filesystem access. An internal admin UI would make these tasks significantly easier.
Scope
Backend (Python)
Create secure admin endpoints for LanceDB inspection.
Suggested endpoints:
- GET /admin/lancedb/tables
List all LanceDB tables.
- GET /admin/lancedb/{table}
Return table information:
row count
schema
metadata
embedding function metadata
vector dimension
- GET /admin/lancedb/{table}/rows
Paginated rows.
Support:
page
pageSize
sort
filtering
- GET /admin/lancedb/{table}/row/{id} (optional)
View complete record.
Frontend (React)
Create an Admin → LanceDB Explorer page.
Features:
- Table selector
- Row count
- Schema viewer
- Metadata viewer
- Paginated data grid
- Search/filter
- Sort columns
- Copy row JSON
- Refresh table
Table columns
Display:
- image_uri
- tag
- hash
- mtime
- vector (collapsed by default)
Large vectors should not be expanded automatically.
Instead show:
vector length
expandable JSON
copy button
Metadata section
Display:
embedding function metadata
vector dimension
source column
vector column
Example:
{
"embedding_functions": [
{
"name": "siglip",
"source_column": "image_uri",
"vector_column": "vector"
}
]
}
Security
Admin users only.
Reuse existing authentication/authorization.
Never expose this page publicly.
UX
Server-side pagination
Loading state
Empty state
Error state
Copy-to-clipboard actions
Responsive layout
Future Enhancements
Delete row
Recompute embeddings
Edit metadata
Export rows as CSV/JSON
Compare two LanceDB tables
View vector statistics
Similarity search directly from the UI
Trigger table maintenance (optimize, vacuum, rebuild indexes)
Acceptance Criteria
[ ] Admin-only access
[ ] List all LanceDB tables
[ ] View schema and metadata
[ ] View paginated table rows
[ ] Filter by tag
[ ] Sort by columns
[ ] Collapse large vector fields
[ ] Copy row JSON
[ ] Display embedding function metadata
[ ] Works with large tables without loading everything into memory
Description
Summary
Add an admin-only page to inspect LanceDB tables and their contents directly from the application. This will simplify debugging embeddings, validating image metadata, and troubleshooting search issues without requiring direct access to the server.
Motivation
During debugging we had to:
Verify table metadata
Inspect stored vectors and image URIs
Validate tags and hashes
Confirm embedding metadata exists
Check migrated records after URL updates
This currently requires Python scripts and direct filesystem access. An internal admin UI would make these tasks significantly easier.
Scope
Backend (Python)
Create secure admin endpoints for LanceDB inspection.
Suggested endpoints:
List all LanceDB tables.
Return table information:
row count
schema
metadata
embedding function metadata
vector dimension
Paginated rows.
Support:
page
pageSize
sort
filtering
View complete record.
Frontend (React)
Create an Admin → LanceDB Explorer page.
Features:
Table columns
Display:
Large vectors should not be expanded automatically.
Instead show:
vector length
expandable JSON
copy button
Metadata section
Display:
embedding function metadata
vector dimension
source column
vector column
Example:
{ "embedding_functions": [ { "name": "siglip", "source_column": "image_uri", "vector_column": "vector" } ] }Security
Admin users only.
Reuse existing authentication/authorization.
Never expose this page publicly.
UX
Server-side pagination
Loading state
Empty state
Error state
Copy-to-clipboard actions
Responsive layout
Future Enhancements
Delete row
Recompute embeddings
Edit metadata
Export rows as CSV/JSON
Compare two LanceDB tables
View vector statistics
Similarity search directly from the UI
Trigger table maintenance (optimize, vacuum, rebuild indexes)
Acceptance Criteria
[ ] Admin-only access
[ ] List all LanceDB tables
[ ] View schema and metadata
[ ] View paginated table rows
[ ] Filter by tag
[ ] Sort by columns
[ ] Collapse large vector fields
[ ] Copy row JSON
[ ] Display embedding function metadata
[ ] Works with large tables without loading everything into memory