Le nombre maximal de tokens à générer dans la complétion. Le nombre de tokens de votre prompt plus max_tokens ne peut pas dépasser la longueur de contexte du modèle.













FIM
API de remplissage au milieu (Fill-in-the-middle).












Exemples
Exemples réels de code
Complétion FIM
POST /v1/fim/completions
Complétion FIM.
max_tokens
metadata
min_tokens
Le nombre minimum de jetons à générer dans la complétion.
model
Default Value: "codestral-2404"
ID du modèle avec FIM à utiliser.
prompt
Le texte/code à compléter.
prompt_cache_key
Une clé de cache pour la mise en cache des prompts. Utilisez la même clé pour les requêtes partageant des préfixes de prompt communs, comme les conversations multi-tours ou les prompts système répétés, afin d'augmenter les hits de cache. Les tokens mis en cache sont facturés à 10 % du prix standard des tokens d'entrée.
random_seed
La graine à utiliser pour l'échantillonnage aléatoire. Si définie, différents appels généreront des résultats déterministes.
stop
Arrêter la génération si ce token est détecté. Ou si l'un de ces tokens est détecté lors de la fourniture d'un tableau.
stream
Default Value: false
Indique s'il faut renvoyer le progrès partiel en continu. Si activé, les tokens seront envoyés sous forme d'événements serveur (server-side events) uniquement en données au fur et à mesure de leur disponibilité, avec la fin du flux marquée par un message data: [DONE]. Sinon, le serveur maintiendra la requête ouverte jusqu'au délai d'expiration ou jusqu'à la fin du traitement, la réponse contenant le résultat complet sous forme de JSON.
suffix
Texte/code optionnel qui ajoute plus de contexte pour le modèle. Lorsqu'un prompt et un suffix sont fournis, le modèle remplira ce qui se trouve entre eux. Lorsque suffix n'est pas fourni, le modèle exécutera simplement la complétion en commençant par prompt.
temperature
Température d'échantillonnage à utiliser, nous recommandons une valeur entre 0,0 et 0,7. Des valeurs plus élevées comme 0,7 rendront la sortie plus aléatoire, tandis que des valeurs plus basses comme 0,2 la rendront plus ciblée et déterministe. Nous recommandons généralement de modifier ce paramètre ou top_p, mais pas les deux. La valeur par défaut varie en fonction du modèle ciblé. Appelez le point de terminaison /models pour récupérer la valeur appropriée.
top_p
Échantillonnage nucléaire, où le modèle considère les résultats des tokens avec une masse de probabilité top_p. Ainsi, 0,1 signifie que seuls les tokens représentant les 10 % de masse de probabilité les plus élevés sont considérés. Nous recommandons généralement de modifier ce paramètre ou temperature, mais pas les deux.
200 (application/json)
200 (text/event-stream)
Réponse réussie
Playground
Testez les endpoints en direct
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fim.complete({
model: "codestral-2405",
prompt: "def",
suffix: "return a+b",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fim.complete({
model: "codestral-2405",
prompt: "def",
suffix: "return a+b",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fim.complete(model="codestral-latest", prompt="def", top_p=1, stream=False, suffix="return a+b")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fim.complete(model="codestral-latest", prompt="def", top_p=1, stream=False, suffix="return a+b")
# Handle response
print(res)
curl https://api.mistral.ai/v1/fim/completions \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"prompt": "def"
}'curl https://api.mistral.ai/v1/fim/completions \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"prompt": "def"
}'200 (application/json)
200 (text/event-stream)
{
"id": "447e3e0d457e42e98248b5d2ef52a2a3",
"object": "chat.completion",
"model": "codestral-2508",
"usage": {
"prompt_tokens": 8,
"completion_tokens": 91,
"total_tokens": 99
},
"created": 1759496862,
"choices": [
{
"index": 0,
"message": {
"content": "add_numbers(a: int, b: int) -> int:\n \"\"\"\n You are given two integers `a` and `b`. Your task is to write a function that\n returns the sum of these two integers. The function should be implemented in a\n way that it can handle very large integers (up to 10^18). As a reminder, your\n code has to be in python\n \"\"\"\n",
"tool_calls": null,
"prefix": false,
"role": "assistant"
},
"finish_reason": "stop"
}
]
}{
"id": "447e3e0d457e42e98248b5d2ef52a2a3",
"object": "chat.completion",
"model": "codestral-2508",
"usage": {
"prompt_tokens": 8,
"completion_tokens": 91,
"total_tokens": 99
},
"created": 1759496862,
"choices": [
{
"index": 0,
"message": {
"content": "add_numbers(a: int, b: int) -> int:\n \"\"\"\n You are given two integers `a` and `b`. Your task is to write a function that\n returns the sum of these two integers. The function should be implemented in a\n way that it can handle very large integers (up to 10^18). As a reminder, your\n code has to be in python\n \"\"\"\n",
"tool_calls": null,
"prefix": false,
"role": "assistant"
},
"finish_reason": "stop"
}
]
}nullnull