File size: 2,416 Bytes
af7c566
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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"]