Commit Graph

6 Commits

Author SHA1 Message Date
Joseph Young
9bea40bd40 Adding the missing env variable
ENV RAG_EMBEDDING_MODEL_DEVICE_TYPE="cuda"
2024-03-20 18:16:11 -04:00
Joseph Young
c5948d3e2c Updated Dockerfile for CUDA backend
Enabled NVIDIA CUDA backend build stage in the Dockerfile for enhanced performance with GPU support. Moved the environment variable defining the device type for the embedding and TTS models to be shared between CPU and GPU configurations. The default device type for CPU build is now explicitly set to "cpu", while the CUDA build retains "cuda", ensuring clarity and performance optimization across different hardware setups.
2024-03-17 22:50:52 -04:00
Joseph Young
c004ecdccc Refactor Dockerfile for CPU and CUDA builds
Switched to Chainguard images as base for both CPU and CUDA backend builds for improved security and compatibility. Replaced Ubuntu base with Chainguard's Python image for the CPU builds and PyTorch CUDA image for GPU acceleration, resolving python requirements conflicts. Updated package installation commands to align with the new Redhat-compatible base images. The Dockerfile now installs only the necessary dependencies, as Python is provided by the base image.

These changes will facilitate a more secure and streamlined build process with better dependency management across different platforms.
2024-03-17 17:03:43 -04:00
Joseph Young
e3b1cbbb86 Parametrize CUDA_VERSION in Dockerfile
Standardized CUDA_VERSION as a global ARG to ensure consistency and facilitate version updates across the Dockerfile. This change allows the CUDA version to be defined once at the beginning and reused, reducing the chance of mismatched versions and easing maintenance when changing CUDA versions. It further streamlines the build process for potential multi-stage builds with varying CUDA dependencies.

Refs #nvidia-update
2024-03-17 02:27:06 -04:00
Joseph Young
f6cef312f2 Optimize Dockerfile for CUDA support
Refactored the Dockerfile to better organize and streamline environment variable settings, emphasizing support for a CUDA-based WebUI backend while retaining the ability to build a CPU-only image. Consolidated ENV commands to reduce layers, improving build efficiency, and set a default PORT environment to enhance container usability. Enabled exposure of the backend service on port 8080 and leveraged combined RUN directives to minimize the image footprint. These changes facilitate a more robust deployment process, catering to both CPU and CUDA environments.
2024-03-17 01:55:37 -04:00
Joseph Young
75a40dead6
Create Dockerfile-cuda
+Dockerfile-cuda

I created this file to help add CUDA support to open-webui for access to a GPU during embedding operations.
2024-03-16 19:26:21 -04:00