WIP: main #5

Draft
tdpeuter wants to merge 0 commits from open-webui:main into main
Owner

Pull Request Checklist

  • Description: Briefly describe the changes in this pull request.
  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
  • Documentation: Have you updated relevant documentation?
  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?

Description

[Insert a brief description of the changes made in this pull request]


Changelog Entry

Added

  • [List any new features or additions]

Fixed

  • [List any fixes or corrections]

Changed

  • [List any changes or updates]

Removed

  • [List any removed features or files]
## Pull Request Checklist - [ ] **Description:** Briefly describe the changes in this pull request. - [ ] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description. - [ ] **Documentation:** Have you updated relevant documentation? - [ ] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation? --- ## Description [Insert a brief description of the changes made in this pull request] --- ### Changelog Entry ### Added - [List any new features or additions] ### Fixed - [List any fixes or corrections] ### Changed - [List any changes or updates] ### Removed - [List any removed features or files]
tdpeuter added 225 commits 2024-04-18 23:34:33 +02:00
+Dockerfile-cuda

I created this file to help add CUDA support to open-webui for access to a GPU during embedding operations.
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.
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
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.
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.
ENV RAG_EMBEDDING_MODEL_DEVICE_TYPE="cuda"
Okay, this was driving my OCD crazy.

Corrected a spelling error in the Dockerfile's comment section to enhance documentation clarity. The typo 'persormance' was updated to 'performance,' ensuring accurate guidance on using multilingual sentence transformer models for better performance and language support.
Modified the Dockerfile to install PyTorch, torchvision, and torchaudio from a CUDA 11.8 specific wheel URL. This ensures compatibility with the CUDA version in our environment and potentially improves performance and stability for GPU-accelerated operations.
This reverts commit 9763d885be.
* Add config variable RAG_EMBEDDING_MODEL_AUTO_UPDATE to control update behavior
* Add RAG utils embedding_model_get_path() function to output the filesystem path in addition to update of the model using huggingface_hub
* Update and utilize existing RAG functions in main: get_embedding_model() & update_embedding_model()
* Add GUI setting to execute manual update process
Set cudnn LD_LIBRARY_PATH to fix whisper inference
Browsers and plugins that spoof canvas data produce corrupt images. In attempt to mitigate:

* Add canvasPixelTest() to test a single pixel and test the RGB values
* Test canvasPixelTest() inside generateInitialsImage() and use default `/user.png` if failure detected
* Call canvasPixelTest() directly within settings to avoid setting an invalid image
* Use toast.error() with 10 second autoClose
Feat/profile image initials with fix for rfp & canvas spoofing
This reverts commit 1af62a70f0.
Feat/profile image initials fixes
* Tooltips added to show full model name and warning regarding vector storage
* Send toast error and return early if more than a single front slash is detected
* Extend toast duration for model update action
* Add i18n en_US translation
* Remove commented code copied from existing function
Add AMD Docker Compose config file
- Restore Gravatar functionality
- Add new button for "Use Initials"
- Set both buttons to use text-left class
- Update toast property autoClose to duration (wrong library, my bad!)
- Update toast messages to clarify that this isn't "Gravatar" but "avatar"
- Add i18n text to en-US/translation.json
Fix: Restore Gravatar functionality, add button initials, toast duration
allow version to work with -rc tag
feat(i18n): add international English (en-GB) localisation
feat: default profile image with user initials
feat: trigger docker build after release
refac: Dockerfile
fix: wording translation
Make chart idempotent.
Allow using external ollama service.
feat: configurable `STATIC_DIR`; fix: mount `CACHE_DIR` to the `/cache` endpoint
fix: support batching chromadb
feat: improve embedding model update & resolve network dependency
README.md Dockersection formatting and wording fix
feat: parallelize docker build
fix: missing ollama cuda tags
0.1.118
Update CHANGELOG.md
* Introduce WHISPER_MODEL_AUTO_UPDATE env var
* Pass local_files_only to WhisperModel()
* Handle cases where auto-update is disabled but model is non-existent
With default of `False`.
Fixed malformed date format
Comment fix config.py ln 412
Fixed translation errors in Vietnamese locale file `locales/vi-VN/translation.json`
fix: Invoke the function before it is defined
The trailing `/` causes requests to be written with `//` and results in 404 responses from the ollama service.

This results in ollama models being unusable. Removing the training slash here resolves the issue.
fix(helm): remove trailing slash
Use regex replace during trim "sanitize" to support `ollama run ` or `ollama pull ` syntax.
feat: small change to support ollama pull QOL
Update locales/vi-VN/translation.json
feat: add IMAGE_GENERATION_ENABLED env var
Looks like the convention update per commit 0981fae161 missed `config.py`.
Add new function to convert nanoseconds into `approximate_total:` for *Generation Info* tooltip.
feat: admin panel user list pagination
feat: human readable Generation Info total
feat: introduce Whisper model auto-update control.
feat: add {{prompt:start:length}} and {{prompt🔚length}} to title gen
feat: external embeddings support
feat: external embeddings
Created polish language translation
Switch `pip3` to `uv` in Dockerfile
Create translation.json for polish language
Small fixes to the Spanish translation
0.1.119
fix translated variable names to original
Fixed malformed date string (again)
Update translation.json
Merge pull request #1590 from open-webui/dev
All checks were successful
Python CI / Format Backend (3.11) (pull_request) Successful in 29s
Frontend Build / Format & Build Frontend (pull_request) Successful in 1m48s
e0ebd7aeaf
dev
All checks were successful
Python CI / Format Backend (3.11) (pull_request) Successful in 29s
Frontend Build / Format & Build Frontend (pull_request) Successful in 1m48s
This pull request has changes conflicting with the target branch.
  • .github/workflows/docker-build.yaml
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u main:open-webui-main
git checkout open-webui-main

Merge

Merge the changes and update on Forgejo.
git checkout main
git merge --no-ff open-webui-main
git checkout main
git merge --ff-only open-webui-main
git checkout open-webui-main
git rebase main
git checkout main
git merge --no-ff open-webui-main
git checkout main
git merge --squash open-webui-main
git checkout main
git merge --ff-only open-webui-main
git checkout main
git merge open-webui-main
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tdpeuter/open-webui#5
No description provided.