chore(ai): LM-Code route vers glm-5.3 24h/24
- retire glm-5.2 (alias mort), kimi-k3 et qwen3.8-27b (off), deepseek-v4-flash (3 échecs consécutifs, à réajouter s'il revient) - LM-Code : 500k contexte, 128k sortie, vision activée (testés) - qwen3.8-flash-next : maxTokens 128k, rôle repli/tâches simples - ajoute glm-ocr (vision, 65k/8k) Annonces équipe IA LM du 07/09/2026, validées par micro-tests sur la passerelle (aucune grosse charge de contexte).
This commit is contained in:
+45
-65
@@ -12,7 +12,11 @@ let
|
|||||||
pi = builtins.getFlake "github:lukasl-dev/pi.nix/1d37b58675b763ae6c9dc05d62321109066a4126";
|
pi = builtins.getFlake "github:lukasl-dev/pi.nix/1d37b58675b763ae6c9dc05d62321109066a4126";
|
||||||
|
|
||||||
# Passerelle LLM interne Lundi Matin (LiteLLM), même endpoint et même jeton
|
# Passerelle LLM interne Lundi Matin (LiteLLM), même endpoint et même jeton
|
||||||
# que la fonction zsh `lmc`. Côté serveur, LM-Code route vers glm-5.2.
|
# que la fonction zsh `lmc`. Côté serveur, LM-Code route vers glm-5.3 servi
|
||||||
|
# 24h/24 depuis le 07/09/2026 (fin de la rotation jour GLM / nuit Kimi).
|
||||||
|
# Consigne équipe IA Lundi Matin (07/09/2026) : viser 100-300k de contexte
|
||||||
|
# par session et limiter le nombre d'agents en période de pic — le KV cache
|
||||||
|
# GLM 5.3 est la ressource rare. Ne pas tester la limite à 500k.
|
||||||
lmcModels = (pkgs.formats.json { }).generate "pi-models.json" {
|
lmcModels = (pkgs.formats.json { }).generate "pi-models.json" {
|
||||||
providers.lundimatin = {
|
providers.lundimatin = {
|
||||||
baseUrl = "https://llm-core.lundimatin.app";
|
baseUrl = "https://llm-core.lundimatin.app";
|
||||||
@@ -22,88 +26,64 @@ let
|
|||||||
# La passerelle renvoie des blocs thinking sans signature ; sans ça pi
|
# La passerelle renvoie des blocs thinking sans signature ; sans ça pi
|
||||||
# les dégrade en texte au lieu de les rejouer.
|
# les dégrade en texte au lieu de les rejouer.
|
||||||
compat.allowEmptySignature = true;
|
compat.allowEmptySignature = true;
|
||||||
|
|
||||||
|
# Retirés le 07/09/2026 : glm-5.2 (redirection morte vers glm-5.3),
|
||||||
|
# kimi-k3 et qwen3.8-27b (off, confirmés), deepseek-v4-flash
|
||||||
|
# (3 échecs consécutifs, mêmes symptômes que 27b — réajouter s'il revient).
|
||||||
models = [
|
models = [
|
||||||
{
|
{
|
||||||
id = "LM-Code";
|
id = "LM-Code";
|
||||||
name = "LM-Code (glm-5.2 — Lundi Matin)";
|
name = "LM-Code (glm-5.3 — Lundi Matin)";
|
||||||
# reasoning absent : la passerelle fallback sur deepseek côté serveur.
|
# Même comportement que qwen3.8-flash-next : envoyer le paramètre
|
||||||
|
# `thinking` supprime le bloc thinking côté passerelle (testé
|
||||||
|
# 07/09/2026). reasoning = false laisse pi ne pas l'envoyer : le
|
||||||
|
# modèle raisonne nativement et émet des blocs thinking à signature
|
||||||
|
# vide, gérés par compat.allowEmptySignature du provider.
|
||||||
reasoning = false;
|
reasoning = false;
|
||||||
# Limite réelle mesurée via la passerelle LiteLLM (HTTP 400 ContextWindowExceededError).
|
# Vision validée via l'endpoint anthropic /v1/messages (07/09/2026).
|
||||||
contextWindow = 250000;
|
|
||||||
maxTokens = 64000;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "glm-5.2";
|
|
||||||
name = "GLM 5.2 — Lundi Matin";
|
|
||||||
# Ces alias directs ne passent pas par le shim anthropic de la
|
|
||||||
# passerelle : le paramètre `thinking` y déclenche un 400
|
|
||||||
# (json_parse_error / ChatCompletionRequest). reasoning = false le
|
|
||||||
# retire des requêtes ; passer par LM-Code pour du thinking explicite.
|
|
||||||
reasoning = false;
|
|
||||||
# Alias direct, sans repli : servi de jour (8h-19h30), 500k de contexte.
|
|
||||||
# Hors plage de service, la passerelle renvoie une erreur claire.
|
|
||||||
contextWindow = 500000;
|
|
||||||
maxTokens = 64000;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "kimi-k3";
|
|
||||||
name = "Kimi K3 — Lundi Matin";
|
|
||||||
reasoning = false;
|
|
||||||
# Alias direct, sans repli : servi de nuit (20h-7h30), 500k de contexte.
|
|
||||||
contextWindow = 500000;
|
|
||||||
maxTokens = 64000;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "deepseek-v4-flash";
|
|
||||||
name = "DeepSeek V4 Flash — Lundi Matin";
|
|
||||||
reasoning = true;
|
|
||||||
# Limite réelle mesurée via la passerelle LiteLLM (HTTP 400 ContextWindowExceededError).
|
|
||||||
contextWindow = 262144;
|
|
||||||
maxTokens = 64000;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "qwen3.8-27b";
|
|
||||||
name = "Qwen 3.8 27B (vision) — Lundi Matin";
|
|
||||||
# reasoning = false : avec thinking.enabled la passerelle/vLLM supprime
|
|
||||||
# le bloc thinking (testé), donc on laisse pi ne pas envoyer le
|
|
||||||
# paramètre thinking. qwen raisonne alors nativement et emet des
|
|
||||||
# blocs thinking a signature vide (deja gere par
|
|
||||||
# compat.allowEmptySignature du provider).
|
|
||||||
reasoning = false;
|
|
||||||
# Modele vision : accepte les images (teste via l'endpoint anthropic
|
|
||||||
# /v1/messages, format image.source.base64). Reserve aux analyses
|
|
||||||
# d'image : basculer dessus via /model pour cet usage, ou via
|
|
||||||
# l'extension vision-proxy pour un routage automatique.
|
|
||||||
input = [
|
input = [
|
||||||
"text"
|
"text"
|
||||||
"image"
|
"image"
|
||||||
];
|
];
|
||||||
# Limite reelle mesuree via la passerelle LiteLLM (HTTP 400 :
|
# 500k annoncés côté Lundi Matin (07/09/2026), non re-testés pour
|
||||||
# "This model's maximum context length is 250000 tokens").
|
# ne pas charger le KV cache.
|
||||||
contextWindow = 250000;
|
contextWindow = 500000;
|
||||||
maxTokens = 64000;
|
# Annonce LM : « tous en 128k out » (07/09/2026) ; 128k testé OK.
|
||||||
|
# 256k est aussi accepté par la passerelle mais non retenu.
|
||||||
|
maxTokens = 128000;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
id = "qwen3.8-flash-next";
|
id = "qwen3.8-flash-next";
|
||||||
name = "Qwen 3.8 Flash Next (vision) — Lundi Matin";
|
name = "Qwen 3.8 Flash Next (vision) — Lundi Matin";
|
||||||
# Meme logique que qwen3.8-27b : thinking.enabled supprime le bloc
|
# thinking.enabled supprime le bloc thinking côté vLLM (re-testé
|
||||||
# thinking cote vLLM (teste), donc on laisse pi ne pas envoyer le
|
# 07/09/2026) : on laisse pi ne pas envoyer le paramètre thinking,
|
||||||
# parametre thinking. Le modele raisonne alors nativement et emet
|
# le modèle raisonne nativement et émet des blocs thinking à
|
||||||
# des blocs thinking a signature vide, deja geres par
|
# signature vide, gérés par compat.allowEmptySignature.
|
||||||
# compat.allowEmptySignature du provider.
|
|
||||||
reasoning = false;
|
reasoning = false;
|
||||||
# Modele vision : 125B-A5B MoE multimodal (plus rapide et plus
|
# Vision re-validée 07/09/2026 (image base64 via /v1/messages).
|
||||||
# puissant que deepseek-v4-flash, qui reste 284B-A13B non multimodal).
|
|
||||||
# Bémol : contexte plafonne a 262k, comme deepseek-v4-flash, contre
|
|
||||||
# 500k pour glm-5.2 et kimi-k3.
|
|
||||||
input = [
|
input = [
|
||||||
"text"
|
"text"
|
||||||
"image"
|
"image"
|
||||||
];
|
];
|
||||||
# Limite reelle mesuree via la passerelle LiteLLM (HTTP 400
|
# Repli serveur de LM-Code, mais 262k de contexte : pas un vrai
|
||||||
# ContextWindowExceededError a 262145 tokens).
|
# fallback. Recommandé par LM pour les tâches simples, de manière
|
||||||
|
# proactive, afin d'alléger GLM 5.3 (07/09/2026).
|
||||||
contextWindow = 262144;
|
contextWindow = 262144;
|
||||||
maxTokens = 64000;
|
maxTokens = 128000;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "glm-ocr";
|
||||||
|
name = "GLM OCR (vision) — Lundi Matin";
|
||||||
|
# Spécialisé lecture d'images / OCR : basculer dessus via /model
|
||||||
|
# pour cet usage, ou via l'extension vision-proxy.
|
||||||
|
reasoning = false;
|
||||||
|
input = [
|
||||||
|
"text"
|
||||||
|
"image"
|
||||||
|
];
|
||||||
|
# Vision et 8k out testés 07/09/2026 ; limites annoncées côté LM.
|
||||||
|
contextWindow = 65536;
|
||||||
|
maxTokens = 8192;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user