Dans le cas où vous souhaitez utiliser un agent spécifique de l'API obsolète des agents pour l'inférence par lots, vous pouvez spécifier l'ID de l'agent ici.













Batch
API Batch












Exemples
Exemples réels de code
Obtenir les tâches par lots
GET /v1/batch/jobs
Obtenir une liste des tâches par lots pour votre organisation et utilisateur.
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.batch.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.batch.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.batch.jobs.list(page=0, page_size=100, created_by_me=False, order_by="-created")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.list(page=0, page_size=100, created_by_me=False, order_by="-created")
# Handle response
print(res)
curl https://api.mistral.ai/v1/batch/jobs \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/batch/jobs \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"total": 87
}{
"total": 87
}Créer une tâche par lots
POST /v1/batch/jobs
Créer une nouvelle tâche par lots, elle sera mise en file d'attente pour traitement.
agent_id
endpoint
input_files
Une liste de fichiers .jsonl pour l'inférence par lots.
Chaque ligne doit être un objet JSON avec un champ body contenant la charge utile de la requête :
\{"custom_id": "0", "body": \{"max_tokens": 100, "messages": [\{"role": "user", "content": "What is the best French cheese?"\}]\}\}
\{"custom_id": "1", "body": \{"max_tokens": 100, "messages": [\{"role": "user", "content": "What is the best French wine?"\}]\}\}\{"custom_id": "0", "body": \{"max_tokens": 100, "messages": [\{"role": "user", "content": "What is the best French cheese?"\}]\}\}
\{"custom_id": "1", "body": \{"max_tokens": 100, "messages": [\{"role": "user", "content": "What is the best French wine?"\}]\}\}metadata
Les métadonnées de votre choix à associer au travail d'inférence par lots.
model
Le modèle à utiliser pour l'inférence par lots.
requests
timeout_hours
Default Value: 24
Le délai d'expiration en heures pour le travail d'inférence par lots.
200
OK
agent_id
completed_at
completed_requests
created_at
endpoint
error_file
failed_requests
id
input_files
metadata
model
object
Default Value: "batch"
output_file
outputs
started_at
status
succeeded_requests
total_requests
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.batch.jobs.create({
inputFiles: [
"fe3343a2-3b8d-404b-ba32-a78dede2614a",
],
endpoint: "/v1/classifications",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.batch.jobs.create({
inputFiles: [
"fe3343a2-3b8d-404b-ba32-a78dede2614a",
],
endpoint: "/v1/classifications",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.create(endpoint="/v1/moderations", model="mistral-small-latest", timeout_hours=24)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.create(endpoint="/v1/moderations", model="mistral-small-latest", timeout_hours=24)
# Handle response
print(res)
curl https://api.mistral.ai/v1/batch/jobs \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"endpoint": "/v1/chat/completions"
}'curl https://api.mistral.ai/v1/batch/jobs \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"endpoint": "/v1/chat/completions"
}'200
{
"completed_requests": "10",
"created_at": 14,
"endpoint": "/v1/chat/completions",
"errors": [
{
"message": "Example message."
}
],
"failed_requests": "0",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"input_files": [
"019b2bd7-96e7-7219-8c0b-45a73da50088"
],
"status": "QUEUED",
"succeeded_requests": "10",
"total_requests": "10"
}{
"completed_requests": "10",
"created_at": 14,
"endpoint": "/v1/chat/completions",
"errors": [
{
"message": "Example message."
}
],
"failed_requests": "0",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"input_files": [
"019b2bd7-96e7-7219-8c0b-45a73da50088"
],
"status": "QUEUED",
"succeeded_requests": "10",
"total_requests": "10"
}Obtenir un traitement par lots
GET /v1/batch/jobs/{job_id}
Obtenir les détails d'un traitement par lots par son UUID.
Args: inline : Si True, retourne les résultats en ligne dans la réponse.
job_id
inline
200
OK
agent_id
completed_at
completed_requests
created_at
endpoint
error_file
failed_requests
id
input_files
metadata
model
object
Default Value: "batch"
output_file
outputs
started_at
status
succeeded_requests
total_requests
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.batch.jobs.get({
jobId: "4017dc9f-b629-42f4-9700-8c681b9e7f0f",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.batch.jobs.get({
jobId: "4017dc9f-b629-42f4-9700-8c681b9e7f0f",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.get(job_id="4017dc9f-b629-42f4-9700-8c681b9e7f0f")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.get(job_id="4017dc9f-b629-42f4-9700-8c681b9e7f0f")
# Handle response
print(res)
curl https://api.mistral.ai/v1/batch/jobs/{job_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/batch/jobs/{job_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"completed_requests": "10",
"created_at": 14,
"endpoint": "/v1/chat/completions",
"errors": [
{
"message": "Example message."
}
],
"failed_requests": "0",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"input_files": [
"019b2bd7-96e7-7219-8c0b-45a73da50088"
],
"status": "QUEUED",
"succeeded_requests": "10",
"total_requests": "10"
}{
"completed_requests": "10",
"created_at": 14,
"endpoint": "/v1/chat/completions",
"errors": [
{
"message": "Example message."
}
],
"failed_requests": "0",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"input_files": [
"019b2bd7-96e7-7219-8c0b-45a73da50088"
],
"status": "QUEUED",
"succeeded_requests": "10",
"total_requests": "10"
}Supprimer un traitement par lots
DELETE /v1/batch/jobs/{job_id}
Demander la suppression d'une tâche par lots.
job_id
200
OK
deleted
Default Value: true
id
object
Default Value: "batch"
Playground
Testez les endpoints en direct
curl https://api.mistral.ai/v1/batch/jobs/{job_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/batch/jobs/{job_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'200
{
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}{
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}Annuler un traitement par lots
POST /v1/batch/jobs/{job_id}/cancel
Demander l'annulation d'un traitement par lots.
job_id
200
OK
agent_id
completed_at
completed_requests
created_at
endpoint
error_file
failed_requests
id
input_files
metadata
model
object
Default Value: "batch"
output_file
outputs
started_at
status
succeeded_requests
total_requests
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.batch.jobs.cancel({
jobId: "4fb29d1c-535b-4f0a-a1cb-2167f86da569",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.batch.jobs.cancel({
jobId: "4fb29d1c-535b-4f0a-a1cb-2167f86da569",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.cancel(job_id="4fb29d1c-535b-4f0a-a1cb-2167f86da569")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.batch.jobs.cancel(job_id="4fb29d1c-535b-4f0a-a1cb-2167f86da569")
# Handle response
print(res)
curl https://api.mistral.ai/v1/batch/jobs/{job_id}/cancel \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/batch/jobs/{job_id}/cancel \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'200
{
"completed_requests": "10",
"created_at": 14,
"endpoint": "/v1/chat/completions",
"errors": [
{
"message": "Example message."
}
],
"failed_requests": "0",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"input_files": [
"019b2bd7-96e7-7219-8c0b-45a73da50088"
],
"status": "QUEUED",
"succeeded_requests": "10",
"total_requests": "10"
}{
"completed_requests": "10",
"created_at": 14,
"endpoint": "/v1/chat/completions",
"errors": [
{
"message": "Example message."
}
],
"failed_requests": "0",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"input_files": [
"019b2bd7-96e7-7219-8c0b-45a73da50088"
],
"status": "QUEUED",
"succeeded_requests": "10",
"total_requests": "10"
}