|
|
|
|
|
|
|
|
|
|
|
FROM continuumio/miniconda3:latest |
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
|
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
COPY environment.yml . |
|
|
|
|
|
|
|
|
RUN conda install -n base -c conda-forge mamba -y |
|
|
|
|
|
|
|
|
RUN mamba env create -f environment.yml && \ |
|
|
conda clean -afy |
|
|
|
|
|
|
|
|
SHELL ["conda", "run", "-n", "myapp-env", "/bin/bash", "-c"] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RUN echo "--- KIỂM TRA MÔI TRƯỜNG SAU KHI CÀI ĐẶT ---" && \ |
|
|
echo "Kiến trúc hệ thống:" && uname -m && \ |
|
|
echo "Đường dẫn Conda:" && which conda && \ |
|
|
echo "Đường dẫn Python:" && which python && \ |
|
|
echo "Phiên bản Python:" && python --version && \ |
|
|
echo "--- Thông tin PyTorch: ---" && \ |
|
|
python -c "import torch; print(f'PyTorch version: {torch.__version__}'); print(f'CUDA available for PyTorch: {torch.cuda.is_available()}'); print(f'PyTorch built with CUDA version: {torch.version.cuda if torch.cuda.is_available() else \"N/A\"}'); print(f'cuDNN version: {torch.backends.cudnn.version() if torch.cuda.is_available() and torch.backends.cudnn.is_available() else \"N/A\"}'); print(f'Number of GPUs available to PyTorch: {torch.cuda.device_count()}')" && \ |
|
|
echo "--- Thông tin Faiss: ---" && \ |
|
|
python -c "import faiss; print(f'Faiss version: {faiss.__version__}'); print(f'Number of GPUs available to Faiss: {faiss.get_num_gpus()}')" && \ |
|
|
echo "--- Danh sách một số gói pip quan trọng: ---" && \ |
|
|
pip list | grep -E 'gradio|torch|faiss|unsloth|sentence-transformers|transformers|numpy|rank_bm25|huggingface_hub' && \ |
|
|
echo "--- KẾT THÚC KIỂM TRA MÔI TRƯỜNG ---" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CMD ["conda", "run", "-n", "myapp-env", "python", "app.py"] |