mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-23 23:18:13 +02:00
v0.5.2 : robustesse appels d'outils + nettoyage UI
- Chat : valide le JSON des arguments d'outil avant de les stocker dans l'historique. Un modèle très quantifié pouvait émettre des arguments tronqués/non-JSON (non vides) qui, persistés, faisaient échouer le template de chat de llama.cpp à chaque requête → 500 en boucle jusqu'au reset. json.Valid remplace le simple test != "" (llm_client.go). - UI : section « Accès OpenAI » remise au propre (adresses locale/publique groupées, clé API), sans émojis ; « Accès distant » sans émojis. Classes .io-input/.io-cap partagées.
This commit is contained in:
1 parent
d8b08dbb89
commit
142dd87299
9 files changed
+73
-51
No files matched your search
@@ -679,7 +679,15 @@ func runChat(ctx context.Context, messages []Message, temperature float64, caps
|
||||
if tc.ID == "" {
|
||||
tc.ID = fmt.Sprintf("call_%d_%d", iter, i)
|
||||
}
|
||||
if tc.Function.Arguments == "" {
|
||||
// Les arguments DOIVENT être du JSON valide : ils sont rangés dans
|
||||
// l'historique vu par le modèle, et le template de chat de llama.cpp les
|
||||
// re-parse à CHAQUE requête suivante. Un modèle très quantifié peut sortir
|
||||
// des arguments vides OU tronqués/non-JSON (ex: `{"command":"python3 …`) ;
|
||||
// stockés tels quels, ils font échouer le parsing du template → 500 en
|
||||
// boucle jusqu'au reset. On neutralise tout ce qui n'est pas du JSON valide
|
||||
// en objet vide (l'appel a de toute façon déjà été exécuté). json.Valid("")
|
||||
// étant faux, ça couvre aussi le cas vide d'origine.
|
||||
if !json.Valid([]byte(tc.Function.Arguments)) {
|
||||
tc.Function.Arguments = "{}"
|
||||
}
|
||||
tcs = append(tcs, tc)
|
||||
|
||||
Reference in new issue
Block a user