AI_Menu_Search / Dockerfile.api
Juhaha
HF Spaces 데모 배포 (Streamlit + Qdrant 임베디드, 색인 빌드타임 생성)
fbd1091
Raw
History Blame Contribute Delete
1.19 kB
# 영웅문 S# AI 메뉴 검색 — FastAPI 검색 에이전트 이미지 (docker-compose / 사내 서버용)
# Qdrant는 별도 컨테이너(server 모드)에 연결한다. HF Spaces 배포는 루트 Dockerfile 참고.
FROM python:3.13-slim
WORKDIR /app
# 빌드 도구 (sentence-transformers/kiwipiepy 등 일부 소스 빌드 대비)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential curl \
&& rm -rf /var/lib/apt/lists/*
# torch는 CPU 전용 휠로 설치 (기본 설치 시 거대한 CUDA 빌드를 받는 것 방지)
RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu
# 의존성 (소스보다 먼저 복사 → 레이어 캐시 활용)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 애플리케이션 코드
COPY . .
# bge-m3 모델 캐시 위치 (compose에서 named volume으로 마운트 → 재빌드 시 재다운로드 방지)
ENV HF_HOME=/app/.hf_cache \
TRANSFORMERS_OFFLINE=0 \
TOKENIZERS_PARALLELISM=false \
PYTHONUNBUFFERED=1
ENTRYPOINT ["bash", "docker-entrypoint.sh"]
CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8000"]