feat(ai): configure LM Code for pi
This commit is contained in:
@@ -1,15 +1,43 @@
|
||||
{ ... }:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
# Ces dotfiles ne sont pas un flake (config par channels) : on résout donc
|
||||
# les sorties du flake pi.nix à la main, en épinglant le rev.
|
||||
# Mise à jour : remplacer le rev par le dernier de https://github.com/lukasl-dev/pi.nix
|
||||
pi = builtins.getFlake "github:lukasl-dev/pi.nix/1d37b58675b763ae6c9dc05d62321109066a4126";
|
||||
|
||||
# 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.
|
||||
lmcModels = (pkgs.formats.json { }).generate "pi-models.json" {
|
||||
providers.lundimatin = {
|
||||
baseUrl = "https://llm-core.lundimatin.app";
|
||||
api = "anthropic-messages";
|
||||
# Résolu à chaque requête : le jeton ne passe pas par le store Nix.
|
||||
apiKey = "!cat ${config.home.homeDirectory}/.config/lmc-token";
|
||||
# La passerelle renvoie des blocs thinking sans signature ; sans ça pi
|
||||
# les dégrade en texte au lieu de les rejouer.
|
||||
compat.allowEmptySignature = true;
|
||||
models = [
|
||||
{
|
||||
id = "LM-Code";
|
||||
name = "LM-Code (glm-5.2 — Lundi Matin)";
|
||||
reasoning = true;
|
||||
contextWindow = 500000;
|
||||
maxTokens = 64000;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [ pi.homeModules.default ];
|
||||
|
||||
programs.pi.coding-agent = {
|
||||
enable = true;
|
||||
models = lmcModels;
|
||||
settings = {
|
||||
defaultProvider = "lundimatin";
|
||||
defaultModel = "LM-Code";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user