mirror of
				https://github.com/deepset-ai/haystack.git
				synced 2025-11-03 19:29:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
FROM  nvidia/cuda:11.0-runtime-ubuntu20.04
 | 
						|
 | 
						|
WORKDIR /home/user
 | 
						|
 | 
						|
RUN apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa
 | 
						|
RUN apt-get update && apt-get install -y python3.7 python3.7-dev python3.7-distutils python3-pip curl wget git pkg-config cmake swig
 | 
						|
 | 
						|
ENV LC_ALL=C.UTF-8
 | 
						|
ENV LANG=C.UTF-8
 | 
						|
 | 
						|
# Set default Python version
 | 
						|
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
 | 
						|
RUN update-alternatives --set python3 /usr/bin/python3.7
 | 
						|
 | 
						|
# Install PDF converter
 | 
						|
RUN wget --no-check-certificate https://dl.xpdfreader.com/xpdf-tools-linux-4.03.tar.gz && \
 | 
						|
tar -xvf xpdf-tools-linux-4.03.tar.gz && cp xpdf-tools-linux-4.03/bin64/pdftotext /usr/local/bin
 | 
						|
 | 
						|
# copy code
 | 
						|
COPY haystack /home/user/haystack
 | 
						|
 | 
						|
# install as a package
 | 
						|
COPY setup.py requirements.txt README.md /home/user/
 | 
						|
RUN pip3 install numpy scipy Cython
 | 
						|
 | 
						|
# Install PyTorch for CUDA 11
 | 
						|
RUN pip3 install torch==1.7.1+cu110 -f https://download.pytorch.org/whl/torch_stable.html
 | 
						|
# Install faiss separately as building latest versions can cause trouble with swig
 | 
						|
RUN pip3 install faiss-cpu==1.6.3
 | 
						|
 | 
						|
RUN pip3 install -r requirements.txt
 | 
						|
RUN pip3 install -e .
 | 
						|
 | 
						|
# copy saved models
 | 
						|
COPY README.md models* /home/user/models/
 | 
						|
 | 
						|
# Copy REST API code
 | 
						|
COPY rest_api /home/user/rest_api
 | 
						|
 | 
						|
# optional : copy sqlite db if needed for testing
 | 
						|
#COPY qa.db /home/user/
 | 
						|
 | 
						|
# optional: copy data directory containing docs for ingestion
 | 
						|
#COPY data /home/user/data
 | 
						|
 | 
						|
EXPOSE 8000
 | 
						|
 | 
						|
# cmd for running the API (note: "--preload" is not working with cuda)
 | 
						|
CMD ["gunicorn", "rest_api.application:app",  "-b", "0.0.0.0", "-k", "uvicorn.workers.UvicornWorker", "--workers", "1", "--timeout", "180"] |