astart01 commited on
Commit
45eddb7
·
1 Parent(s): 88a3e54

bubububbu

Browse files
Files changed (2) hide show
  1. Dockerfile +2 -6
  2. app.py +21 -11
Dockerfile CHANGED
@@ -11,7 +11,7 @@ RUN apt-get update && apt-get install -y \
11
  && apt-get clean && rm -rf /var/lib/apt/lists/*
12
 
13
  # Явная установка NumPy перед остальными зависимостями
14
- RUN pip install --no-cache-dir numpy==1.26.4
15
 
16
  # Установка остальных зависимостей
17
  RUN pip install --no-cache-dir -r requirements.txt
@@ -25,8 +25,4 @@ RUN python -c "import numpy; print(f'NumPy version: {numpy.__version__}')" \
25
  EXPOSE 8501
26
 
27
  # Запуск Streamlit
28
- CMD ["streamlit", "run", "app.py", "--server.address=0.0.0.0"]
29
-
30
- # В конце Dockerfile добавьте:
31
- # Установка правильных разрешений для временных директорий
32
- RUN mkdir -p /tmp && chmod 777 /tmp
 
11
  && apt-get clean && rm -rf /var/lib/apt/lists/*
12
 
13
  # Явная установка NumPy перед остальными зависимостями
14
+ RUN pip install --no-cache-dir numpy==2.1.3
15
 
16
  # Установка остальных зависимостей
17
  RUN pip install --no-cache-dir -r requirements.txt
 
25
  EXPOSE 8501
26
 
27
  # Запуск Streamlit
28
+ CMD ["streamlit", "run", "app.py", "--server.address=0.0.0.0"]
 
 
 
 
app.py CHANGED
@@ -28,23 +28,33 @@ def clean_text(text):
28
  text = text.translate(str.maketrans('', '', string.punctuation))
29
  return text
30
 
31
- def extract_text_with_pypdf2(pdf_file):
32
  text = ""
33
  try:
34
- import io
35
- from PyPDF2 import PdfReader
 
36
 
37
- # Чтение PDF из памяти
38
- pdf_bytes = io.BytesIO(pdf_file.getvalue())
39
- reader = PdfReader(pdf_bytes)
40
 
41
- # Получение текста из всех страниц
42
- for page in reader.pages:
43
- page_text = page.extract_text() or ""
44
- text += page_text
 
 
 
 
 
 
 
 
 
 
45
 
46
  except Exception as e:
47
- st.error(f"Ошибка при чтении PDF через PyPDF2: {e}")
48
  import traceback
49
  st.code(traceback.format_exc())
50
 
 
28
  text = text.translate(str.maketrans('', '', string.punctuation))
29
  return text
30
 
31
+ def extract_text_from_pdf(pdf_file):
32
  text = ""
33
  try:
34
+ # Сохраняем во временный файл
35
+ import tempfile
36
+ import os
37
 
38
+ # Создаем временную директорию, если её нет
39
+ os.makedirs('/tmp', exist_ok=True)
 
40
 
41
+ # Сохраняем во временный файл
42
+ temp_path = f"/tmp/{pdf_file.name}"
43
+ with open(temp_path, 'wb') as f:
44
+ f.write(pdf_file.getbuffer())
45
+
46
+ st.info(f"Файл сохранен по пути: {temp_path}")
47
+
48
+ # Открываем PDF из файла
49
+ with fitz.open(temp_path) as doc:
50
+ for page in doc:
51
+ text += page.get_text()
52
+
53
+ # Удаляем временный файл
54
+ os.remove(temp_path)
55
 
56
  except Exception as e:
57
+ st.error(f"Ошибка при чтении PDF: {e}")
58
  import traceback
59
  st.code(traceback.format_exc())
60