Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

/api/ps and /api/tags report size and size_vram as a hardcoded 0

Chiusa
#11,969 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
go
Ambito
api, backend

Direzione di ricerca

Inizia in core/http/endpoints/ollama/models.go, nei mapping di /api/ps e /api/tags a cui fa riferimento l’issue. Traccia come vengono rappresentati i modelli llama-cpp caricati e se le dimensioni residenti sono disponibili; quindi verifica entrambi gli endpoint con un modello caricato. Il lavoro è completato quando le risposte non presentano più i valori di dimensione non disponibili come zeri autorevoli, mantenendo i conteggi reali dei byte quando il backend è in grado di fornirli.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area/api bug confirmed

LocalAI version:
v4.9.0 (f7ad3f70eb5d8a0ddf80e08557f0d7df28cf032e), image localai/localai:v4.9.0-gpu-nvidia-cuda-12

Environment, CPU architecture, OS, and Version:

x86_64, RTX 3060 12GB, Docker on WSL2

Describe the bug
GET /api/ps reports "size": 0 and "size_vram": 0 for every loaded model. The
values are literals rather than unpopulated fields:

https://github.com/mudler/LocalAI/blob/v4.9.0/core/http/endpoints/ollama/models.go#L106-L110

GET /api/tags has the same literal Size: 0 at line 40, and ExpiresAt on the ps
entry is synthesised as time.Now().Add(24 * time.Hour).

This is worse than omitting the fields. /api/ps is an Ollama-compatibility surface,
and Ollama reports real byte counts there, so a client written against Ollama reads
0 as authoritative and concludes the models cost nothing. Anything scheduling GPU
work from that will over-commit the card. An absent field or a null is safe, because
a consumer can distinguish "unknown" from "nothing"; a 0 cannot be distinguished.

To Reproduce

  1. Load any model (granite-4.1-8b, llama-cpp backend) so it is resident.
  2. curl localhost:8080/api/ps
  3. Compare against nvidia-smi.

Expected behavior
Either the real resident sizes, or the fields omitted/null when the backend cannot
report them. Not 0.

Logs

{"models":[{"name":"granite-4.1-8b:latest","size":0,"size_vram":0,
  "details":{"format":"gguf","family":"llama-cpp","parameter_size":"8B",
  "quantization_level":"Q4_K_M"}}]}

Card at the same moment: 10849 / 12288 MiB used, two models resident (second row
elided, also all-zero).

Additional context
I gave up on /api/ps for this engine entirely and treat the size as unknown unconditionally, because I can't tell its zeros from real ones.

Filed separately as a feature request: there is no endpoint that reports per-model memory at all.

I'm not in a position to take the PR, but I'm happy to test a fix against this setup.

Written by my beloved Claude Code

Lingua principale
Go
Stelle
49.3k
Fork
4.5k
Merge medio
1g 7h
PR unite (30g)
362

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di mudler/LocalAI

Tutte le issue di mudler/LocalAI

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.