Tree BG 1
Tree
Tree
TreeLeaves
TreeLeaves
Cat IdleGrassGrassRockRock

Fine Tuning Endpoints

Fine-tuning API

Get Fine Tuning Jobs

GET /v1/fine_tuning/jobs

Get a list of fine-tuning jobs for your organization and user.

200

OK

object
"list"

Default Value: "list"

total
*integer

Playground

Test the endpoints live

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 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'

200

{
  "total": 87
}

Create Fine Tuning Job

POST /v1/fine_tuning/jobs

Create a new fine-tuning job, it will be queued for processing.

200

OK

CompletionJobOut

{object}

ClassifierJobOut

{object}

LegacyJobMetadataOut

{object}

Playground

Test the endpoints live

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 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' \
 -d '{
  "hyperparameters": {},
  "model": "ministral-3b-latest"
}'

200

{
  "auto_start": false,
  "created_at": 87,
  "hyperparameters": {},
  "id": "ipsum eiusmod",
  "model": "ministral-3b-latest",
  "modified_at": 14,
  "status": "QUEUED",
  "training_files": [
    "consequat do"
  ]
}

Get Fine Tuning Job

GET /v1/fine_tuning/jobs/{job_id}

Get a fine-tuned job details by its UUID.

200

OK

CompletionDetailedJobOut

{object}

ClassifierDetailedJobOut

{object}

Playground

Test the endpoints live

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 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'

200

{
  "auto_start": false,
  "created_at": 87,
  "hyperparameters": {},
  "id": "ipsum eiusmod",
  "model": "ministral-3b-latest",
  "modified_at": 14,
  "status": "QUEUED",
  "training_files": [
    "consequat do"
  ]
}

Cancel Fine Tuning Job

POST /v1/fine_tuning/jobs/{job_id}/cancel

Request the cancellation of a fine tuning job.

200

OK

CompletionDetailedJobOut

{object}

ClassifierDetailedJobOut

{object}

Playground

Test the endpoints live

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 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'

200

{
  "auto_start": false,
  "created_at": 87,
  "hyperparameters": {},
  "id": "ipsum eiusmod",
  "model": "ministral-3b-latest",
  "modified_at": 14,
  "status": "QUEUED",
  "training_files": [
    "consequat do"
  ]
}

Start Fine Tuning Job

POST /v1/fine_tuning/jobs/{job_id}/start

Request the start of a validated fine tuning job.

200

OK

CompletionDetailedJobOut

{object}

ClassifierDetailedJobOut

{object}

Playground

Test the endpoints live

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 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'

200

{
  "auto_start": false,
  "created_at": 87,
  "hyperparameters": {},
  "id": "ipsum eiusmod",
  "model": "ministral-3b-latest",
  "modified_at": 14,
  "status": "QUEUED",
  "training_files": [
    "consequat do"
  ]
}