Spaces:
Running
Running
fix build error
Browse files- Dockerfile +11 -4
- app.py +22 -8
- requirements.txt +13 -1
Dockerfile
CHANGED
@@ -2,6 +2,11 @@ FROM python:3.10-slim
|
|
2 |
|
3 |
WORKDIR /app
|
4 |
|
|
|
|
|
|
|
|
|
|
|
5 |
# Install dependencies
|
6 |
COPY requirements.txt .
|
7 |
RUN pip install --no-cache-dir -r requirements.txt
|
@@ -9,12 +14,14 @@ RUN pip install --no-cache-dir -r requirements.txt
|
|
9 |
# Copy source code
|
10 |
COPY app.py .
|
11 |
|
12 |
-
#
|
13 |
-
RUN mkdir -p /app/cache
|
14 |
|
|
|
15 |
ENV HF_HOME=/app/cache \
|
16 |
-
PYTHONUNBUFFERED=1
|
|
|
17 |
|
18 |
EXPOSE 7860
|
19 |
|
20 |
-
CMD ["python", "app.py"]
|
|
|
2 |
|
3 |
WORKDIR /app
|
4 |
|
5 |
+
# Install system dependencies
|
6 |
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
7 |
+
gcc \
|
8 |
+
&& rm -rf /var/lib/apt/lists/*
|
9 |
+
|
10 |
# Install dependencies
|
11 |
COPY requirements.txt .
|
12 |
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
14 |
# Copy source code
|
15 |
COPY app.py .
|
16 |
|
17 |
+
# Create cache directory and set permissions
|
18 |
+
RUN mkdir -p /app/cache && chmod -R 777 /app/cache
|
19 |
|
20 |
+
# Set env vars
|
21 |
ENV HF_HOME=/app/cache \
|
22 |
+
PYTHONUNBUFFERED=1 \
|
23 |
+
PYTHONWARNINGS=ignore::FutureWarning
|
24 |
|
25 |
EXPOSE 7860
|
26 |
|
27 |
+
CMD ["python", "app.py"]
|
app.py
CHANGED
@@ -1,23 +1,37 @@
|
|
1 |
import os
|
2 |
-
os.environ["HF_HOME"] = "/tmp/hf_home"
|
3 |
-
|
4 |
from transformers import GPT2LMHeadModel, GPT2Tokenizer
|
5 |
import torch
|
6 |
import gradio as gr
|
7 |
|
|
|
8 |
model_id = "NlpHUST/gpt2-vietnamese"
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
11 |
|
|
|
12 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
13 |
model.to(device)
|
14 |
model.eval()
|
15 |
|
16 |
def generate_text(prompt, max_length=100, temperature=1.0):
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
21 |
demo = gr.Interface(
|
22 |
fn=generate_text,
|
23 |
inputs=[
|
@@ -32,4 +46,4 @@ demo = gr.Interface(
|
|
32 |
)
|
33 |
|
34 |
if __name__ == "__main__":
|
35 |
-
demo.launch(server_name="0.0.0.0", server_port=7860)
|
|
|
1 |
import os
|
|
|
|
|
2 |
from transformers import GPT2LMHeadModel, GPT2Tokenizer
|
3 |
import torch
|
4 |
import gradio as gr
|
5 |
|
6 |
+
# Load model and tokenizer
|
7 |
model_id = "NlpHUST/gpt2-vietnamese"
|
8 |
+
try:
|
9 |
+
tokenizer = GPT2Tokenizer.from_pretrained(model_id)
|
10 |
+
model = GPT2LMHeadModel.from_pretrained(model_id)
|
11 |
+
except Exception as e:
|
12 |
+
print(f"Error loading model: {e}")
|
13 |
+
raise e
|
14 |
|
15 |
+
# Set device
|
16 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
17 |
model.to(device)
|
18 |
model.eval()
|
19 |
|
20 |
def generate_text(prompt, max_length=100, temperature=1.0):
|
21 |
+
try:
|
22 |
+
inputs = tokenizer.encode(prompt, return_tensors="pt").to(device)
|
23 |
+
outputs = model.generate(
|
24 |
+
inputs,
|
25 |
+
max_length=max_length,
|
26 |
+
temperature=temperature,
|
27 |
+
do_sample=True,
|
28 |
+
num_beams=1
|
29 |
+
)
|
30 |
+
return tokenizer.decode(outputs[0], skip_special_tokens=True)
|
31 |
+
except Exception as e:
|
32 |
+
return f"Error generating text: {e}"
|
33 |
|
34 |
+
# Gradio interface
|
35 |
demo = gr.Interface(
|
36 |
fn=generate_text,
|
37 |
inputs=[
|
|
|
46 |
)
|
47 |
|
48 |
if __name__ == "__main__":
|
49 |
+
demo.launch(server_name="0.0.0.0", server_port=7860)
|
requirements.txt
CHANGED
@@ -1,4 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
transformers==4.40.0
|
2 |
-
|
|
|
|
|
3 |
gradio==4.44.1
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
1 |
+
# CPU-friendly PyTorch
|
2 |
+
torch==2.1.2+cpu
|
3 |
+
-f https://download.pytorch.org/whl/torch_stable.html
|
4 |
+
|
5 |
+
# Transformers / Sentence Transformers
|
6 |
transformers==4.40.0
|
7 |
+
sentence-transformers==2.7.0
|
8 |
+
|
9 |
+
# Gradio app
|
10 |
gradio==4.44.1
|
11 |
+
fastapi
|
12 |
+
uvicorn
|
13 |
|
14 |
+
# Tools
|
15 |
+
pandas
|
16 |
+
numpy
|