> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fastino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing routes. For GLiDE decision inference, call POST https://api.fastino.ai/v1/systemone with model fastino/glide. Do not infer undocumented routes. Read API keys from FASTINO_API_KEY and never embed credentials in code, logs, or reports.

# Inférence GLiDE avec /v1/systemone

> Authentifiez-vous, choisissez une question Noul, Choice ou Score, appelez POST /v1/systemone et exploitez les probabilités et la confiance de GLiDE.

```text theme={null}
POST https://api.fastino.ai/v1/systemone
```

Il s'agit de l'endpoint d'inférence de **GLiDE**. Envoyez un `state` non vide et une ou plusieurs `questions`
nommées et typées ; lisez les décisions structurées dans `answers`. GLiDE n'utilise pas
`/v1/chat/completions`, `messages` ni un `schema` GLiNER.

## Authentification

Créez une clé d'API dans les [paramètres Fastino](https://agent.fastino.ai/api-keys), puis définissez :

```bash theme={null}
export FASTINO_API_KEY="fast_sk_..."
```

Envoyez-la avec chaque requête :

```http theme={null}
X-API-Key: $FASTINO_API_KEY
Content-Type: application/json
```

`Authorization: Bearer $FASTINO_API_KEY` est également accepté. Utilisez un seul mode de manière cohérente.

## Choisir un type de question

Chaque question n'accepte qu'un seul libellé et renvoie des probabilités. Choisissez la primitive selon la
forme de réponse dont votre code a besoin :

| Primitive | À utiliser lorsque | Forme de `criteria` | Résultat principal |
| - | - | - | - |
| [Noul](/fr/concepts/glide-noul) | La réponse est oui ou non | `{"true": "...", "false": "..."}` facultatif ; Yes/No par défaut | `noul`, la probabilité de true |
| [Choice](/fr/concepts/glide-choice) | Une seule option non ordonnée doit l'emporter | Objet associant des clés d'option à des descriptions | `choice` plus `probabilities` |
| [Score](/fr/concepts/glide-score) | La réponse se situe sur une échelle ordonnée | Tableau ordonné de descriptions de niveaux | `score`, `expected_level` et `probabilities` |

Il n'existe pas de primitive multi-libellé. Posez plusieurs questions nommées indépendamment dans une même requête
lorsque vous avez besoin de plusieurs jugements sur le même state.

## Requête

<ParamField body="model" type="string" required>
  Utilisez `fastino/glide`. La réponse renvoie le nom du moteur sous la forme `glide`.
</ParamField>

<ParamField body="state" type="string | object | array" required>
  La situation non vide à évaluer. Utilisez une chaîne pour un passage unique, un objet pour des champs
  étiquetés, ou un tableau pour une séquence ordonnée de messages ou d'enregistrements.
</ParamField>

<ParamField body="questions" type="object" required>
  Un objet non vide dont les clés sont des noms que vous choisissez. Chaque valeur doit contenir `type` et
  `instructions` ; Choice et Score exigent également `criteria`. Les mêmes clés apparaissent sous
  `answers` dans la réponse.
</ParamField>

### Requête complète

```bash theme={null}
curl --max-time 300 -s https://api.fastino.ai/v1/systemone \
  -H "X-API-Key: $FASTINO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "fastino/glide",
    "state": "Refund request: the receipt is attached, the purchase was 10 days ago, and refunds are allowed within 30 days.",
    "questions": {
      "refund_allowed": {
        "type": "noul",
        "instructions": "Does this request qualify for a refund?",
        "criteria": { "true": "Qualifies", "false": "Does not qualify" }
      }
    }
  }'
```

## Réponse

```json theme={null}
{
  "model": "glide",
  "answers": {
    "refund_allowed": {
      "type": "noul",
      "noul": 0.99767683794902,
      "confidence": 0.9953536758980399
    }
  },
  "usage": { "input_tokens": 89, "output_tokens": 1 }
}
```

`answers` utilise les clés de question de votre requête. Pour ce Noul :

* `noul` est la probabilité que le critère `true` soit vérifié. Ce n'est pas un booléen.
* `confidence` est la certitude quant à l'un ou l'autre résultat : `|2 × noul − 1|`.
* Ajustez les seuils d'action sur des données représentatives. Ne supposez pas que `0.5` est le bon seuil
  métier.

Choice et Score renvoient des champs différents. Consultez leurs pages de primitive pour les formes de réponse exactes
et des exemples d'intégration.

## Limites et formes non prises en charge

* Chaque prompt de question rendu (`state` plus cette question) doit tenir dans **40 000
  tokens**.
* Choice et Score acceptent au maximum **255 options ou niveaux**.
* `usage.input_tokens` additionne les passes internes de toutes les questions ; il peut donc dépasser 40 000
  même si chaque prompt rendu individuellement tient dans la limite.
* Une requête évalue un seul `state` partagé ; placez plusieurs questions sous `questions`.
* `/v1/systemone` ne prend pas en charge le streaming et n'accepte pas de lot d'états indépendants.
* GLiDE ne prend pas encore en charge les identifiants de déploiements affinés.

Consultez la [référence GLiDE](/fr/concepts/decision-models) pour des conseils sur les formes de state, les formules
de confiance et une requête mêlant Choice et Score.

## Erreurs

| Statut | Cause probable | Action |
| - | - | - |
| `400` | Le prompt dépasse la fenêtre de contexte ou une autre entrée d'inférence est invalide | Raccourcissez le state ou corrigez la question |
| `401` | Clé d'API manquante, mal formée ou invalide | Exportez une clé `fast_sk_...` valide |
| `402` | Crédits insuffisants, financement requis ou plafond de dépense quotidien/mensuel défini par le propriétaire | Ajoutez des crédits ou ajustez le plafond de dépense |
| `403` | Refus lié au moyen de paiement, à la vérification de la carte, au plafond de crédit ou à la politique du compte | Résolvez l'exigence de facturation ou de compte |
| `404` | Modèle inconnu ou modèle ne prenant en charge que les chat completions | Utilisez `fastino/glide` |
| `422` | Un champ obligatoire est manquant, une valeur a une forme incorrecte ou un champ supplémentaire a été envoyé | Lisez et corrigez les détails de validation au niveau du champ |
| `425` | Le déploiement est en cours de préchauffage | Retentez après le délai indiqué |
| `429` | Limite de débit ou de capacité | Respectez `Retry-After` et retentez avec un backoff |
| `503` | Défaillance temporaire du fournisseur ou du service | Retentez avant de considérer l'erreur comme définitive |

Utilisez un délai de lecture d'au moins 300 secondes et un backoff borné pour `425`, `429` et `503`.
Ne retentez pas `401`, `402`, `403`, `404` ou `422` sans corriger le problème sous-jacent.

## Pour aller plus loin

<CardGroup cols={2}>
  <Card title="Référence GLiDE" icon="book-open" href="/fr/concepts/decision-models">
    Comprenez les formes de state, les limites, la confiance et la combinaison de plusieurs questions.
  </Card>

  <Card title="Noul" icon="toggle-on" href="/fr/concepts/glide-noul">
    Intégrez une probabilité oui/non.
  </Card>

  <Card title="Choice" icon="list" href="/fr/concepts/glide-choice">
    Routez vers une option nommée.
  </Card>

  <Card title="Score" icon="gauge" href="/fr/concepts/glide-score">
    Évaluez selon une grille ordonnée.
  </Card>
</CardGroup>
