Référence complète des modèles développés par Lunaris — capacités, disponibilité et utilisation de l'API.
Corps de la requête
// application/json { "message": "Votre message ici", // requis si pas d'image "image": "data:image/png;base64,...", // optionnel "conversation_id": "c_1234567890", // optionnel — persistance historique "model": "lyris-3" // optionnel — défaut : "lyris-3" }
Modèles disponibles
Réponse SSE
// text/event-stream data: {"agent": "session-name", "pool": {"free": 1, "total": 2}} data: {"text": "Bonjour ! Je suis Lyris..."} // chunk de réponse data: {"done": true} // fin de génération
// Réponse JSON { "online": true, "free": 1, // sessions disponibles "total": 2 // sessions totales }
// Corps optionnel {"conversation_id": "c_1234567890"}
// Architecture PPI — le frontend ne contacte JAMAIS le serveur IA directement Frontend ↓ Backend (sécurisé) ↓ API 1 — Routeur IA (sélection du modèle) ↓ API 2 — Modèle final (génération de la réponse)
Requête au routeur
{
"model": "ia_router_11440",
"prompt": "Message utilisateur",
"stream": false
}
Réponse du routeur (JSON dans le champ response)
// Le champ "response" contient un JSON stringifié à parser { "category": "coding", "model": "qwen2.5-coder:14b", "confidence": 0.99, "reason": "Software development request." }
Le champ model retourné sera utilisé pour l'étape 2.
Requête au modèle sélectionné
{
"model": "qwen2.5-coder:14b", // modèle choisi par le routeur
"prompt": "Message utilisateur",
"stream": false
}
Réponse
{
"response": "La réponse générée par le modèle..."
}
Modèles disponibles sur PPI
Le routeur sélectionne automatiquement le modèle optimal :
Requêtes code → qwen2.5-coder:14b
Raisonnement / logique → deepseek-r1:8b
Questions générales → qwen3
Fallback / analyse → llama3.1:8b
Agents personnalisés (Pro)
Chaque agent possède un system prompt stocké côté backend. Le frontend envoie uniquement l'identifiant de l'agent et le message.
// Le backend reconstruit le prompt complet : // SYSTEM PROMPT + historique conversation + message utilisateur // Flux côté frontend : { "agent_id": "support-ecommerce", "message": "Comment suivre ma commande ?" } // Le backend envoie au modèle PPI : { "model": "qwen3", // choisi par le routeur "prompt": "[system prompt] + [contexte] + [message]", "stream": false }
Les system prompts, la logique de routage et les noms de modèles internes ne sont jamais exposés au frontend.