| |
| FROM pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime |
|
|
| |
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| build-essential \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN useradd -m -u 1000 appuser |
|
|
| |
| RUN mkdir -p /.cache/huggingface && \ |
| mkdir -p /.cache/torch && \ |
| mkdir -p /.cache/sentence_transformers && \ |
| chown -R appuser:appuser /.cache && \ |
| chmod -R 777 /.cache |
|
|
| |
| ENV HF_HOME="/.cache/huggingface" |
| ENV TORCH_HOME="/.cache/torch" |
| ENV SENTENCE_TRANSFORMERS_HOME="/.cache/sentence_transformers" |
|
|
| |
| RUN pip install --no-cache-dir \ |
| pandas \ |
| torch \ |
| sentence-transformers \ |
| transformers \ |
| numpy \ |
| faiss-cpu \ |
| fastapi \ |
| uvicorn[standard] \ |
| pydantic \ |
| python-multipart \ |
| huggingface_hub \ |
| accelerate>=0.26.0 |
|
|
| |
| COPY plant_data_chunks_and_embeddings.csv /app/plant_data_chunks_and_embeddings.csv |
| COPY main.py /app/main.py |
|
|
| |
| RUN chown -R appuser:appuser /app |
|
|
| |
| USER appuser |
|
|
| |
| ENV PYTHONPATH=/app |
|
|
| |
| EXPOSE 5000 |
|
|
| |
| CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "5000"] |