# Chọn một base image. Nếu Space của bạn là GPU, một image có sẵn CUDA và Conda sẽ tốt hơn. # Ví dụ: nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 sau đó cài Miniconda vào. # Hoặc dùng continuumio/miniconda3 và dựa vào cudatoolkit từ environment.yml. FROM continuumio/miniconda3:latest # Tạo thư mục làm việc WORKDIR /app # Sao chép file environment.yml vào image COPY environment.yml . # Tạo môi trường Conda từ file environment.yml # Điều này sẽ cài đặt Python, Pip, Cudatoolkit=11.8, FAISS, và các gói khác trừ PyTorch. RUN conda env create -f environment.yml # Kích hoạt môi trường Conda và cài đặt PyTorch, torchvision, torchaudio bằng pip # QUAN TRỌNG: Thay thế X.Y.Z và A.B.C bằng các phiên bản THỰC TẾ bạn tìm thấy trên index cu118! RUN echo "Installing PyTorch, torchvision, torchaudio with pip from PyTorch index..." && \ conda run -n llm-rag-env pip install torch==X.Y.Z torchvision==A.B.C torchaudio==X.Y.Z --index-url https://download.pytorch.org/whl/cu118 # Ví dụ nếu torch 2.3.0 có sẵn: # conda run -n llm-rag-env pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118 # Đặt SHELL để các lệnh RUN và CMD/ENTRYPOINT tiếp theo mặc định chạy trong môi trường Conda đã kích hoạt # Đảm bảo tên môi trường ('llm-rag-env') khớp với tên trong environment.yml SHELL ["conda", "run", "-n", "llm-rag-env", "/bin/bash", "-c"] # (Tùy chọn nhưng khuyến khích) Xác minh cài đặt RUN echo "Verifying installations..." RUN python --version RUN python -c "import torch; print(f'PyTorch version: {torch.__version__}'); print(f'Torch CUDA available: {torch.cuda.is_available()}'); print(f'Torch built with CUDA version: {torch.version.cuda}')" RUN python -c "import torchvision; print(f'Torchvision version: {torchvision.__version__}')" RUN python -c "import torchaudio; print(f'Torchaudio version: {torchaudio.__version__}')" RUN python -c "import faiss; print(f'FAISS version: {faiss.__version__}')" RUN conda list # Liệt kê tất cả các gói trong môi trường Conda # Sao chép mã nguồn ứng dụng của bạn vào image COPY . . # Lệnh để chạy ứng dụng Gradio của bạn (thay app.py bằng tên file chính của bạn) CMD ["python", "app.py"]