Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ concurrency:

jobs:
backend-jobs:
if: github.repository == 'mudler/LocalAI'
uses: ./.github/workflows/backend_build.yml
with:
tag-latest: ${{ matrix.tag-latest }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/bump_deps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
workflow_dispatch:
jobs:
bump-backends:
if: github.repository == 'mudler/LocalAI'
strategy:
fail-fast: false
matrix:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/bump_docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
workflow_dispatch:
jobs:
bump-docs:
if: github.repository == 'mudler/LocalAI'
strategy:
fail-fast: false
matrix:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/checksum_checker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
workflow_dispatch:
jobs:
checksum_check:
if: github.repository == 'mudler/LocalAI'
runs-on: ubuntu-latest
steps:
- name: Force Install GIT latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot_auto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ permissions:

jobs:
dependabot:
if: github.repository == 'mudler/LocalAI' && github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/deploy-explorer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ concurrency:

jobs:
build-linux:
if: github.repository == 'mudler/LocalAI'
runs-on: ubuntu-latest
steps:
- name: Clone
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/gallery-agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ on:
type: string
jobs:
gallery-agent:
if: github.repository == 'mudler/LocalAI'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/generate_grpc_cache.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ concurrency:

jobs:
generate_caches:
if: github.repository == 'mudler/LocalAI'
strategy:
matrix:
include:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/generate_intel_image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ concurrency:

jobs:
generate_caches:
if: github.repository == 'mudler/LocalAI'
strategy:
matrix:
include:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

jobs:
hipblas-jobs:
if: github.repository == 'mudler/LocalAI'
uses: ./.github/workflows/image_build.yml
with:
tag-latest: ${{ matrix.tag-latest }}
Expand Down Expand Up @@ -50,6 +51,7 @@
ubuntu-codename: 'noble'

core-image-build:
if: github.repository == 'mudler/LocalAI'
uses: ./.github/workflows/image_build.yml
with:
tag-latest: ${{ matrix.tag-latest }}
Expand Down Expand Up @@ -136,6 +138,7 @@
ubuntu-codename: 'noble'

gh-runner:
if: github.repository == 'mudler/LocalAI'
uses: ./.github/workflows/image_build.yml
with:
tag-latest: ${{ matrix.tag-latest }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/localaibot_automerge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ permissions:
actions: write # to dispatch publish workflow
jobs:
dependabot:
if: github.repository == 'mudler/LocalAI' && github.actor == 'localai-bot' && !contains(github.event.pull_request.title, 'chore(model gallery):')
runs-on: ubuntu-latest
if: ${{ github.actor == 'localai-bot' && !contains(github.event.pull_request.title, 'chore(model gallery):') }}
steps:
- name: Checkout repository
uses: actions/checkout@v6
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/notify-models.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:

jobs:
notify-discord:
if: ${{ (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'area/ai-model')) }}
if: github.repository == 'mudler/LocalAI' && (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'area/ai-model'))
env:
MODEL_NAME: gemma-3-12b-it-qat
runs-on: ubuntu-latest
Expand Down Expand Up @@ -90,7 +90,7 @@ jobs:
connect-timeout-seconds: 180
limit-access-to-actor: true
notify-twitter:
if: ${{ (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'area/ai-model')) }}
if: github.repository == 'mudler/LocalAI' && (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'area/ai-model'))
env:
MODEL_NAME: gemma-3-12b-it-qat
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/notify-releases.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:

