File size: 1,099 Bytes
c4d2029
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
import pdf2image
import gradio as gr

# Załaduj model TroCR
processor = TrOCRProcessor.from_pretrained("microsoft/trocr-large-stage1")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-large-stage1")

# Funkcja do przetwarzania faktur
def process_invoice(pdf_file):
    # Konwersja PDF do obrazu
    images = pdf2image.convert_from_bytes(pdf_file.read())
    
    # Przetwarzanie pierwszej strony faktury
    image = images[0].convert("RGB")
    pixel_values = processor(images=image, return_tensors="pt").pixel_values

    # Uruchomienie modelu AI
    generated_ids = model.generate(pixel_values)
    extracted_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]

    return extracted_text

# Tworzenie UI w Gradio
interface = gr.Interface(
    fn=process_invoice,
    inputs=gr.File(type="file"),
    outputs="text",
    title="AI Invoice Processor",
    description="Wgraj fakturę PDF, a AI wyodrębni dane tekstowe.",
)

# Uruchomienie aplikacji
interface.launch()