import gradio as gr from services import ocr_with_paddle, solve_with_transformers def solve_math(img): """ Perform optical character recognition on the input image and then solve the extracted text using 🤗transformers. :param img: The input image for optical character recognition. :return: The solved text answer. """ try: text_output = ocr_with_paddle(img['composite']) text_answer = solve_with_transformers(text_output) return text_answer except Exception: raise gr.Error("Please upload an image!!!!") """ Create user interface """ def main(): with gr.Blocks() as app: gr.Markdown("### Калькулятор комплексных чисел") with gr.Row(): with gr.Column(): image_input = gr.ImageEditor(value='canvas.png', image_mode='L', interactive=True, type='filepath') process_btn = gr.Button('Решить') with gr.Column(): output_text = gr.Textbox(label="Решение") process_btn.click(fn=solve_math, inputs=image_input, outputs=output_text) app.launch() if __name__ == "__main__": main()