












Évaluateurs bêta
API d'observabilité (beta) - juges.












Exemples
Exemples réels de code
Obtenir des juges avec filtrage et recherche optionnels
GET /v1/observability/judges#
Obtenir les juges avec filtrage et recherche optionnels
200
Réponse réussie
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.beta.observability.judges.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.beta.observability.judges.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.beta.observability.judges.list(page_size=50, page=1)
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.list(page_size=50, page=1)
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/judges \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/observability/judges \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"judges": {
"count": 87
}
}{
"judges": {
"count": 87
}
}Créer un nouveau juge
POST /v1/observability/judges#
Créer un nouveau juge
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.beta.observability.judges.create({
name: "<value>",
description: "border freely down whenever broadly whenever restructure catalyze after",
modelName: "<value>",
output: {
type: "REGRESSION",
min: 0,
minDescription: "<value>",
max: 1,
maxDescription: "<value>",
},
instructions: "<value>",
tools: [
"<value 1>",
"<value 2>",
],
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.beta.observability.judges.create({
name: "<value>",
description: "border freely down whenever broadly whenever restructure catalyze after",
modelName: "<value>",
output: {
type: "REGRESSION",
min: 0,
minDescription: "<value>",
max: 1,
maxDescription: "<value>",
},
instructions: "<value>",
tools: [
"<value 1>",
"<value 2>",
],
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.create(name="<value>", description="border freely down whenever broadly whenever restructure catalyze after", model_name="<value>", output={
"type": "REGRESSION",
"min": 0,
"min_description": "<value>",
"max": 1,
"max_description": "<value>",
}, instructions="<value>", tools=[
"<value 1>",
"<value 2>",
])
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.create(name="<value>", description="border freely down whenever broadly whenever restructure catalyze after", model_name="<value>", output={
"type": "REGRESSION",
"min": 0,
"min_description": "<value>",
"max": 1,
"max_description": "<value>",
}, instructions="<value>", tools=[
"<value 1>",
"<value 2>",
])
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/judges \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "My Judge description.",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My Judge",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"tools": [
"approved"
]
}'curl https://api.mistral.ai/v1/observability/judges \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "My Judge description.",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My Judge",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"tools": [
"approved"
]
}'201
{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}Obtenir un juge par identifiant
GET /v1/observability/judges/{judge_id}#
Obtenir un juge par son id
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.beta.observability.judges.fetch({
judgeId: "19ae5cf8-2ade-4a40-b9d2-730aaebe8429",
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.beta.observability.judges.fetch({
judgeId: "19ae5cf8-2ade-4a40-b9d2-730aaebe8429",
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.fetch(judge_id="19ae5cf8-2ade-4a40-b9d2-730aaebe8429")
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.fetch(judge_id="19ae5cf8-2ade-4a40-b9d2-730aaebe8429")
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/judges/{judge_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'curl https://api.mistral.ai/v1/observability/judges/{judge_id} \
-X GET \
-H 'Authorization: Bearer YOUR_APIKEY_HERE'200
{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}{
"created_at": "2025-12-17T10:25:07.818693Z",
"deleted_at": null,
"description": "My resource description.",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"instructions": "Evaluate the response.",
"model_name": "mistral-small-latest",
"name": "My resource",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"owner_id": "9c0ab39f-0cd0-46cd-bd30-8bf2d50be5ce",
"tools": [
"approved"
],
"updated_at": "2025-12-17T10:41:03.469341Z",
"workspace_id": "019b2bd7-96e7-7219-8c0b-45a73da50088"
}Playground
Testez les endpoints en direct
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
await mistral.beta.observability.judges.update({
judgeId: "9f28c7db-1fb7-4e1c-b137-d7039561ddb7",
updateJudgeRequest: {
name: "<value>",
description: "noteworthy and unless",
modelName: "<value>",
output: {
type: "REGRESSION",
min: 0,
minDescription: "<value>",
max: 1,
maxDescription: "<value>",
},
instructions: "<value>",
tools: [],
},
});
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
await mistral.beta.observability.judges.update({
judgeId: "9f28c7db-1fb7-4e1c-b137-d7039561ddb7",
updateJudgeRequest: {
name: "<value>",
description: "noteworthy and unless",
modelName: "<value>",
output: {
type: "REGRESSION",
min: 0,
minDescription: "<value>",
max: 1,
maxDescription: "<value>",
},
instructions: "<value>",
tools: [],
},
});
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
mistral.beta.observability.judges.update(judge_id="9f28c7db-1fb7-4e1c-b137-d7039561ddb7", name="<value>", description="noteworthy and unless", model_name="<value>", output={
"type": "REGRESSION",
"min": 0,
"min_description": "<value>",
"max": 1,
"max_description": "<value>",
}, instructions="<value>", tools=[])
# Use the SDK ...
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
mistral.beta.observability.judges.update(judge_id="9f28c7db-1fb7-4e1c-b137-d7039561ddb7", name="<value>", description="noteworthy and unless", model_name="<value>", output={
"type": "REGRESSION",
"min": 0,
"min_description": "<value>",
"max": 1,
"max_description": "<value>",
}, instructions="<value>", tools=[])
# Use the SDK ...
curl https://api.mistral.ai/v1/observability/judges/{judge_id} \
-X PUT \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "Checks whether the answer is grounded in the retrieved context.",
"instructions": "Score the response from 1 to 5 based on factual accuracy and faithfulness to the sources.",
"model_name": "mistral-large-latest",
"name": "Faithfulness",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"tools": [
"web_search"
]
}'curl https://api.mistral.ai/v1/observability/judges/{judge_id} \
-X PUT \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"description": "Checks whether the answer is grounded in the retrieved context.",
"instructions": "Score the response from 1 to 5 based on factual accuracy and faithfulness to the sources.",
"model_name": "mistral-large-latest",
"name": "Faithfulness",
"output": {
"options": [
{
"description": "My Judge",
"value": "approved"
}
]
},
"tools": [
"web_search"
]
}'Playground
Testez les endpoints en direct
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
await mistral.beta.observability.judges.delete({
judgeId: "80deecde-e10f-409c-a13a-c242d3760f6e",
});
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
await mistral.beta.observability.judges.delete({
judgeId: "80deecde-e10f-409c-a13a-c242d3760f6e",
});
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
mistral.beta.observability.judges.delete(judge_id="80deecde-e10f-409c-a13a-c242d3760f6e")
# Use the SDK ...
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
mistral.beta.observability.judges.delete(judge_id="80deecde-e10f-409c-a13a-c242d3760f6e")
# Use the SDK ...
curl https://api.mistral.ai/v1/observability/judges/{judge_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'curl https://api.mistral.ai/v1/observability/judges/{judge_id} \
-X DELETE \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json'Exécuter un juge enregistré sur une conversation
POST /v1/observability/judges/{judge_id}/live-judging#
Exécuter un juge enregistré sur une conversation
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.beta.observability.judges.judgeConversation({
judgeId: "7fb9f06a-22fb-45db-ad58-6a5715280755",
judgeConversationRequest: {
messages: [],
},
});
console.log(result);
}
run();
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
async function run() {
const result = await mistral.beta.observability.judges.judgeConversation({
judgeId: "7fb9f06a-22fb-45db-ad58-6a5715280755",
judgeConversationRequest: {
messages: [],
},
});
console.log(result);
}
run();
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.judge_conversation(judge_id="7fb9f06a-22fb-45db-ad58-6a5715280755", messages=[])
# Handle response
print(res)
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.observability.judges.judge_conversation(judge_id="7fb9f06a-22fb-45db-ad58-6a5715280755", messages=[])
# Handle response
print(res)
curl https://api.mistral.ai/v1/observability/judges/{judge_id}/live-judging \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
[
null
]
]
}'curl https://api.mistral.ai/v1/observability/judges/{judge_id}/live-judging \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
[
null
]
]
}'200
{
"analysis": "Example analysis.",
"answer": "Example answer."
}{
"analysis": "Example analysis.",
"answer": "Example answer."
}