Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
6.1.0
Application Flow Diagram
User Interface Flow
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π€ AI Text Assistant β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Mode Selection: β
β β Text Generation β Text Summarization β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Input Text (max 500 words): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Enter your text here... β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Max Tokens: [βββββββββββββββ] 100 β
β 10 500 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββ
β π Process β
βββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Status: β
Generated 42 tokens β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Result (hover over words for alternatives): β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β The [quick] [brown] [fox] [jumps] [over]... β β
β β β β
β β [Hover shows tooltip] β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Backend Processing Flow
User Input
β
ββββββββββββββββββββββ
β Validate Input β
β - Check non-empty β
β - Count words β
β - Max 500 words β
ββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββ
β Route Based on Mode β
ββββββββββββββββββ¬ββββββββββββββββ€
β Text Gen β Summarization β
ββββββββββββββββββ΄ββββββββββββββββ
β β
βββββββββββββββββββ ββββββββββββββββββββ
β Qwen Model β β BART Model β
β Generate with β β Generate with β
β output_scores β β output_scores β
βββββββββββββββββββ ββββββββββββββββββββ
β β
ββββββββββββββββββββββββββββββββββ
β Extract Token Alternatives β
β - Apply softmax to scores β
β - Get top-5 tokens per positionβ
β - Format with probabilities β
ββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββ
β Create HTML with Tooltips β
β - Split text into words β
β - Map alternatives to words β
β - Generate CSS tooltips β
ββββββββββββββββββββββββββββββββββ
β
Display to User
Token Alternative Tooltip Structure
Word in Text: "quick"
β
[Hover]
β
βββββββββββββββββββββββββββββββββββ
β Top 5 Alternatives: β
βββββββββββββββββββββββββββββββββββ€
β 1. quick 45.23% β
β 2. fast 23.15% β
β 3. rapid 12.08% β
β 4. swift 8.54% β
β 5. speedy 4.12% β
βββββββββββββββββββββββββββββββββββ
β²
(Dark themed,
positioned above word)
Data Flow for Token Generation
Input: "Write a story about a cat"
β
ββββββββββββββββββββββββββββββββββββββββ
β Tokenization β
β β [Write, a, story, about, a, cat] β
ββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββ
β Model Forward Pass β
β β Logits for each position β
ββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββ
β For Each Generated Token: β
β β
β Position 1 Scores: β
β [The: 2.5, A: 1.8, Once: 1.2, ...] β
β β Softmax β
β [The: 52%, A: 22%, Once: 11%, ...] β
β β Top-K (k=5) β
β Store top 5 β
β β
β Position 2 Scores: β
β [cat: 3.1, dog: 2.1, story: 1.5 ...] β
β β Softmax β
β [cat: 45%, dog: 23%, story: 12% ...] β
β β Top-K (k=5) β
β Store top 5 β
β β
β ... (repeat for all tokens) β
ββββββββββββββββββββββββββββββββββββββββ
β
Output:
- Generated text: "The cat was very curious..."
- Alternatives: List[{token, probability}] for each position
Component Interaction
βββββββββββββββ ββββββββββββββββ ββββββββββββββ
β Gradio βββββββΊβ app.py βββββββΊβ PyTorch β
β Interface β β Handler β β Models β
βββββββββββββββ ββββββββββββββββ ββββββββββββββ
β β β
β β β
βΌ βΌ βΌ
βββββββββββββββ ββββββββββββββββ ββββββββββββββ
β Browser β β Processing β βTransformersβ
β Renders β β Functions β β Library β
β HTML β ββββββββββββββββ ββββββββββββββ
βββββββββββββββ β
β
βΌ
ββββββββββββββββββββ
β HTML Generator β
β with Tooltips β
ββββββββββββββββββββ
Error Handling Flow
Input Received
β
ββββββββββββββββ NO ββββββββββββββββββββ
β Text empty? βββββββββββ Count words β
ββββββββββββββββ ββββββββββββββββββββ
β YES β
β β
ββββββββββββββββ ββββββββββββββββ YES
β Return error β β > 500 words? ββββββββββ
ββββββββββββββββ ββββββββββββββββ β
β NO β
β β
ββββββββββββββββ ββββββββββββββββ
β Try process β β Return error β
ββββββββββββββββ ββββββββββββββββ
β
ββββββββ΄βββββββ
β Exception? β
ββββββββ¬βββββββ
YES ββββ
β
ββββββββββββββββ
β Catch & show β
β error to userβ
ββββββββββββββββ
Model Loading Sequence
App Startup
β
ββββββββββββββββββββββββββββββββββββ
β 1. Detect Device (GPU/CPU) β
β print("Using device: cpu") β
ββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββ
β 2. Load Qwen Tokenizer β
β ~50MB download (first time) β
ββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββ
β 3. Load Qwen Model β
β ~988MB download (first time) β
β Load to device β
ββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββ
β 4. Load BART Tokenizer β
β ~2MB download (first time) β
ββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββ
β 5. Load BART Model β
β ~1.6GB download (first time) β
β Load to device β
ββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββ
β 6. Launch Gradio Interface β
β Ready for user input! β
ββββββββββββββββββββββββββββββββββββ