- Si
true, la tâche n'est pas lancée. La requête renvoie des métadonnées utiles pour vérification (voir la réponseLegacyJobMetadataOut). - Sinon, le job démarre et la requête renvoie l'ID du job ainsi que certains paramètres d'entrée (voir la réponse
JobOut).













Endpoints Fine-tuning déprécié
(déprécié) API de fine-tuning












Exemples
Exemples réels de code
Récupérer les jobs de fine-tuning
GET /v1/fine_tuning/jobs
Récupère la liste des jobs de fine-tuning de votre organisation et utilisateur.
200
OK
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.fineTuning.jobs.list({});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fineTuning.jobs.list({});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.list(page=0, page_size=100, created_by_me=False)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.list(page=0, page_size=100, created_by_me=False)
# Handle response
print(res)
curl https://api.mistral.ai/v1/fine_tuning/jobs \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/fine_tuning/jobs \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"total": 87
}{
"total": 87
}Créer un job de fine-tuning
POST /v1/fine_tuning/jobs
Crée un nouveau job de fine-tuning. Il sera mis en file d'attente pour traitement.
dry_run
auto_start
Ce champ sera obligatoire dans une version future.
classifier_targets
integrations
Liste des intégrations à activer pour votre job de fine-tuning.
invalid_sample_skip_percentage
Valeur par défaut : 0
job_type
model
repositories
suffix
Chaîne de caractères ajoutée au nom de votre modèle affiné. Par exemple, un suffixe « my-great-model » produira un nom de modèle tel que ft:open-mistral-7b:my-great-model:xxx...
training_files
validation_files
Liste contenant les ID des fichiers importés qui contiennent des données de validation. Si vous fournissez ces fichiers, les données servent à générer des métriques de validation périodiquement pendant l'affinage. Ces métriques peuvent être consultées dans checkpoints lors de la récupération du statut d'un job d'affinage en cours. Les mêmes données ne doivent pas figurer à la fois dans les fichiers d'entraînement et de validation.
200
OK
CompletionJobOut
ClassifierJobOut
LegacyJobMetadataOut
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.fineTuning.jobs.create({
model: "Camaro",
hyperparameters: {
learningRate: 0.0001,
},
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fineTuning.jobs.create({
model: "Camaro",
hyperparameters: {
learningRate: 0.0001,
},
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.create(model="Camaro", hyperparameters={
"learning_rate": 0.0001,
}, invalid_sample_skip_percentage=0)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.create(model="Camaro", hyperparameters={
"learning_rate": 0.0001,
}, invalid_sample_skip_percentage=0)
# Handle response
print(res)
curl https://api.mistral.ai/v1/fine_tuning/jobs \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"hyperparameters": {},
"model": "ipsum eiusmod"
}'curl https://api.mistral.ai/v1/fine_tuning/jobs \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"hyperparameters": {},
"model": "ipsum eiusmod"
}'200
{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}Récupérer un job de fine-tuning
GET /v1/fine_tuning/jobs/{job_id}
Récupérer les détails d'un job de fine-tuning par son UUID.
job_id
L'ID du job à analyser.
200
OK
CompletionDetailedJobOut
ClassifierDetailedJobOut
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.fineTuning.jobs.get({
jobId: "c167a961-ffca-4bcf-93ac-6169468dd389",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fineTuning.jobs.get({
jobId: "c167a961-ffca-4bcf-93ac-6169468dd389",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.get(job_id="c167a961-ffca-4bcf-93ac-6169468dd389")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.get(job_id="c167a961-ffca-4bcf-93ac-6169468dd389")
# Handle response
print(res)
curl https://api.mistral.ai/v1/fine_tuning/jobs/{job_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/fine_tuning/jobs/{job_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}Annuler un job de fine-tuning
POST /v1/fine_tuning/jobs/{job_id}/cancel
Demander l'annulation d'un job de fine-tuning.
job_id
L'ID du job à annuler.
200
OK
CompletionDetailedJobOut
ClassifierDetailedJobOut
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.fineTuning.jobs.cancel({
jobId: "6188a2f6-7513-4e0f-89cc-3f8088523a49",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fineTuning.jobs.cancel({
jobId: "6188a2f6-7513-4e0f-89cc-3f8088523a49",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.cancel(job_id="6188a2f6-7513-4e0f-89cc-3f8088523a49")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.cancel(job_id="6188a2f6-7513-4e0f-89cc-3f8088523a49")
# Handle response
print(res)
curl https://api.mistral.ai/v1/fine_tuning/jobs/{job_id}/cancel \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/fine_tuning/jobs/{job_id}/cancel \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'200
{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}Démarrer un job de fine-tuning
POST /v1/fine_tuning/jobs/{job_id}/start
Demande le démarrage d'un job de fine-tuning validé.
job_id
200
OK
CompletionDetailedJobOut
ClassifierDetailedJobOut
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.fineTuning.jobs.start({
jobId: "56553e4d-0679-471e-b9ac-59a77d671103",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.fineTuning.jobs.start({
jobId: "56553e4d-0679-471e-b9ac-59a77d671103",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.start(job_id="56553e4d-0679-471e-b9ac-59a77d671103")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.fine_tuning.jobs.start(job_id="56553e4d-0679-471e-b9ac-59a77d671103")
# Handle response
print(res)
curl https://api.mistral.ai/v1/fine_tuning/jobs/{job_id}/start \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/fine_tuning/jobs/{job_id}/start \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'200
{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": false,
"created_at": 87,
"hyperparameters": {},
"id": "ipsum eiusmod",
"model": "consequat do",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}