Skip to content

Adds support for mlflow experiment search

Eduardo Bonet requested to merge model-experiments/experiment-search into master

What does this MR do and why?

Adds support for mlflow experiment search

Adds limited compatibility to mlflow experiment API, enabling users to use the MLflow client search_experiments method. The endpoint does not implement filters as defined in the docs, only pagination and ordering.

Changelog: added

How to set up and validate locally

  1. Create a few experiments

    p = Project.find_by(id: 1)
    Ml::Experiment.create(project: p, name: "Experiment 1")
    Ml::Experiment.create(project: p, name: "Experiment 2")
  2. With a PAT with API scope, create a request:

    curl -X POST -H "Authorization: Bearer $GPAT" "http://localhost:3000/api/v4/projects/$PROJECT_ID/ml/mlflow/api/2.0/mlflow/experiments/search"

Queries

SELECT
    "ml_experiments".*
FROM
    "ml_experiments"
WHERE
    "ml_experiments"."project_id" = 19
ORDER BY
    "ml_experiments"."id" DESC

https://postgres.ai/console/gitlab/gitlab-production-tunnel-pg12/sessions/25163/commands/79911

This should return the list of experiments

Merge request reports