-
Notifications
You must be signed in to change notification settings - Fork 202
Open
Description
Problem Description
The current NotebookLlaMa interface has a UX disconnect between its backend capabilities and frontend presentation. While the system successfully accumulates documents in the LlamaCloud pipeline over time, users have no visibility into previously uploaded documents, creating confusion about whether documents are being added to a persistent repository or processed in isolation.
Current Issues:
- No Document List: Users cannot see previously uploaded documents
- No Upload History: No indication of what has been processed before
- Misleading UX: Each upload appears to be a "fresh start" when documents are actually cumulative
- No Document Management: Cannot remove, re-process, or manage individual documents
- Hidden Multi-Document Capability: The Document Chat can query across all documents, but users don't know which documents are included
Expected Behavior (NotebookLM-like Experience)
Users should be able to:
- See a list of all uploaded documents in their current "notebook"
- Add new documents to the existing collection
- Remove documents from the collection
- See document metadata (upload date, file size, processing status)
- Understand that Document Chat queries across all uploaded documents
- Optionally re-process individual documents
Technical Analysis
Current Architecture:
- Backend: Multi-document pipeline that grows over time (
PIPELINE_ID
) - Frontend: Single-document interface with no persistence UI
- Storage: Documents stored in LlamaCloud pipeline but no local metadata tracking
Files Involved:
src/notebookllama/Home.py
- Main upload interfacesrc/notebookllama/utils.py
- Document processing (process_file
function)src/notebookllama/workflow.py
- Document workflowsrc/notebookllama/pages/1_Document_Chat.py
- Chat interface
Proposed Solution
Phase 1: Document List UI
-
Add Document Tracking:
- Create a local database/JSON file to track uploaded documents
- Store metadata: filename, upload_date, file_id, processing_status
- Track which documents belong to current session/notebook
-
Enhance Home.py:
- Add a "Documents in this Notebook" section above the upload area
- Display list of uploaded documents with metadata
- Add remove/delete functionality per document
-
Update Document Processing:
- Save document metadata when processing completes
- Update UI to show processing status (processing, completed, failed)
Phase 2: Enhanced Document Management
-
Document Actions:
- Re-process individual documents
- Download processed content per document
- Bulk document operations
-
Document Chat Enhancement:
- Show which documents are being queried
- Source attribution per document in responses
Phase 3: Multi-Notebook Support (Future)
- Notebook Management:
- Create/switch between different notebooks
- Separate pipelines per notebook
- Notebook-specific document collections
Acceptance Criteria
- Users can see a list of all uploaded documents
- Users can remove documents from the collection
- Upload interface clearly indicates documents are being added to existing collection
- Document Chat page shows which documents are being queried
- Processing status is visible for each document
- Document metadata (name, date, size) is displayed
- System handles document removal from both UI and LlamaCloud pipeline
Metadata
Metadata
Assignees
Labels
No labels