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
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
model
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 mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.chat.complete({
model: "mistral-small-latest",
messages: [
{
content: "Who is the best French painter? Answer in one short sentence.",
role: "user",
},
],
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.chat.complete({
model: "mistral-small-latest",
messages: [
{
content: "Who is the best French painter? Answer in one short sentence.",
role: "user",
},
],
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.chat.complete(model="mistral-large-latest", messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
},
], stream=False, response_format={
"type": "text",
})
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.chat.complete(model="mistral-large-latest", messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
},
], stream=False, response_format={
"type": "text",
})
# Handle response
print(res)
curl https://api.mistral.ai/v1/chat/completions \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
{
"content": "Example content."
}
],
"model": "mistral-large-latest"
}'curl https://api.mistral.ai/v1/chat/completions \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
{
"content": "Example content."
}
],
"model": "mistral-large-latest"
}'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