|
Download planning.md from thieuluan/hackathon: direct link, hf CLI and curl.
- Browser
- Download file 3.63 kB
-
https://huggingface.co/spaces/thieuluan/hackathon/resolve/main/planning.md
- Command line
-
hf download hf://spaces/thieuluan/hackathon/planning.md
-
curl -L -o planning.md https://huggingface.co/spaces/thieuluan/hackathon/resolve/main/planning.md
3.63 kB
| ## 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). | |