Skip to content

LLM — Génération de texte ​

Accès à plusieurs modèles de génération de texte via une interface 100% compatible OpenAI. Du modèle léger et rapide au modèle 120B paramètres pour les tâches complexes. Pour la compréhension d'images, voir Vision ; la génération d'images arrive bientôt, voir Génération d'images.

Chaque modèle possède un alias flottant (chat, code, …) et un nom figé versionné (chat-1.0, code-1.0, …) ; privilégiez le nom figé en production. Voir Versionnage des modèles.

Endpoint : POST /v1/chat/completions


Catalogue des modèles ​

Alias flottantNom figéMoteur réel (backend_model)ParamètresContexte maxtok/sUsage recommandé
chat-prochat-pro-1.0openai/gpt-oss-120b120B131 072 (~128K)117.6Réponses riches, synthèse, analyse
tools-protools-pro-1.0openai/gpt-oss-120b120B131 072 (~128K)124.4Function calling, agents (120B)
chatchat-1.0google/gemma-4-26B-A4B-it26B131 072 (~128K)104.0Interactions rapides, faible latence
toolstools-1.0google/gemma-4-26B-A4B-it26B131 072 (~128K)107.8Function calling, agents (rapide)
codecode-1.0Qwen/Qwen3.8-27B-FP827B262 144 (~256K)—Génération et revue de code
code-completioncode-completion-1.0Qwen/Qwen3.8-27B-FP827B262 144 (~256K)—Complétion de code, copilot

Chaque modèle est accessible par son alias flottant (dernière version) ou son nom figé (version immuable, recommandée en production). Les deux pointent sur le même moteur. Voir Versionnage des modèles.

Contexte max = nombre de tokens par requête (entrée + sortie cumulées). L'identifiant du moteur réel est aussi renvoyé dans le champ model des réponses et dans backend_model de GET /v1/models — pratique pour vérifier exactement quel moteur traite vos requêtes.

Benchmarks réalisés en mai 2026 avec des prompts de 81–95 tokens.

⚠️ code-next et code-completion-next sont dépréciés. C'étaient des aperçus de Qwen3.8-27B, désormais remplacés par les noms figés code-1.0 et code-completion-1.0 (même moteur). Ils seront retirés le 30 novembre 2026 — migrez avant cette date. Détails : Versionnage des modèles.


Infrastructure interne ​

Catalogue réduit sur l'infrastructure interne : un seul modèle par usage. Voir Infrastructures pour le détail des deux infrastructures et leurs conditions d'accès.

Alias flottantNom figéMoteur réel (backend_model)ParamètresContexte max
chat-prochat-pro-1.0openai/gpt-oss-120b120B131 072 (~128K)
codecode-1.0Qwen/Qwen3.8-27B-FP827B262 144 (~256K)

Endpoint : POST /v1/chat/completions sur api.mirai.interieur.rie.gouv.fr.


Benchmark détaillé — gpt-oss-120b ​

Taille réponseTokens promptTokens réponseLatence moyLatence minLatence maxtok/s
Courte~81~680.67 s0.62 s0.70 s100.7
Moyenne~87~2972.20 s1.99 s2.51 s135.2
Longue~95~3952.88 s2.71 s3.13 s137.5
  • Débit stable à 125–140 tok/s en régime établi.
  • Latence p99 < 3.2 s pour des réponses jusqu'à 400 tokens.
  • Le cache de réponse ramène la latence à ~0.1 s sur requêtes identiques (gain ×7–30×) — particulièrement utile pour les prompts système répétitifs.

Streaming ​

Le streaming est supporté sur tous les modèles :

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.mirai.interieur.gouv.fr",
    api_key="<TOKEN>"
)

stream = client.chat.completions.create(
    model="chat-pro",
    messages=[{"role": "user", "content": "Explique la diarisation audio en 3 points."}],
    stream=True,
)

for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Choisir le bon modèle ​

Tâche complexe, synthèse longue, raisonnement    →  chat-pro
Function calling / agents (haute qualité)        →  tools-pro
Function calling / agents (faible latence)       →  tools
Interaction rapide, faible latence               →  chat
Génération ou revue de code                      →  code (ou code-1.0 pour figer la version)
Complétion de code / copilot                     →  code-completion (ou code-completion-1.0)

Exemple d'intégration ​

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.mirai.interieur.gouv.fr",
    api_key="<TOKEN>"
)

response = client.chat.completions.create(
    model="chat-pro",
    messages=[
        {"role": "system", "content": "Tu es un assistant expert en droit administratif français."},
        {"role": "user", "content": "Résume ce document en 5 points clés : ..."}
    ]
)
print(response.choices[0].message.content)

Documentation maintained by the team