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

# Gestion des prompts

> Les quatre champs qui modifient ce que nous envoyons au fournisseur et ce que nous conservons.

Votre prompt transite par nos services avant d'atteindre le fournisseur. Quatre champs déterminent la manière dont nous le traitons. Nous supprimons ces quatre champs du corps de la requête avant d'appeler le fournisseur, de sorte qu'il ne les voit jamais.

| Champ           | Fonction                                                             | Où cela fonctionne |
| --------------- | -------------------------------------------------------------------- | ------------------ |
| `pii_mask`      | Remplace les données personnelles par des placeholders avant l'envoi | Managed Keys       |
| `moderate`      | Vérifie le prompt pour détecter du contenu nuisible avant l'envoi    | Managed Keys       |
| `trace_storage` | Conserve le prompt et la réponse pour la page Logs                   | Managed Keys       |
| `cache`         | Facture un préfixe Claude répété à un dixième du prix                | Anthropic direct   |

Les trois premiers ne s'exécutent que sur les Managed Keys. Avec vos propres clés, nous transmettons votre requête sans modification.

Le masquage et la modération lisent d'abord votre requête, puis la configuration par défaut de votre organisation, puis sont désactivés. Le stockage des traces lit la requête et rien d'autre.

## Masquage des PII

Nous pouvons masquer les données personnelles (PII) dans votre prompt avant qu'il n'atteigne le fournisseur. Chaque correspondance devient un placeholder stable tel que `[EMAIL_1]`, afin que le modèle puisse toujours distinguer les personnes. Cela couvre les e-mails, les numéros de téléphone et d'autres motifs tels que les numéros de carte.

```json theme={null}
{ "pii_mask": true }
```

Envoyez `false` sur une requête pour ignorer le masquage activé par votre organisation. Si le masquage est activé et échoue, nous arrêtons la requête avec le code `500` [`pii_masking_failed`](/fr/errors#pii_masking_failed) plutôt que de l'envoyer non masquée.

## Modération

Nous pouvons vérifier un prompt pour détecter du contenu nuisible avant de l'envoyer. Un prompt bloqué renvoie un code `403` [`moderation_blocked`](/fr/errors#moderation_blocked) et n'atteint aucun fournisseur.

```json theme={null}
{ "moderate": true }
```

## Stockage des traces

Nous pouvons stocker vos prompts et réponses, chiffrés, afin que la page Logs puisse les afficher. Seule votre requête active cette fonctionnalité. Une requête gérée conserve autrement ce qu'une requête BYOK conserve, c'est-à-dire les données de facturation et rien d'autre.

```json theme={null}
{ "trace_storage": true }
```

Une requête ultérieure sans ce champ ne stocke rien de nouveau. Ce que vous avez déjà stocké reste jusqu'à ce que vous le supprimiez sur la page Logs.

## Mise en cache des prompts

Nous mettons en cache chaque requête Claude sur la route directe Anthropic. Un préfixe répété est alors facturé à un dixième du prix d'entrée normal. L'écriture dans le cache coûte 1,25 fois le prix d'entrée. Un préfixe que vous ne réutilisez jamais coûte 25 % de plus. C'est pourquoi vous pouvez désactiver la mise en cache.

```json theme={null}
{ "cache": false }
```

Vos propres marqueurs l'emportent toujours. Si votre requête contient un `cache_control`, nous le transmettons et n'ajoutons rien de notre cru. Une requête trop courte pour être mise en cache s'exécute simplement sans cache.

| Route             | Ce qui se passe                                                                            |
| ----------------- | ------------------------------------------------------------------------------------------ |
| Anthropic direct  | Automatique, et vos propres marqueurs le remplacent                                        |
| Bedrock           | Vos marqueurs explicites uniquement, car Bedrock n'a pas de mise en cache automatique      |
| OpenAI and Gemini | Le fournisseur met lui-même en cache les préfixes répétés, il n'y a donc rien à configurer |

La réponse indique les `cached_tokens` et `cache_write_tokens` dans son bloc d'utilisation.

## Champs d'identité sur les clés gérées

Sur les Managed Keys, nous remplaçons quatre champs d'identité par un hachage stable de l'ID de votre organisation avant d'appeler le fournisseur. L'identité qu'un fournisseur voit sur nos identifiants doit provenir de nous, ce sont donc les seuls champs que nous modifions au lieu de les transmettre.

* `user`
* `safety_identifier`
* `prompt_cache_key`
* `metadata.user_id`

Avec votre propre clé, nous transmettons les quatre tels que vous les avez envoyés.

| Champ               | Managed Keys                                 | Votre propre clé |
| ------------------- | -------------------------------------------- | ---------------- |
| `user`              | Supprimé                                     | Transmis         |
| `safety_identifier` | Hachage de votre organisation, sur OpenAI    | Transmis         |
| `prompt_cache_key`  | Hachage de votre organisation, sur OpenAI    | Transmis         |
| `metadata.user_id`  | Hachage de votre organisation, sur Anthropic | Transmis         |

Nous laissons toutes les autres clés dans `metadata` inchangées.

Workers AI n'accepte aucun champ d'identité dans le corps de la requête, nous attachons donc le hachage à la requête elle-même. Gemini, Vertex et Bedrock n'acceptent aucun champ d'identité que nous puissions définir. Sur ces trois routes, nous supprimons le vôtre et n'envoyons rien à sa place.

## Un marqueur réservé dans les ID d'appel d'outil

Gemini nécessite qu'une signature soit rejouée à chaque appel d'outil, nous la transportons donc à l'intérieur de l'ID d'appel d'outil. L'ID que nous vous fournissons ressemble à `<id>::gsig::<signature>`, et nous retirons la signature avant qu'un autre fournisseur ne la voie.

Vos propres ID sont transmis sans modification, même s'ils contiennent `::`. La seule chose à éviter est le texte littéral `::gsig::` à l'intérieur d'un ID que vous inventez, car nous le lirions comme le nôtre et tronquerions l'ID.

## Noms de fichiers sur les modèles Gemini

Vous pouvez envoyer un document en ligne, sous forme d'octets base64 ou d'URL `data:`. Sur un modèle Gemini, nous envoyons à Google le type de média et les octets, et nous omettons `filename` et `file_id`. Le format de document de Google n'a pas de champ pour ceux-ci et rejette une requête qui en contient un. Le modèle lit les octets et ne voit jamais de nom, donc rien de ce que vous avez envoyé n'est perdu.

Tous les autres fournisseurs reçoivent toujours le nom.
