- Si
true, la tâche n'est pas lancée, à la place la requête retourne quelques métadonnées utiles pour que l'utilisateur effectue des vérifications de cohérence (voir la réponseLegacyJobMetadataOut). - Sinon, la tâche est démarrée et la requête retourne l'ID de la tâche ainsi que certains des
paramètres d'entrée (voir la réponse
JobOut).













Fine-tuning obsolète
API Fine-tuning












Exemples
Exemples réels de code
Obtenir les tâches de fine-tuning
GET /v1/fine_tuning/jobs
Obtenir une liste des travaux de fine-tuning pour votre organisation et utilisateur.
200
OK
data
object
Default Value: "list"
total
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 une tâche de fine-tuning
POST /v1/fine_tuning/jobs
Créer une nouvelle tâche de fine-tuning, elle sera mise en file d'attente pour traitement.
dry_run
auto_start
Ce champ sera requis dans une version future.
classifier_targets
integrations
Une liste d'intégrations à activer pour votre tâche de fine-tuning.
invalid_sample_skip_percentage
Default Value: 0
job_type
model
repositories
suffix
Une chaîne qui sera ajoutée au nom de votre modèle de fine-tuning. Par exemple, un suffixe de "my-great-model" produirait un nom de modèle comme ft:open-mistral-7b:my-great-model:xxx....
training_files
validation_files
Une liste contenant les identifiants des fichiers téléversés qui contiennent des données de validation. Si vous fournissez ces fichiers, les données sont utilisées pour générer des métriques de validation périodiquement pendant le fine-tuning. Ces métriques peuvent être consultées dans checkpoints lors de la récupération de l'état d'une tâche de fine-tuning en cours. Les mêmes données ne doivent pas être présentes à la fois dans les fichiers d'entraînement et de validation.
200
OK
CompletionFineTuningJob
Example:
payloadpayloadClassifierFineTuningJob
Example:
payloadpayloadLegacyJobMetadata
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": "mistral-small-latest"
}'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": "mistral-small-latest"
}'200
{
"auto_start": "false",
"created_at": 87,
"hyperparameters": {},
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"d346265d-c8a8-4ffa-afd0-b2dac7c7c090"
]
}{
"auto_start": "false",
"created_at": 87,
"hyperparameters": {},
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"d346265d-c8a8-4ffa-afd0-b2dac7c7c090"
]
}Obtenir une tâche de fine-tuning
GET /v1/fine_tuning/jobs/{job_id}
Obtenir les détails d'une tâche de fine-tuning par son UUID.
job_id
L'ID de la tâche à analyser.
200
OK
CompletionFineTuningJobDetails
ClassifierFineTuningJobDetails
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": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": "false",
"created_at": 87,
"hyperparameters": {},
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}Annuler une tâche de fine-tuning
POST /v1/fine_tuning/jobs/{job_id}/cancel
Demander l'annulation d'une tâche de fine-tuning.
job_id
L'ID de la tâche à annuler.
200
OK
CompletionFineTuningJobDetails
ClassifierFineTuningJobDetails
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": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": "false",
"created_at": 87,
"hyperparameters": {},
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}Démarrer une tâche de fine-tuning
POST /v1/fine_tuning/jobs/{job_id}/start
Demander le démarrage d'une tâche de fine-tuning validée.
job_id
200
OK
CompletionFineTuningJobDetails
ClassifierFineTuningJobDetails
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": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}{
"auto_start": "false",
"created_at": 87,
"hyperparameters": {},
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"model": "mistral-small-latest",
"modified_at": 14,
"status": "QUEUED",
"training_files": [
"reprehenderit ut dolore"
]
}