Le frequency_penalty pénalise la répétition des mots en fonction de leur fréquence dans le texte généré. Une pénalité de fréquence plus élevée décourage le modèle de répéter des mots qui sont déjà apparus fréquemment dans la sortie, favorisant ainsi la diversité et réduisant la répétition.













Chat
API de complétion de chat.












Exemples
Exemples réels de code
Complétion de chat
POST /v1/chat/completions#
Chat completion
frequency_penalty#
guardrails#
max_tokens#
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.
Le ou les prompts pour lesquels générer des complétions, encodés sous forme de liste de dictionnaires avec rôle et contenu.
metadata#
ID du modèle à utiliser. Vous pouvez utiliser l'API Lister les modèles disponibles pour voir tous vos modèles disponibles, ou consulter notre aperçu des modèles pour des descriptions des modèles.
n#
Nombre de complétions à retourner pour chaque requête, les tokens d'entrée ne sont facturés qu'une seule fois.
parallel_tool_calls#
Default Value: true
Indique s'il faut activer l'appel de fonctions en parallèle lors de l'utilisation d'outils. Lorsqu'activé, le modèle peut appeler plusieurs outils en parallèle.
prediction#
Permet aux utilisateurs de spécifier une durée d'achèvement prévue, optimisant les temps de réponse en exploitant un contenu connu ou prévisible.
presence_penalty#
Le presence_penalty détermine dans quelle mesure le modèle pénalise la répétition de mots ou de phrases. Une pénalité de présence plus élevée encourage le modèle à utiliser une plus grande variété de mots et de phrases, rendant la sortie plus diverse et créative.
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.
prompt_mode#
Options disponibles pour l'argument prompt_mode sur le point de terminaison de complétion de chat.
Les valeurs représentent une intention de haut niveau. L'affectation aux SP réels est gérée en interne.
L'invite système peut inclure la date de coupure des connaissances, les capacités du modèle, le ton à utiliser, les directives de sécurité, etc.
random_seed#
La graine à utiliser pour l'échantillonnage aléatoire. Si définie, différents appels généreront des résultats déterministes.
reasoning_effort#
response_format#
Spécifiez le format que le modèle doit produire. Par défaut, il utilisera { "type": "text" }. Définir à { "type": "json_object" } active le mode JSON, qui garantit que le message généré par le modèle est en JSON. Lorsque vous utilisez le mode JSON, vous DEVEZ également indiquer au modèle de produire du JSON vous-même avec un message système ou utilisateur. Définir à { "type": "json_schema" } active le mode schéma JSON, qui garantit que le message généré par le modèle est en JSON et suit le schéma que vous fournissez.
safe_prompt#
Default Value: false
Indique si une invite de sécurité doit être injectée avant toutes les conversations.
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.
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.
tool_choice#
Contrôle quel outil (le cas échéant) est appelé par le modèle. none signifie que le modèle n'appellera aucun outil et générera plutôt un message. auto signifie que le modèle peut choisir entre générer un message ou appeler un ou plusieurs outils. any ou required signifie que le modèle doit appeler un ou plusieurs outils. Spécifier un outil particulier via {"type": "function", "function": {"name": "my_function"}} force le modèle à appeler cet outil.
Une liste d'outils que le modèle peut appeler. Utilisez ceci pour fournir une liste de fonctions pour lesquelles le modèle peut générer des entrées JSON.
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 client = new Mistral({ apiKey: process.env.MISTRAL_API_KEY });
const response = await client.chat.complete({
model: "mistral-large-latest",
messages: [
{
role: "user",
content: "Who is the best French painter? Answer in one short sentence.",
},
],
});
console.log(response.choices[0].message.content);
import { Mistral } from "@mistralai/mistralai";
const client = new Mistral({ apiKey: process.env.MISTRAL_API_KEY });
const response = await client.chat.complete({
model: "mistral-large-latest",
messages: [
{
role: "user",
content: "Who is the best French painter? Answer in one short sentence.",
},
],
});
console.log(response.choices[0].message.content);
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
response = client.chat.complete(
model="mistral-large-latest",
messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
}
],
)
print(response.choices[0].message.content)
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
response = client.chat.complete(
model="mistral-large-latest",
messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
}
],
)
print(response.choices[0].message.content)
curl https://api.mistral.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-d '{
"model": "mistral-large-latest",
"messages": [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
]
}'
curl https://api.mistral.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-d '{
"model": "mistral-large-latest",
"messages": [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
]
}'
200 (application/json)
200 (text/event-stream)
{
"choices": [
{
"finish_reason": "stop",
"index": "<to fill>"
}
],
"created": "1702256327",
"id": "cmpl-e5cc70bb28c444948073e77776eb30ef",
"model": "mistral-small-latest",
"object": "chat.completion",
"usage": {}
}{
"choices": [
{
"finish_reason": "stop",
"index": "<to fill>"
}
],
"created": "1702256327",
"id": "cmpl-e5cc70bb28c444948073e77776eb30ef",
"model": "mistral-small-latest",
"object": "chat.completion",
"usage": {}
}nullnull