File size: 3,625 Bytes
191645f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | ## Project Vision
Create a Streamlit-powered "Accelerated Book Copilot" that ingests books or long-form documents, generates stacked summaries, enables adjustable-speed listening, answers questions with grounded citations, and enriches context via focused web crawling.
## User Journeys
- **Rapid Onboarding:** Upload a book or paste a URL, receive quick, detailed, and action-focused summaries in minutes.
- **Listening Mode:** Play text-to-speech audio with adjustable pace and language options.
- **Knowledge Dive:** Ask free-form questions, get cited answers, and review referenced passages.
- **Context Expansion:** Trigger a crawl for related resources (reviews, interviews, scholarly notes) and fold distilled insights into the knowledge base.
## Core Features
- PDF ingestion with reliable text extraction and structure retention.
- Chunking and embedding using SentenceTransformer or `text-embedding-3-small` for retrieval-ready vectors.
- Summaries: tiered (flash, detailed, character-focused) powered by Azure/OpenAI prompts.
- Q&A agent built on LangChain with streaming answers and citation highlighting.
- Listening: FOMO TTS modules with pitch/speed controls and downloadable clips.
- Crawl mode leveraging Newspaper3k/Requests + safety filters to augment knowledge base.
- Session management with Streamlit state and optional persistence (SQLite/JSON) for revisit.
## Architecture Outline
1. **Ingestion Layer**
- PDF loader pipeline with robust parsing and structure detection.
- Background task queue (async workers) to preprocess large uploads.
2. **Processing Layer**
- Text splitter (RecursiveCharacter) feeding embeddings stored in FAISS or Pinecone.
- Summarization orchestrator reusing FOMO prompt stacks.
- Q&A chain: RetrievalQA + chat memory + citation packaging.
3. **Experience Layer**
- Streamlit tabs for Read, Summaries, Listen, Q&A, Crawl Insights.
- Interactive timeline/outline with Altair visualization for pacing metrics.
- Audio controls and transcript alignment.
## Tech Stack
- Streamlit UI (existing scaffold).
- LangChain for orchestration and tools.
- Azure/OpenAI LLM + embeddings; fallback to OpenAI endpoints.
- Pinecone or FAISS vector store depending on hackathon infra.
- SentenceTransformer local model for offline embeddings if needed.
- TTS via FOMO `load_tts` or Azure Speech (optional).
- Newspaper3k, BeautifulSoup, or HuggingFace datasets for crawl augmentation.
- Storage: lightweight JSON/SQLite, with hooks for cloud object storage if available.
## Milestones
1. **Day 1 – Foundations**
- Wireframe Streamlit tabs and session state.
- Implement PDF ingestion -> chunk -> embed pipeline with local FAISS.
2. **Day 2 – Intelligence Layer**
- Integrate summarization tiers and Q&A citations.
- Add TTS playback using existing FOMO audio utilities.
3. **Day 3 – Crawl & Polish**
- Build targeted crawl + summarization flow.
- Add analytics (reading time estimator, compression ratios).
- Prep demo script and sample datasets.
## Risks & Mitigations
- **Large file latency:** Use background processing and progressive loading.
- **API rate limits:** Cache embeddings/summaries, throttle crawls.
- **Crawl reliability:** Predefine trusted domains, handle failures gracefully.
- **UX overload:** Start with core tabs, keep optional features toggled off by default.
## Next Steps
- Confirm target vector store (FAISS vs Pinecone) and credential availability.
- Draft Streamlit layout skeleton and assign owners per milestone.
- Prepare sample books and reliability test cases (short story, technical manual, novel).
|