POST /api/v1/evaluations
Create a new evaluation for the authenticated team.
The request body must be a JSON object with the following properties:
name (string) required: The name of the evaluation.description (string) optional: A description of the evaluation.model_id (integer) required: The ID of the search model to be evaluated.scale_type (string) required: The scale type of the evaluation. Possible values are binary, graded, detail.metrics (array of objects) required: A list of metrics in the format {"scorer_type": "ap", "num_results": 10}.
scorer_type (string) required: The type of scorer. Possible values are precision, ap, rr, cg, dcg, ndcg, cg_d, dcg_d, ndcg_d.num_results (integer) required: The number of results to be evaluated.keywords (array of strings) required: A list of keywords for the evaluation.tags (array of objects) optional: A list of tags for the evaluation in the format {"id": 1}.
id (integer) required: The ID of the tag.setting_feedback_strategy (integer) required: The feedback strategy. Possible values are 1 (Single), 3 (Multiple).setting_show_position (boolean) required: Whether to show the position of the results.setting_reuse_strategy (integer) required: The reuse strategy for grades. Possible values are 0 (No), 1 (Query/Doc), 2 (Query/Doc/Position).setting_auto_restart (boolean) required: Whether to auto-restart the evaluation.setting_scoring_guidelines (string) optional: The scoring guidelines for the evaluation. You can use Markdown syntax in this field. For more information, see the Markdown Guide transformers (object) required: The transformers for the evaluation.
scale_type (string) required: The source scale type of the transformers. Possible values are binary, graded, detail. Must match the scale_type of the evaluation.rules (object) required: The rules for the transformers. Must contain rules for each required scale type. If transformers are not required, set to an empty object.curl -X POST "https://searchtweak.com/api/v1/evaluations" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"model_id": 1,
"name": "Sample Evaluation",
"description": "This is a sample evaluation.",
"keywords": [
"apple",
"dyson"
],
"scale_type": "detail",
"metrics": [
{ "scorer_type": "precision", "num_results": 10 },
{ "scorer_type": "ndcg", "num_results": 10 },
{ "scorer_type": "ndcg_d", "num_results": 5 }
],
"transformers": {
"scale_type": "detail",
"rules": {
"binary": {
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 1,
"7": 1,
"8": 1,
"9": 1,
"10": 1
},
"graded": {
"1": 0,
"2": 1,
"3": 1,
"4": 1,
"5": 2,
"6": 2,
"7": 2,
"8": 3,
"9": 3,
"10": 3
}
}
},
"tags": [
{ "id": 9 }
],
"setting_feedback_strategy": 1,
"setting_reuse_strategy": 0,
"setting_show_position": true,
"setting_auto_restart": false,
"setting_scoring_guidelines": "Scoring guidelines for the evaluation. You can use **Markdown** syntax in this field."
}'
{
"id": 307,
"model_id": 1,
"scale_type": "detail",
"status": "pending",
"progress": 0,
"name": "Sample Evaluation",
"description": "This is a sample evaluation.",
"settings": {
"reuse": 0,
"position": true,
"strategy": 1,
"auto_restart": false,
"transformers": {
"rules": {
"binary": {
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 1,
"7": 1,
"8": 1,
"9": 1,
"10": 1
},
"graded": {
"1": 0,
"2": 1,
"3": 1,
"4": 1,
"5": 2,
"6": 2,
"7": 2,
"8": 3,
"9": 3,
"10": 3
}
},
"scale_type": "detail"
},
"setting_scoring_guidelines": "Scoring guidelines for the evaluation. You can use **Markdown** syntax in this field."
},
"metrics": [
{
"scorer_type": "precision",
"num_results": 10,
"value": null
},
{
"scorer_type": "ndcg",
"num_results": 10,
"value": null
},
{
"scorer_type": "ndcg_d",
"num_results": 5,
"value": null
}
],
"tags": [
{
"id": 9,
"name": "All"
}
],
"keywords": [
"apple",
"dyson"
],
"created_at": "2024-11-03T08:05:39+00:00",
"finished_at": null
}