Vivek12345323 commited on
Commit
6426c2a
·
verified ·
1 Parent(s): efdd73c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -25
app.py CHANGED
@@ -1,33 +1,31 @@
1
  import gradio as gr
2
  from transformers import pipeline
 
3
 
4
- # Load the faster model
5
- model_name = "pszemraj/flan-t5-base-grammar-synthesis" # ✅ Use flan-t5-base (faster)
6
- pipe = pipeline("text2text-generation", model=model_name, max_new_tokens=200)
7
 
8
- # Word limit (adjust as needed)
9
- MAX_WORDS = 500
 
10
 
11
- def check_essay(essay):
12
- # Word limit enforcement
13
- words = essay.strip().split()
14
- if len(words) > MAX_WORDS:
15
- return f"❗ Your essay is too long. Please limit it to {MAX_WORDS} words or less."
16
 
17
- # Run model
18
- result = pipe(essay, max_new_tokens=200, temperature=0.5)
19
- corrected_text = result[0]['generated_text']
20
- return corrected_text
 
21
 
22
- # Gradio interface
23
- iface = gr.Interface(
24
- fn=check_essay,
25
- inputs=gr.Textbox(lines=20, placeholder="Paste your essay here..."),
26
- outputs=gr.Textbox(label="Revised Essay"),
27
- title="Essay Checker (Fast & Free)",
28
- description=f"Check and improve your essay instantly. Max {MAX_WORDS} words for speed."
29
- )
30
-
31
- if __name__ == "__main__":
32
- iface.launch()
33
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  from transformers import pipeline
3
+ import difflib
4
 
5
+ # Use a solid grammar correction + improvement model
6
+ pipe = pipeline("text2text-generation", model="pszemraj/flan-t5-base-grammar-synthesis")
 
7
 
8
+ def respond(prompt):
9
+ # Generate revised essay
10
+ revised = pipe(prompt, max_new_tokens=1024)[0]['generated_text']
11
 
12
+ # Generate a word-level diff
13
+ diff = difflib.ndiff(prompt.split(), revised.split())
14
+ changes = [line for line in diff if line.startswith("- ") or line.startswith("+ ")]
 
 
15
 
16
+ # Format explanation
17
+ if changes:
18
+ explanation = "\n".join(changes)
19
+ else:
20
+ explanation = "No significant changes were made. Minor improvements only."
21
 
22
+ return f"📝 Revised Essay:\n\n{revised}\n\n🛠️ Explanation of Changes:\n\n{explanation}"
 
 
 
 
 
 
 
 
 
 
23
 
24
+ # Set up Gradio interface
25
+ gr.Interface(
26
+ fn=respond,
27
+ inputs="text",
28
+ outputs="text",
29
+ title="Free AI Essay Bot",
30
+ description="Paste an essay below. The AI will revise it and explain the changes."
31
+ ).launch()