nerserver / Dockerfile
Robin
feat: dual-model routing + fallback strategy (v3.0)
d6faa4c
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"]