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.
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.
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#
error_file#
metadata#
model#
object#
Default Value: "batch"
output_file#
outputs#
started_at#
status#
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({
endpoint: "/v1/moderations",
model: "mistral-small-latest",
});
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({
endpoint: "/v1/moderations",
model: "mistral-small-latest",
});
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.
200
OK
agent_id#
completed_at#
error_file#
metadata#
model#
object#
Default Value: "batch"
output_file#
outputs#
started_at#
status#
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.
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.delete({
jobId: "d9e71426-5791-49ad-b8d1-cf0d90d1b7d0",
});
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.delete({
jobId: "d9e71426-5791-49ad-b8d1-cf0d90d1b7d0",
});
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.delete(job_id="d9e71426-5791-49ad-b8d1-cf0d90d1b7d0")
# 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.delete(job_id="d9e71426-5791-49ad-b8d1-cf0d90d1b7d0")
# Handle response
print(res)
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.
200
OK
agent_id#
completed_at#
error_file#
metadata#
model#
object#
Default Value: "batch"
output_file#
outputs#
started_at#
status#
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"
}