Spaces:
Sleeping
Sleeping
import streamlit as st | |
from transformers import AutoModel, AutoTokenizer | |
from PIL import Image | |
import torch | |
# Carregar o modelo e tokenizador | |
tokenizer = AutoTokenizer.from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True) | |
model = AutoModel.from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True, low_cpu_mem_usage=True, | |
device_map='cuda', use_safetensors=True, pad_token_id=tokenizer.eos_token_id) | |
model = model.eval().cuda() | |
# Título do app no Streamlit | |
st.title('OCR com Modelo Pré-treinado') | |
# Carregando a imagem | |
uploaded_file = st.file_uploader("Faça o upload de uma imagem", type=["jpg", "jpeg", "png"]) | |
if uploaded_file is not None: | |
# Exibir a imagem | |
image = Image.open(uploaded_file) | |
st.image(image, caption='Imagem carregada', use_column_width=True) | |
# Salvar a imagem para processamento (opcional) | |
image.save("uploaded_image.jpg") | |
# Executando OCR na imagem carregada | |
with st.spinner('Processando a imagem...'): | |
# Realizando o OCR | |
res = model.chat(tokenizer, "uploaded_image.jpg", ocr_type='ocr') | |
# Exibindo o resultado do OCR | |
st.subheader("Texto Extraído:") | |
st.text(res) | |
else: | |
st.info("Por favor, faça o upload de uma imagem para continuar.") | |