File size: 1,002 Bytes
3a87a16
 
 
 
 
 
 
d6faa4c
 
e48047d
 
d6faa4c
 
 
 
 
 
 
 
 
e48047d
3a87a16
 
 
 
bfeb704
 
d6faa4c
 
3a87a16
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# ── 构建时预下载两个模型,冷启动无需联网 ──────────────────────────────────────
# EN / AR 模型:GLiNER 零样本多语言(~1 GB)
RUN python -c "\
from gliner import GLiNER; \
GLiNER.from_pretrained('urchade/gliner_multi-v2.1', cache_dir='/app/model_cache')"

# ZH 模型:BERT 专用中文 NER(~400 MB)
RUN python -c "\
from transformers import pipeline; \
pipeline('token-classification', \
         model='shibing624/bert4ner-base-chinese', \
         model_kwargs={'cache_dir': '/app/model_cache'}, \
         aggregation_strategy='simple')"

COPY app/ app/
COPY run.py .

ENV HOST=0.0.0.0
ENV PORT=7860
ENV MODEL_CACHE_DIR=/app/model_cache
ENV EN_MODEL_NAME=urchade/gliner_multi-v2.1
ENV ZH_MODEL_NAME=shibing624/bert4ner-base-chinese

EXPOSE 7860

CMD ["python", "run.py"]