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
|