kryman27 commited on
Commit
af0905c
verified
1 Parent(s): 159c760

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -24
app.py CHANGED
@@ -2,15 +2,15 @@ import gradio as gr
2
  import pdfplumber
3
  from transformers import pipeline
4
 
5
- # L偶ejszy model NER
6
- extractor = pipeline("ner", model="xlm-roberta-large-finetuned-conll03", aggregation_strategy="simple")
7
 
8
  def extract_seller(pdf_file):
9
  with pdfplumber.open(pdf_file) as pdf:
10
- # Pobranie tekstu ze wszystkich stron
11
  full_text = "\n".join(page.extract_text() for page in pdf.pages if page.extract_text())
12
 
13
- # Podzia艂 na kr贸tkie fragmenty (maks. 512 znak贸w, aby model dzia艂a艂 szybciej)
14
  chunks = [full_text[i:i+512] for i in range(0, len(full_text), 512)]
15
 
16
  seller_name = None
@@ -19,23 +19,4 @@ def extract_seller(pdf_file):
19
  entities = extractor(chunk)
20
 
21
  for entity in entities:
22
- if "ORG" in entity["entity_group"]: # Szukamy nazw organizacji
23
- seller_name = entity["word"]
24
- break # Pobieramy pierwsz膮 wykryt膮 firm臋 jako sprzedawc臋
25
-
26
- if seller_name: # Je艣li znaleziono sprzedawc臋, przerywamy p臋tl臋
27
- break
28
-
29
- return {"Sprzedawca": seller_name if seller_name else "Nie znaleziono"}
30
-
31
- # Interfejs u偶ytkownika w Hugging Face Spaces
32
- iface = gr.Interface(
33
- fn=extract_seller,
34
- inputs=gr.File(label="Wybierz plik PDF"),
35
- outputs="json",
36
- title="Ekstrakcja Sprzedawcy z Faktury",
37
- description="Prze艣lij plik PDF, aby wydoby膰 nazw臋 sprzedawcy."
38
- )
39
-
40
- if __name__ == "__main__":
41
- iface.launch()
 
2
  import pdfplumber
3
  from transformers import pipeline
4
 
5
+ # L偶ejszy model NER (publicznie dost臋pny)
6
+ extractor = pipeline("ner", model="dbmdz/bert-large-cased-finetuned-conll03-english", aggregation_strategy="simple")
7
 
8
  def extract_seller(pdf_file):
9
  with pdfplumber.open(pdf_file) as pdf:
10
+ # Pobranie tekstu z PDF
11
  full_text = "\n".join(page.extract_text() for page in pdf.pages if page.extract_text())
12
 
13
+ # Podzia艂 tekstu na kr贸tkie fragmenty (maks. 512 znak贸w)
14
  chunks = [full_text[i:i+512] for i in range(0, len(full_text), 512)]
15
 
16
  seller_name = None
 
19
  entities = extractor(chunk)
20
 
21
  for entity in entities:
22
+ if "ORG" in entity["entity_group"]: #