| import gradio as gr | |
| from tasks.grammar_checking import grammar_checking | |
| GRAMMAR_MODELS = ["gemini-2.0-flash"] | |
| DEFAULT_MODEL = "gemini-2.0-flash" | |
| def grammar_ui(): | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| input_text = gr.Textbox( | |
| label="Input Text", | |
| lines=6, | |
| placeholder="Enter text to check grammar and spelling...", | |
| elem_id="grammar-input-text" | |
| ) | |
| gr.Examples( | |
| examples=[ | |
| ["This is a smple sentence with errrors."], | |
| ["I has went to the store yesterday."] | |
| ], | |
| inputs=[input_text], | |
| label="Examples" | |
| ) | |
| check_btn = gr.Button("Check Grammar & Spelling", variant="primary") | |
| model_dropdown = gr.Dropdown( | |
| GRAMMAR_MODELS, | |
| value=DEFAULT_MODEL, | |
| label="Model", | |
| interactive=True, | |
| elem_id="grammar-model-dropdown" | |
| ) | |
| custom_instructions = gr.Textbox( | |
| label="Custom Instructions (optional)", | |
| lines=2, | |
| placeholder="Add any custom instructions for the model...", | |
| elem_id="grammar-custom-instructions" | |
| ) | |
| with gr.Column(scale=1): | |
| output_box = gr.Textbox( | |
| label="Corrected Text", | |
| lines=3, | |
| interactive=False, | |
| elem_id="grammar-output" | |
| ) | |
| def run_grammar_checking(text, model, custom_instructions): | |
| return grammar_checking( | |
| text=text, | |
| model=model, | |
| custom_instructions=custom_instructions, | |
| use_llm=True | |
| ) | |
| check_btn.click( | |
| run_grammar_checking, | |
| inputs=[input_text, model_dropdown, custom_instructions], | |
| outputs=output_box | |
| ) | |