Spaces:
Build error
Build error
install dependencies
Browse files- Dockerfile +40 -0
- environment.yml +23 -0
Dockerfile
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 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.
|
| 2 |
+
# Ví dụ: nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 sau đó cài Miniconda vào.
|
| 3 |
+
# Hoặc dùng continuumio/miniconda3 và dựa vào cudatoolkit từ environment.yml.
|
| 4 |
+
FROM continuumio/miniconda3:latest
|
| 5 |
+
|
| 6 |
+
# Tạo thư mục làm việc
|
| 7 |
+
WORKDIR /app
|
| 8 |
+
|
| 9 |
+
# Sao chép file environment.yml vào image
|
| 10 |
+
COPY environment.yml .
|
| 11 |
+
|
| 12 |
+
# Tạo môi trường Conda từ file environment.yml
|
| 13 |
+
# Điều này sẽ cài đặt Python, Pip, Cudatoolkit=11.8, FAISS, và các gói khác trừ PyTorch.
|
| 14 |
+
RUN conda env create -f environment.yml
|
| 15 |
+
|
| 16 |
+
# Kích hoạt môi trường Conda và cài đặt PyTorch, torchvision, torchaudio bằng pip
|
| 17 |
+
# 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!
|
| 18 |
+
RUN echo "Installing PyTorch, torchvision, torchaudio with pip from PyTorch index..." && \
|
| 19 |
+
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
|
| 20 |
+
# Ví dụ nếu torch 2.3.0 có sẵn:
|
| 21 |
+
# 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
|
| 22 |
+
|
| 23 |
+
# Đặ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
|
| 24 |
+
# Đảm bảo tên môi trường ('llm-rag-env') khớp với tên trong environment.yml
|
| 25 |
+
SHELL ["conda", "run", "-n", "llm-rag-env", "/bin/bash", "-c"]
|
| 26 |
+
|
| 27 |
+
# (Tùy chọn nhưng khuyến khích) Xác minh cài đặt
|
| 28 |
+
RUN echo "Verifying installations..."
|
| 29 |
+
RUN python --version
|
| 30 |
+
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}')"
|
| 31 |
+
RUN python -c "import torchvision; print(f'Torchvision version: {torchvision.__version__}')"
|
| 32 |
+
RUN python -c "import torchaudio; print(f'Torchaudio version: {torchaudio.__version__}')"
|
| 33 |
+
RUN python -c "import faiss; print(f'FAISS version: {faiss.__version__}')"
|
| 34 |
+
RUN conda list # Liệt kê tất cả các gói trong môi trường Conda
|
| 35 |
+
|
| 36 |
+
# Sao chép mã nguồn ứng dụng của bạn vào image
|
| 37 |
+
COPY . .
|
| 38 |
+
|
| 39 |
+
# 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)
|
| 40 |
+
CMD ["python", "app.py"]
|
environment.yml
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
name: llm-rag-env # Đặt tên cho môi trường của bạn
|
| 2 |
+
channels:
|
| 3 |
+
- nvidia # Kênh cho cudatoolkit (nếu Space của bạn có GPU)
|
| 4 |
+
- conda-forge # Kênh cho faiss và các gói khác
|
| 5 |
+
- defaults
|
| 6 |
+
dependencies:
|
| 7 |
+
- python=3.11 # Hoặc phiên bản Python bạn muốn
|
| 8 |
+
- pip
|
| 9 |
+
# Quan trọng: Đảm bảo phiên bản cudatoolkit phù hợp với GPU trên Space
|
| 10 |
+
- cudatoolkit=11.8
|
| 11 |
+
# FAISS từ conda-forge
|
| 12 |
+
- conda-forge::faiss=1.9.0=*cuda* # Dấu *cuda* để Conda tìm bản build GPU
|
| 13 |
+
# Các gói khác
|
| 14 |
+
- huggingface_hub==0.31.2 # Hoặc phiên bản mới nhất bạn muốn
|
| 15 |
+
- gradio==5.31.0 # Hoặc phiên bản mới nhất bạn muốn
|
| 16 |
+
- sentence-transformers==4.1.0 # Thêm ==phiên_bản
|
| 17 |
+
- unsloth==2025.5.7 # Thêm ==phiên_bản
|
| 18 |
+
- transformers # Thêm ==phiên_bản
|
| 19 |
+
- rank_bm25==0.2.2
|
| 20 |
+
- numpy==1.26.4
|
| 21 |
+
# Nếu có gói nào chỉ có trên pip và không có trên Conda channels
|
| 22 |
+
# - pip:
|
| 23 |
+
# - ten-goi-pip
|