Create Evaluation
Create an evaluation task. This evaluates the ranking performance of a Marqtuned or base model. It requires an evaluation dataset ID and a pretrained model.
POST /evaluation
Body Parameters
Name | Type | Default value | Description |
---|---|---|---|
datasetId |
UUID | "" |
Required - ID of the evaluation dataset already created. |
model |
String | "" |
Required - Name of the model or {model_id}/{checkpoint_id} to evaluate. Model name must be from the list of supported models. {model_id}/{checkpoint_id} can be from any Marqtuned model in your account. |
hyperparameters |
Dictionary | "" |
Required - Evaluation task parameters - see the Evaluation parameters guide for details. |
waitForCompletion |
Boolean | True |
Optional[py-marqtune client only] - Instructs the client to continuously wait and poll until the operation is completed. |
Example
from marqtune.client import Client
from marqtune.enums import ModelType, DatasetType, InstanceType
url = "https://marqtune.marqo.ai"
api_key = "{api_key}"
marqtune_client = Client(url=url, api_key=api_key)
marqtune_client.evaluate(
model="model_id/epoch_4",
dataset_id="dataset_id",
hyperparameters={"leftKeys": ["query"], "rightKeys": ["my_image", "my_text"], "leftWeights": [1], "rightWeights": [0.9, 0.1] },
wait_for_completion=True
)
# Evaluate a model.
curl -X POST 'https://marqtune.marqo.ai/evaluation' \
-H "Content-Type: application/json" \
-H 'x-api-key: {api_key}' \
-d '{
"datasetId": "dataset_id",
"model": "model_id/epoch_4",
"hyperparameters": {"leftKeys": ["query"], "rightKeys": ["my_image", "my_text"], "leftWeights": [1], "rightWeights": [0.9, 0.1] },
}'
Response: 202 Accepted
Evaluation task has been initalised and will now be executed.
{
"statusCode": 202,
"body": {
"evaluationId": "evaluation_id"
}
}
Response: 400 (Invalid dataset)
Invalid dataset
{
"statusCode": 400,
"body": {
"message": "Dataset must be of type 'evaluation'"
}
}
Response: 400 (Invalid base model)
Invalid model
{
"statusCode": 400,
"body": {
"message": "Model with id {model_id} not found"
}
}
Response: 400 (Dataset not created)
Dataset not created yet
{
"statusCode": 400,
"body": {
"message": "Dataset is not created yet, wait until status of dataset is ready"
}
}
Response: 400 (Failed dataset)
Failed dataset
{
"statusCode": 400,
"body": {
"message": "Job can not be started with failed dataset"
}
}
Response: 400 (Invalid checkpoint)
Invalid checkpoint
{
"statusCode": 400,
"body": {
"message": "Invalid checkpoint. Available checkpoints: {checkpoints}"
}
}
Response: 400 (Invalid Request)
Request path or method is invalid.
{
"statusCode": 400,
"body": {
"message": "Invalid request method"
}
}
Response: 401 (Unauthorised)
Unauthorised. Check your API key and try again.
{
"message": "Unauthorized."
}
Response: 500 (Internal server error)
Internal server error. Check your API key and try again.
{
"message": "Internal server error."
}