Spaces:
Runtime error
Runtime error
| import os | |
| from dotenv import load_dotenv | |
| from huggingface_hub import InferenceClient | |
| import gradio as gr | |
| from PIL import Image | |
| from io import BytesIO | |
| load_dotenv() | |
| # Initialize Hugging Face Inference client | |
| hf_token = os.getenv("HF_API_TOKEN") | |
| client = InferenceClient(token=hf_token) | |
| def run_ocr(file): | |
| if file is None: | |
| return "No file uploaded" | |
| # Read uploaded file | |
| data = file.read() | |
| # Call the Typhoon OCR model | |
| result = client.text_generation( | |
| model="scb10x/typhoon-ocr1.5-2b", | |
| inputs=data | |
| ) | |
| # Extract generated text | |
| ocr_text = result[0]["generated_text"] | |
| return ocr_text | |
| # Build Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## Typhoon OCR Web App") | |
| file_input = gr.File(label="Upload PDF or Image", file_types=[".pdf", ".png", ".jpg", ".jpeg"]) | |
| output_text = gr.Textbox(label="OCR Result", lines=20) | |
| run_btn = gr.Button("Run OCR") | |
| run_btn.click(fn=run_ocr, inputs=file_input, outputs=output_text) | |
| demo.launch() | |