mudler / mudler/LocalAI

install python based backends in v4.0.0 nvidia-12 docker image not successful.

Open
#9,162 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/backends bug unconfirmed waiting-from-reporter
Dominant language
Go
Stars
49.2k
Forks
4.5k
Avg merge
1d 3m
Merged PRs (30d)
239

Description

LocalAI version:
4.0.0

Environment, CPU architecture, OS, and Version:
docker, Xeon, ubuntu, 22.04

Describe the bug
uv not installed in cuda-12 images in the recent localai images. So installation of python based backends seem all not completely finished, and module missing error always occur when using models requiring those backends. I tried install uv, but after successful installation, running the install.sh in backend path still throw out error, compaining about not able to locate venv at /backendname/venv

also in the backend cuda12-qwen-asr install.sh does not have proper +x permission
and model vllm-omni-qwen3-tts-custom-voice complain about no context model.

To Reproduce
docker run local-ai:latest-gpu-nvidia-cuda-12 images, install
vllm-omni-qwen3-tts-custom-voice test in webui to test to audio,
debug log show vllm-omni module not found, it is refering to python module, the backend is installed during model installation, and
Expected behavior
model run successfully

Logs

Mar 29 02:40:59 DEBUG context local model name not found, setting to the first model first model name="vllm-omni-qwen3-tts-custom-voice" caller={caller.file="/build/core/http/middleware/request.go" caller.L=115 }

Mar 29 02:40:59 DEBUG LocalAI TTS Request received model="vllm-omni-qwen3-tts-custom-voice" caller={caller.file="/build/core/http/endpoints/localai/tts.go" caller.L=38 }

Mar 29 02:40:59 INFO [WatchDog] LRU evicting model model="vllm-omni-qwen3-tts-custom-voice" lastUsed=0001-01-01T00:00:00Z busy=false caller={caller.file="/build/pkg/model/watchdog.go" caller.L=321 }

Mar 29 02:40:59 DEBUG Model not found model="vllm-omni-qwen3-tts-custom-voice" caller={caller.file="/build/pkg/model/process.go" caller.L=27 }

Mar 29 02:40:59 ERROR [WatchDog] error shutting down model during LRU eviction error=model not found model="vllm-omni-qwen3-tts-custom-voice" caller={caller.file="/build/pkg/model/watchdog.go" caller.L=333 }

Mar 29 02:40:59 DEBUG [WatchDog] LRU eviction complete model="vllm-omni-qwen3-tts-custom-voice" caller={caller.file="/build/pkg/model/watchdog.go" caller.L=335 }

Mar 29 02:40:59 INFO BackendLoader starting modelID="vllm-omni-qwen3-tts-custom-voice" backend="vllm-omni" model="Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice" caller={caller.file="/build/pkg/model/initializers.go" caller.L=157 }

Mar 29 02:40:59 DEBUG Loading Model with gRPC modelID="vllm-omni-qwen3-tts-custom-voice" file="/models/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice" backend="vllm-omni" options={vllm-omni Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice vllm-omni-qwen3-tts-custom-voice {{}} 0x10c6dc5f2c08 map[] 20 2 false} caller={caller.file="/build/pkg/model/initializers.go" caller.L=51 }

Mar 29 02:40:59 DEBUG Loading external backend uri="/backends/cuda12-vllm-omni/run.sh" caller={caller.file="/build/pkg/model/initializers.go" caller.L=75 }

Mar 29 02:40:59 DEBUG Loading GRPC Process process="/backends/cuda12-vllm-omni/run.sh" caller={caller.file="/build/pkg/model/process.go" caller.L=124 }

Mar 29 02:40:59 DEBUG GRPC Service will be running id="vllm-omni-qwen3-tts-custom-voice" address="127.0.0.1:33347" caller={caller.file="/build/pkg/model/process.go" caller.L=126 }

Mar 29 02:40:59 DEBUG GRPC stdout id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line="Initializing libbackend for cuda12-vllm-omni" caller={caller.file="/build/pkg/model/process.go" caller.L=174 }

Mar 29 02:40:59 DEBUG GRPC stdout id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line="Using portable Python" caller={caller.file="/build/pkg/model/process.go" caller.L=174 }

Mar 29 02:40:59 DEBUG GRPC stdout id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line="Added /backends/cuda12-vllm-omni/lib to LD_LIBRARY_PATH for GPU libraries" caller={caller.file="/build/pkg/model/process.go" caller.L=174 }

Mar 29 02:41:01 DEBUG GRPC stderr id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line="Traceback (most recent call last):" caller={caller.file="/build/pkg/model/process.go" caller.L=165 }

Mar 29 02:41:01 DEBUG GRPC stderr id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line=" File "/backends/cuda12-vllm-omni/backend.py", line 31, in " caller={caller.file="/build/pkg/model/process.go" caller.L=165 }

Mar 29 02:41:01 DEBUG GRPC stderr id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line=" from vllm_omni.entrypoints.omni import Omni" caller={caller.file="/build/pkg/model/process.go" caller.L=165 }

Mar 29 02:41:01 DEBUG GRPC stderr id="vllm-omni-qwen3-tts-custom-voice-127.0.0.1:33347" line="ModuleNotFoundError: No module named 'vllm_omni'" caller={caller.file="/build/pkg/model/process.go" caller.L=165 }

root@61b5c4e955d1:/# uv
bash: uv: command not found
root@61b5c4e955d1:/# cd backends/
root@61b5c4e955d1:/backends# ls
cuda12-llama-cpp cuda12-qwen-tts cuda12-vllm-omni qwen-asr transformers
cuda12-qwen-asr cuda12-transformers llama-cpp qwen-tts vllm-omni
root@61b5c4e955d1:/backends# cd cuda12-vllm-omni/
root@61b5c4e955d1:/backends/cuda12-vllm-omni# ./install.sh
Initializing libbackend for cuda12-vllm-omni
Using portable Python
starting requirements install for /backends/cuda12-vllm-omni/requirements.txt
./common/libbackend.sh: line 439: uv: command not found
root@61b5c4e955d1:/backends/cuda12-vllm-omni#

Additional context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Docker issue with the CUDA 12 image and inspect common/libbackend.sh, the backend install scripts, and cuda12-vllm-omni/backend.py. Check the reported uv, virtual-environment, executable-permission, and vllm_omni import failures across the affected backends. Done means the backend installation completes in the image and the reported model runs successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
backend, devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.