Spaces:
Paused
Paused
Commit ·
9cfe3eb
1
Parent(s): bfbf130
Default to no preload for stable Space startup
Browse files- Dockerfile +2 -1
- web/README.md +4 -2
- web/main.py +2 -1
Dockerfile
CHANGED
|
@@ -7,7 +7,8 @@ ENV DEBIAN_FRONTEND=noninteractive \
|
|
| 7 |
HF_HOME=/data/.huggingface \
|
| 8 |
HUGGINGFACE_HUB_CACHE=/data/.huggingface/hub \
|
| 9 |
TRANSFORMERS_CACHE=/data/.huggingface/transformers \
|
| 10 |
-
WEB_PRELOAD_MODELS=
|
|
|
|
| 11 |
|
| 12 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 13 |
python3 \
|
|
|
|
| 7 |
HF_HOME=/data/.huggingface \
|
| 8 |
HUGGINGFACE_HUB_CACHE=/data/.huggingface/hub \
|
| 9 |
TRANSFORMERS_CACHE=/data/.huggingface/transformers \
|
| 10 |
+
WEB_PRELOAD_MODELS=0 \
|
| 11 |
+
ANSWER_REWRITE_ENABLED=0
|
| 12 |
|
| 13 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 14 |
python3 \
|
web/README.md
CHANGED
|
@@ -21,6 +21,8 @@ Nếu muốn preload toàn bộ model khi startup trên GPU:
|
|
| 21 |
WEB_PRELOAD_MODELS=1 uvicorn web.main:app --host 0.0.0.0 --port 8000
|
| 22 |
```
|
| 23 |
|
|
|
|
|
|
|
| 24 |
Khi chạy trên GPU, nên để `--workers 1` để tránh mỗi worker nạp một bản model riêng.
|
| 25 |
|
| 26 |
### Chạy bằng Docker
|
|
@@ -37,7 +39,7 @@ Run container trên máy có GPU:
|
|
| 37 |
docker run --rm \
|
| 38 |
--gpus all \
|
| 39 |
-p 8000:8000 \
|
| 40 |
-
-e WEB_PRELOAD_MODELS=
|
| 41 |
-v medical-vqa-hf-cache:/hf_cache \
|
| 42 |
medical-vqa-web
|
| 43 |
```
|
|
@@ -46,7 +48,7 @@ Nếu muốn chạy lại nhanh hơn, giữ volume cache `medical-vqa-hf-cache`
|
|
| 46 |
|
| 47 |
### Tùy chọn: rewrite output bằng Qwen
|
| 48 |
|
| 49 |
-
Lớp rewrite hiện
|
| 50 |
Nếu bạn muốn đổi sang model repo khác trên Hub, đặt thêm các biến môi trường sau:
|
| 51 |
|
| 52 |
```bash
|
|
|
|
| 21 |
WEB_PRELOAD_MODELS=1 uvicorn web.main:app --host 0.0.0.0 --port 8000
|
| 22 |
```
|
| 23 |
|
| 24 |
+
Mặc định hiện tại là `WEB_PRELOAD_MODELS=0` để Space khởi động nhẹ hơn. Chỉ bật `1` khi GPU đủ mạnh và bạn muốn preload trước.
|
| 25 |
+
|
| 26 |
Khi chạy trên GPU, nên để `--workers 1` để tránh mỗi worker nạp một bản model riêng.
|
| 27 |
|
| 28 |
### Chạy bằng Docker
|
|
|
|
| 39 |
docker run --rm \
|
| 40 |
--gpus all \
|
| 41 |
-p 8000:8000 \
|
| 42 |
+
-e WEB_PRELOAD_MODELS=0 \
|
| 43 |
-v medical-vqa-hf-cache:/hf_cache \
|
| 44 |
medical-vqa-web
|
| 45 |
```
|
|
|
|
| 48 |
|
| 49 |
### Tùy chọn: rewrite output bằng Qwen
|
| 50 |
|
| 51 |
+
Lớp rewrite hiện tắt mặc định để tiết kiệm bộ nhớ. Nếu muốn bật lại, đặt `ANSWER_REWRITE_ENABLED=1` và chỉ định model trên Hugging Face Hub.
|
| 52 |
Nếu bạn muốn đổi sang model repo khác trên Hub, đặt thêm các biến môi trường sau:
|
| 53 |
|
| 54 |
```bash
|
web/main.py
CHANGED
|
@@ -127,7 +127,8 @@ class VQAServerState:
|
|
| 127 |
self.a_models: dict[str, dict[str, Any]] = {}
|
| 128 |
self.llava_bundle: dict[str, Any] | None = None
|
| 129 |
self.question_suggestions: list[dict[str, Any]] = []
|
| 130 |
-
|
|
|
|
| 131 |
|
| 132 |
@property
|
| 133 |
def phobert_model(self) -> str:
|
|
|
|
| 127 |
self.a_models: dict[str, dict[str, Any]] = {}
|
| 128 |
self.llava_bundle: dict[str, Any] | None = None
|
| 129 |
self.question_suggestions: list[dict[str, Any]] = []
|
| 130 |
+
# Giữ mặc định là không preload để tránh ngốn RAM/VRAM khi Space khởi động.
|
| 131 |
+
self.preload_models = os.getenv("WEB_PRELOAD_MODELS", "0") == "1"
|
| 132 |
|
| 133 |
@property
|
| 134 |
def phobert_model(self) -> str:
|