jobs:
notify-discord:
if: github.repository == 'mudler/LocalAI'
runs-on: ubuntu-latest
env:
RELEASE_BODY: ${{ github.event.release.body }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/stalebot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:

jobs:
stale:
if: github.repository == 'mudler/LocalAI'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v9
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/update_swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
workflow_dispatch:
jobs:
swagger:
if: github.repository == 'mudler/LocalAI'
strategy:
fail-fast: false
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion backend/go/whisper/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ package: whisper
build: package

clean: purge
rm -rf libgowhisper*.so sources/whisper.cpp whisper
rm -rf libgowhisper*.so package sources/whisper.cpp whisper

purge:
rm -rf build*
Expand Down
3 changes: 3 additions & 0 deletions core/services/models.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,9 @@ func processModelOperation(

switch {
case op.Delete:
if err := modelLoader.ShutdownModel(op.GalleryElementName); err != nil {
xlog.Warn("Failed to unload model during deletion", "model", op.GalleryElementName, "error", err)
}
return gallery.DeleteModelFromSystem(systemState, op.GalleryElementName)
case op.GalleryElement != nil:
installedModel, err := gallery.InstallModel(
Expand Down
6 changes: 3 additions & 3 deletions gallery/index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
- "offload_to_cpu:false"
- "offload_dit_to_cpu:false"
- "init_lm:true"
- "lm_model_path:acestep-5Hz-lm-0.6B" # or acestep-5Hz-lm-4B

Check warning on line 34 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

34:45 [comments] too few spaces before comment: expected 2
- "lm_backend:pt"
- "temperature:0.85"
- "top_p:0.9"
Expand Down Expand Up @@ -264,7 +264,7 @@
known_usecases:
- tts
tts:
voice: Aiden # Available speakers: Vivian, Serena, Uncle_Fu, Dylan, Eric, Ryan, Aiden, Ono_Anna, Sohee

Check warning on line 267 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

267:20 [comments] too few spaces before comment: expected 2
parameters:
model: Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
- &qwen-asr
Expand Down Expand Up @@ -1391,7 +1391,7 @@
- filename: mmproj-OpenGVLab_InternVL3_5-2B-f16.gguf
sha256: e83ba6e675b747f7801557dc24594f43c17a7850b6129d4972d55e3e9b010359
uri: huggingface://bartowski/OpenGVLab_InternVL3_5-8B-GGUF/mmproj-OpenGVLab_InternVL3_5-2B-f16.gguf
- &lfm2
- &lfm2vl
url: "github:mudler/LocalAI/gallery/lfm.yaml@master"
name: "lfm2-vl-450m"
license: lfm1.0
Expand Down Expand Up @@ -1424,7 +1424,7 @@
- filename: mmproj-LFM2-VL-450M-F16.gguf
sha256: 416a085c5c7ba0f8d02bb8326c719a6f8f2210c2641c6bf64194a57c11c76e59
uri: huggingface://LiquidAI/LFM2-VL-450M-GGUF/mmproj-LFM2-VL-450M-F16.gguf
- !!merge <<: *lfm2
- !!merge <<: *lfm2vl
name: "lfm2-vl-1.6b"
urls:
- https://huggingface.co/LiquidAI/LFM2-VL-1.6B
Expand All @@ -1440,7 +1440,7 @@
- filename: mmproj-LFM2-VL-1.6B-F16.gguf
sha256: b637bfa6060be2bc7503ec23ba48b407843d08c2ca83f52be206ea8563ccbae2
uri: huggingface://LiquidAI/LFM2-VL-1.6B-GGUF/mmproj-LFM2-VL-1.6B-F16.gguf
- !!merge <<: *lfm2
- &lfm2
name: "lfm2-1.2b"
urls:
- https://huggingface.co/LiquidAI/LFM2-1.2B
Expand Down Expand Up @@ -4305,7 +4305,7 @@
- gemma3
- gemma-3
overrides:
#mmproj: gemma-3-27b-it-mmproj-f16.gguf

Check warning on line 4308 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

4308:6 [comments] missing starting space in comment
parameters:
model: gemma-3-27b-it-Q4_K_M.gguf
files:
Expand All @@ -4323,7 +4323,7 @@
description: |
google/gemma-3-12b-it is an open-source, state-of-the-art, lightweight, multimodal model built from the same research and technology used to create the Gemini models. It is capable of handling text and image input and generating text output. It has a large context window of 128K tokens and supports over 140 languages. The 12B variant has been fine-tuned using the instruction-tuning approach. Gemma 3 models are suitable for a variety of text generation and image understanding tasks, including question answering, summarization, and reasoning. Their relatively small size makes them deployable in environments with limited resources such as laptops, desktops, or your own cloud infrastructure.
overrides:
#mmproj: gemma-3-12b-it-mmproj-f16.gguf

Check warning on line 4326 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

4326:6 [comments] missing starting space in comment
parameters:
model: gemma-3-12b-it-Q4_K_M.gguf
files:
Expand All @@ -4341,7 +4341,7 @@
description: |
Gemma is a family of lightweight, state-of-the-art open models from Google, built from the same research and technology used to create the Gemini models. Gemma 3 models are multimodal, handling text and image input and generating text output, with open weights for both pre-trained variants and instruction-tuned variants. Gemma 3 has a large, 128K context window, multilingual support in over 140 languages, and is available in more sizes than previous versions. Gemma 3 models are well-suited for a variety of text generation and image understanding tasks, including question answering, summarization, and reasoning. Their relatively small size makes it possible to deploy them in environments with limited resources such as laptops, desktops or your own cloud infrastructure, democratizing access to state of the art AI models and helping foster innovation for everyone. Gemma-3-4b-it is a 4 billion parameter model.
overrides:
#mmproj: gemma-3-4b-it-mmproj-f16.gguf

Check warning on line 4344 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

4344:6 [comments] missing starting space in comment
parameters:
model: gemma-3-4b-it-Q4_K_M.gguf
files:
Expand Down Expand Up @@ -7559,7 +7559,7 @@
sha256: 2756551de7d8ff7093c2c5eec1cd00f1868bc128433af53f5a8d434091d4eb5a
uri: huggingface://Triangle104/Nano_Imp_1B-Q8_0-GGUF/nano_imp_1b-q8_0.gguf
- &smollm
url: "github:mudler/LocalAI/gallery/chatml.yaml@master" ## SmolLM

Check warning on line 7562 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

7562:59 [comments] too few spaces before comment: expected 2
name: "smollm-1.7b-instruct"
icon: https://huggingface.co/datasets/HuggingFaceTB/images/resolve/main/banner_smol.png
tags:
Expand Down Expand Up @@ -7603,7 +7603,7 @@
sha256: decd2598bc2c8ed08c19adc3c8fdd461ee19ed5708679d1c54ef54a5a30d4f33
uri: huggingface://HuggingFaceTB/SmolLM2-1.7B-Instruct-GGUF/smollm2-1.7b-instruct-q4_k_m.gguf
- &llama31
url: "github:mudler/LocalAI/gallery/llama3.1-instruct.yaml@master" ## LLama3.1

Check warning on line 7606 in gallery/index.yaml

View workflow job for this annotation

GitHub Actions / Yamllint

7606:70 [comments] too few spaces before comment: expected 2
icon: https://avatars.githubusercontent.com/u/153379578
name: "meta-llama-3.1-8b-instruct"
license: llama3.1
Expand Down
10 changes: 7 additions & 3 deletions pkg/system/capabilities.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ const (
)

var (
cuda13DirExists bool
cuda12DirExists bool
cuda13DirExists bool
cuda12DirExists bool
capabilityLogged bool
)

func init() {
Expand Down Expand Up @@ -133,7 +134,10 @@ func (s *SystemState) getSystemCapabilities() string {
return defaultCapability
}

xlog.Info("Capability automatically detected", "capability", s.GPUVendor, "env", capabilityEnv)
if !capabilityLogged {
xlog.Info("Capability automatically detected", "capability", s.GPUVendor, "env", capabilityEnv)
capabilityLogged = true
}
// If vram is less than 4GB, let's default to CPU but warn the user that they can override that via env
if s.VRAM <= 4*1024*1024*1024 {
xlog.Warn("VRAM is less than 4GB, defaulting to CPU", "env", capabilityEnv)
Expand Down
Loading