Zatimm commited on
Commit
1fce080
·
verified ·
1 Parent(s): 6d7d5c0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -10
app.py CHANGED
@@ -7,6 +7,8 @@ from PIL import Image
7
  import fitz # PyMuPDF
8
  from typing import List
9
  import os
 
 
10
 
11
  # --- Model ve İşlemci Yükleme ---
12
  # Modelin yalnızca bir kez yüklenmesini sağlamak için global olarak tanımlıyoruz.
@@ -42,16 +44,15 @@ def process_single_image(image: Image.Image) -> str:
42
  outputs = model.generate(
43
  pixel_values.to(device),
44
  min_length=1,
45
- max_new_tokens=4096,
46
  bad_words_ids=[[processor.tokenizer.unk_token_id]],
47
  )
48
 
49
  # Çıktıyı okunabilir metne dönüştürme ve son işleme
50
  sequence = processor.batch_decode(outputs, skip_special_tokens=True)
51
- sequence = processor.post_process_generation(sequence, fix_markdown=False)
52
 
53
- # batch_decode bir liste döndürür, bu yüzden ilk elemanı alıyoruz.
54
- return "".join(sequence)
55
  except Exception as e:
56
  return f"Görüntü işlenirken bir hata oluştu: {e}"
57
 
@@ -61,10 +62,11 @@ def process_pdf_file(pdf_file) -> str:
61
  return "Model yüklenemedi veya PDF dosyası yüklenmedi."
62
 
63
  # DÜZELTME: Değişken, boş bir liste olarak doğru şekilde başlatıldı.
64
- full_markdown_content =
65
  doc = None # doc değişkenini try bloğundan önce tanımla
66
  try:
67
  # Gelen dosya nesnesinden PDF'i oku
 
68
  doc = fitz.open(stream=pdf_file.read(), filetype="pdf")
69
 
70
  for page_num in range(len(doc)):
@@ -142,10 +144,6 @@ if __name__ == "__main__":
142
  # Örnek resim dosyasını indirme (eğer yoksa)
143
  if not os.path.exists("nougat_paper_example.png"):
144
  try:
145
- import requests
146
- from PIL import Image
147
- from io import BytesIO
148
-
149
  url = "https://huggingface.co/datasets/hf-internal-testing/fixtures_docvqa/resolve/main/nougat_paper.png"
150
  response = requests.get(url)
151
  img = Image.open(BytesIO(response.content))
@@ -154,4 +152,4 @@ if __name__ == "__main__":
154
  except Exception as e:
155
  print(f"Örnek resim indirilemedi: {e}")
156
 
157
- demo.launch(debug=True)
 
7
  import fitz # PyMuPDF
8
  from typing import List
9
  import os
10
+ import requests
11
+ from io import BytesIO
12
 
13
  # --- Model ve İşlemci Yükleme ---
14
  # Modelin yalnızca bir kez yüklenmesini sağlamak için global olarak tanımlıyoruz.
 
44
  outputs = model.generate(
45
  pixel_values.to(device),
46
  min_length=1,
47
+ max_new_tokens=4096, # Hugging Face ücretsiz katmanlarında daha düşük bir değere ayarlamanız gerekebilir
48
  bad_words_ids=[[processor.tokenizer.unk_token_id]],
49
  )
50
 
51
  # Çıktıyı okunabilir metne dönüştürme ve son işleme
52
  sequence = processor.batch_decode(outputs, skip_special_tokens=True)
53
+ sequence = processor.post_process_generation(sequence[0], fix_markdown=False)
54
 
55
+ return sequence
 
56
  except Exception as e:
57
  return f"Görüntü işlenirken bir hata oluştu: {e}"
58
 
 
62
  return "Model yüklenemedi veya PDF dosyası yüklenmedi."
63
 
64
  # DÜZELTME: Değişken, boş bir liste olarak doğru şekilde başlatıldı.
65
+ full_markdown_content = []
66
  doc = None # doc değişkenini try bloğundan önce tanımla
67
  try:
68
  # Gelen dosya nesnesinden PDF'i oku
69
+ # Gradio'nun geçici dosya nesnesinin adını kullanıyoruz
70
  doc = fitz.open(stream=pdf_file.read(), filetype="pdf")
71
 
72
  for page_num in range(len(doc)):
 
144
  # Örnek resim dosyasını indirme (eğer yoksa)
145
  if not os.path.exists("nougat_paper_example.png"):
146
  try:
 
 
 
 
147
  url = "https://huggingface.co/datasets/hf-internal-testing/fixtures_docvqa/resolve/main/nougat_paper.png"
148
  response = requests.get(url)
149
  img = Image.open(BytesIO(response.content))
 
152
  except Exception as e:
153
  print(f"Örnek resim indirilemedi: {e}")
154
 
155
+ demo.launch(debug=True)