Ming3993 commited on
Commit
6923a93
·
1 Parent(s): cb37894

Deploy: Add Dockerfile and requirements.txt to deploy

Browse files
Files changed (2) hide show
  1. Dockerfile +68 -0
  2. Final/requirements.txt +28 -12
Dockerfile ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Sử dụng Python 3.10
2
+ FROM python:3.10-slim-bookworm
3
+
4
+ # ==========================================
5
+ # 1. CÀI ĐẶT HỆ THỐNG
6
+ # ==========================================
7
+ RUN apt-get update && \
8
+ apt-get install -y \
9
+ default-jdk-headless \
10
+ wget \
11
+ curl \
12
+ unzip \
13
+ git \
14
+ build-essential \
15
+ && apt-get clean && rm -rf /var/lib/apt/lists/*
16
+
17
+ ENV JAVA_HOME=/usr/lib/jvm/default-java
18
+
19
+ # ==========================================
20
+ # 2. CHUẨN BỊ MÔI TRƯỜNG
21
+ # ==========================================
22
+ WORKDIR /app
23
+
24
+ # Copy requirements từ folder Final (Nơi chứa dependency thực tế của App)
25
+ COPY Final/requirements.txt .
26
+
27
+ # Cài đặt thư viện
28
+ RUN pip install --no-cache-dir --upgrade pip && \
29
+ pip install --no-cache-dir -r requirements.txt
30
+
31
+ # ==========================================
32
+ # 3. CÀI ĐẶT PLAYWRIGHT & VNCORENLP
33
+ # ==========================================
34
+ RUN pip install playwright && \
35
+ playwright install chromium --with-deps
36
+
37
+ # Tải model VnCoreNLP
38
+ RUN mkdir -p /app/vncorenlp
39
+ RUN python -c "import py_vncorenlp; py_vncorenlp.download_model(save_dir='/app/vncorenlp')"
40
+
41
+ # ==========================================
42
+ # 4. THIẾT LẬP USER (Bắt buộc cho HF Spaces)
43
+ # ==========================================
44
+ RUN useradd -m -u 1000 user
45
+
46
+ # --- ĐIỂM QUAN TRỌNG NHẤT VỚI CẤU TRÚC CỦA BẠN ---
47
+ # Copy toàn bộ nội dung BÊN TRONG thư mục 'Final/' vào '/app'
48
+ # Lúc này:
49
+ # /app/app.py
50
+ # /app/logic.py
51
+ # /app/Module/
52
+ # sẽ nằm cùng cấp, code import sẽ chạy đúng.
53
+ COPY --chown=user:user Final/ .
54
+
55
+ # Phân quyền
56
+ RUN chown -R user:user /app
57
+
58
+ USER user
59
+ ENV HOME=/home/user \
60
+ PATH=/home/user/.local/bin:$PATH
61
+
62
+ # ==========================================
63
+ # 5. CHẠY APP
64
+ # ==========================================
65
+ EXPOSE 7860
66
+
67
+ # Vì đã copy contents của Final ra root /app, nên app.py nằm ngay tại đây
68
+ CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]
Final/requirements.txt CHANGED
@@ -1,19 +1,35 @@
1
- gradio
2
- transformers
 
 
 
 
 
3
  torch
 
4
  sentence-transformers
5
  datasets
6
- duckduckgo-search
7
- tldextract
8
- requests
9
- python-dotenv
10
- azure-ai-inference
11
- azure-core
12
  openai
13
- pdfminer.six
 
 
 
 
 
 
 
 
 
 
14
  playwright
15
  playwright-stealth
 
 
 
16
  aiohttp
17
- underthesea
18
- tiktoken
19
- sentencepiece
 
 
 
 
1
+ # --- Web App & Visualization ---
2
+ streamlit
3
+ plotly
4
+ tqdm
5
+ regex
6
+
7
+ # --- AI Core & Deep Learning ---
8
  torch
9
+ transformers
10
  sentence-transformers
11
  datasets
 
 
 
 
 
 
12
  openai
13
+ tiktoken
14
+
15
+ # --- NLP & Vietnamese Processing ---
16
+ underthesea
17
+ py-vncorenlp
18
+ sentencepiece
19
+ unidecode
20
+ vnauto
21
+ langchain-text-splitters
22
+
23
+ # --- Web Scraping & Search ---
24
  playwright
25
  playwright-stealth
26
+ trafilatura
27
+ tldextract
28
+ requests
29
  aiohttp
30
+
31
+ # --- Utilities & File Processing ---
32
+ # 'dotenv' thường là tên module, gói cài đặt chuẩn là python-dotenv
33
+ python-dotenv
34
+ pdfplumber
35
+ pdfminer.six