hackathon / planning.md
thieuluan's picture
init first spec
191645f
|
Raw
History Blame Contribute Delete
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).