VietCat commited on
Commit
7fcb72d
·
1 Parent(s): 548c878

fix runtime error

Browse files
Files changed (3) hide show
  1. Dockerfile +10 -7
  2. app.py +22 -22
  3. requirements.txt +2 -3
Dockerfile CHANGED
@@ -1,17 +1,20 @@
1
  FROM python:3.10-slim
2
 
 
 
 
 
 
3
  WORKDIR /app
4
 
 
5
  COPY requirements.txt .
6
-
7
  RUN pip install --no-cache-dir -r requirements.txt
8
 
9
- COPY . .
10
-
11
- # Tạo thư mục cache theo chuẩn Hugging Face
12
- RUN mkdir -p /app/hf_cache && chmod -R 777 /app/hf_cache
13
 
14
- # Đặt biến môi trường đúng chuẩn mới
15
- ENV HF_HOME=/app/hf_cache
16
 
17
  CMD ["python", "app.py"]
 
1
  FROM python:3.10-slim
2
 
3
+ # Set env vars to avoid permission issues and suppress deprecation warnings
4
+ ENV TRANSFORMERS_CACHE=/app/cache \
5
+ HF_HOME=/app/cache \
6
+ PYTHONUNBUFFERED=1
7
+
8
  WORKDIR /app
9
 
10
+ # Install dependencies
11
  COPY requirements.txt .
 
12
  RUN pip install --no-cache-dir -r requirements.txt
13
 
14
+ # Copy source code
15
+ COPY app.py .
16
+ RUN mkdir -p /app/cache /app/flagged
 
17
 
18
+ EXPOSE 7860
 
19
 
20
  CMD ["python", "app.py"]
app.py CHANGED
@@ -1,36 +1,36 @@
1
- import os
 
2
  import gradio as gr
3
- from transformers import GPT2Tokenizer, GPT2LMHeadModel
4
 
5
  model_id = "NlpHUST/gpt2-vietnamese"
6
 
 
7
  tokenizer = GPT2Tokenizer.from_pretrained(model_id)
8
  model = GPT2LMHeadModel.from_pretrained(model_id)
9
 
10
- def generate(prompt, max_length=100, temperature=0.8):
11
- input_ids = tokenizer.encode(prompt, return_tensors="pt")
12
- output = model.generate(
13
- input_ids,
14
- max_length=max_length,
15
- do_sample=True,
16
- temperature=temperature,
17
- top_p=0.95
18
- )
19
- return tokenizer.decode(output[0], skip_special_tokens=True)
20
 
 
 
 
 
 
 
 
21
  demo = gr.Interface(
22
- fn=generate,
23
  inputs=[
24
- gr.Textbox(label="Nhập nội dung đầu vào"),
25
- gr.Slider(50, 200, value=100, step=10, label="Độ dài tối đa"),
26
- gr.Slider(0.1, 1.0, value=0.8, step=0.05, label="Temperature")
27
  ],
28
  outputs="text",
29
- title="Sinh văn bản tiếng Việt bằng GPT-2",
30
- description=(
31
- "Dùng mô hình GPT-2 Vietnamese từ NlpHUST để sinh văn bản tiếng Việt."
32
- ),
33
- allow_flagging="never" # 👈 dòng quan trọng
34
  )
35
 
36
- demo.launch()
 
1
+ from transformers import GPT2LMHeadModel, GPT2Tokenizer
2
+ import torch
3
  import gradio as gr
 
4
 
5
  model_id = "NlpHUST/gpt2-vietnamese"
6
 
7
+ # Load model and tokenizer
8
  tokenizer = GPT2Tokenizer.from_pretrained(model_id)
9
  model = GPT2LMHeadModel.from_pretrained(model_id)
10
 
11
+ # Set to eval mode and use GPU if available
12
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
13
+ model.to(device)
14
+ model.eval()
 
 
 
 
 
 
15
 
16
+ # Inference function
17
+ def generate_text(prompt, max_length=100, temperature=1.0):
18
+ inputs = tokenizer.encode(prompt, return_tensors="pt").to(device)
19
+ outputs = model.generate(inputs, max_length=max_length, temperature=temperature, do_sample=True)
20
+ return tokenizer.decode(outputs[0], skip_special_tokens=True)
21
+
22
+ # Gradio interface
23
  demo = gr.Interface(
24
+ fn=generate_text,
25
  inputs=[
26
+ gr.Textbox(label="Nhập văn bản đầu vào", placeholder="Viết gì đó bằng tiếng Việt..."),
27
+ gr.Slider(20, 300, value=100, step=10, label="Độ dài tối đa"),
28
+ gr.Slider(0.5, 1.5, value=1.0, step=0.1, label="Nhiệt độ (Temperature)")
29
  ],
30
  outputs="text",
31
+ title="Sinh văn bản tiếng Việt",
32
+ description="Dùng mô hình GPT-2 Vietnamese từ NlpHUST để sinh văn bản tiếng Việt.",
33
+ allow_flagging="never"
 
 
34
  )
35
 
36
+ demo.launch(server_name="0.0.0.0", server_port=7860)
requirements.txt CHANGED
@@ -1,4 +1,3 @@
1
- numpy<2.0
2
  torch==2.1.2
3
- transformers==4.39.3
4
- gradio==4.44.1
 
1
+ transformers==4.40.0
2
  torch==2.1.2
3
+ gradio==4.27.0