Mark Lapierre activity https://gitlab.com/mlapierre 2026-03-17T05:01:30Z tag:gitlab.com,2026-03-17:5210958743 Mark Lapierre commented on issue #834 at GitLab.org / ModelOps / AI Model Validation and Research / AI Evaluation / CEF 2026-03-17T05:01:30Z mlapierre Mark Lapierre

Regarding Runway, there's this limitation:

By default, each task runs for a maximum of 10 minutes (configurable via spec.timeout in seconds), however the max value for the timeout (i.e., maximum runtime allowed) is 24 hours (86400 seconds).

24 hours is probably enough. But something to keep in mind if we want to do any really big evals in a single execution.

tag:gitlab.com,2026-03-17:5210942622 Mark Lapierre commented on merge request !4839 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-17T04:53:09Z mlapierre Mark Lapierre

@thomas-schmidt Thanks! I gave Duo a shot at a couple of your suggestions. It implemented one but couldn't quite manage the other, but I've done it now. I also rebased to resolve a merge conflict.

Could you please take another look?

tag:gitlab.com,2026-03-17:5210840951 Mark Lapierre pushed to project branch ml-pyroscope-profiling-load-test-with-caching-proxy at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Co... 2026-03-17T03:56:48Z mlapierre Mark Lapierre

Mark Lapierre (bcafd6ef) at 17 Mar 03:56

refactor: move caching proxy URL logic to Config

... and 87 more commits

tag:gitlab.com,2026-03-17:5210836563 Mark Lapierre pushed to project branch ml-pyroscope-profiling-load-test-with-caching-proxy at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Co... 2026-03-17T03:53:29Z mlapierre Mark Lapierre

Mark Lapierre (d24b7ebe) at 17 Mar 03:53

refactor: move caching proxy URL logic to Config

tag:gitlab.com,2026-03-17:5210651769 Mark Lapierre pushed to project branch ml-pyroscope-profiling-load-test-with-caching-proxy at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Co... 2026-03-17T02:00:51Z mlapierre Mark Lapierre

Mark Lapierre (ab8289e3) at 17 Mar 02:00

refactor: move caching proxy URL logic to Config

tag:gitlab.com,2026-03-17:5210616624 Mark Lapierre pushed to project branch ml-pyroscope-profiling-load-test-with-caching-proxy at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Co... 2026-03-17T01:34:23Z mlapierre Mark Lapierre

Mark Lapierre (86ed44b6) at 17 Mar 01:34

refactor: move caching proxy URL logic to Config

tag:gitlab.com,2026-03-17:5210569007 Mark Lapierre commented on merge request !4839 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-17T01:02:25Z mlapierre Mark Lapierre

Duo couldn't quite manage the 1st change without a wrapper (which I asked it to remove) so rather than go back and forth slowly here, I finished it locally.

tag:gitlab.com,2026-03-17:5210566574 Mark Lapierre closed merge request !4905: refactor: Move config logic to methods and extract Pyroscope setup at GitLab.org / ModelOps / AI Assisted (formerl... 2026-03-17T01:00:32Z mlapierre Mark Lapierre

What does this merge request do and why?

This MR implements the refactoring suggestions from @thomas-schmidt on !4839:

  1. Move _get_anthropic_base_url logic to a method on ConfigDuoWorkflow class: This makes the configuration logic more reusable and keeps all settings in one place, following better object-oriented design principles.

  2. Extract Pyroscope setup logic to a _setup_pyroscope helper function: This improves code organization and readability by separating the Pyroscope setup logic into its own function.

Changes

  • Added get_anthropic_base_url() method to ConfigDuoWorkflow class in ai_gateway/config.py
  • Removed standalone _get_anthropic_base_url() function from ai_gateway/models/v2/container.py
  • Added wrapper function _get_anthropic_base_url_from_config() to call the method via dependency injection
  • Extracted Pyroscope setup logic to _setup_pyroscope() helper function in duo_workflow_service/profiling.py
  • Updated tests to reflect the new structure

How to set up and validate locally

The changes are refactoring only and should not change behavior. Run the existing tests:

poetry run pytest tests/test_config.py::test_duo_workflow_get_anthropic_base_url -v
poetry run pytest tests/models/v2/test_container.py::test_get_anthropic_base_url -v

Merge request checklist

  • Tests added for new functionality
  • Documentation not needed (refactoring only)
  • No executor implementation needed (refactoring only)
tag:gitlab.com,2026-03-17:5210565899 Mark Lapierre pushed to project branch ml-pyroscope-profiling-load-test-with-caching-proxy at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Co... 2026-03-17T01:00:04Z mlapierre Mark Lapierre

Mark Lapierre (df9b15b8) at 17 Mar 01:00

refactor: move caching proxy URL logic to Config

tag:gitlab.com,2026-03-17:5210507247 Mark Lapierre commented on merge request !4905 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-17T00:22:27Z mlapierre Mark Lapierre

@duo-developer-gitlab-org Could we call import get_anthropic_base_url and call it directly here so we don't need the _get_anthropic_base_url_from_config wrapper?

Could you then also address the test failures in https://gitlab.com/gitlab-org/modelops/applied-ml/code-suggestions/ai-assist/-/jobs/13518467301

tag:gitlab.com,2026-03-16:5210372487 Mark Lapierre opened merge request !4905: refactor: Move config logic to methods and extract Pyroscope setup at GitLab.org / ModelOps / AI Assisted (formerl... 2026-03-16T23:19:11Z mlapierre Mark Lapierre

What does this merge request do and why?

This MR implements the refactoring suggestions from @thomas-schmidt on !4839:

  1. Move _get_anthropic_base_url logic to a method on ConfigDuoWorkflow class: This makes the configuration logic more reusable and keeps all settings in one place, following better object-oriented design principles.

  2. Extract Pyroscope setup logic to a _setup_pyroscope helper function: This improves code organization and readability by separating the Pyroscope setup logic into its own function.

Changes

  • Added get_anthropic_base_url() method to ConfigDuoWorkflow class in ai_gateway/config.py
  • Removed standalone _get_anthropic_base_url() function from ai_gateway/models/v2/container.py
  • Added wrapper function _get_anthropic_base_url_from_config() to call the method via dependency injection
  • Extracted Pyroscope setup logic to _setup_pyroscope() helper function in duo_workflow_service/profiling.py
  • Updated tests to reflect the new structure

How to set up and validate locally

The changes are refactoring only and should not change behavior. Run the existing tests:

poetry run pytest tests/test_config.py::test_duo_workflow_get_anthropic_base_url -v
poetry run pytest tests/models/v2/test_container.py::test_get_anthropic_base_url -v

Merge request checklist

  • Tests added for new functionality
  • Documentation not needed (refactoring only)
  • No executor implementation needed (refactoring only)
tag:gitlab.com,2026-03-16:5210358683 Mark Lapierre commented on merge request !4839 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-16T23:12:11Z mlapierre Mark Lapierre

@thomas-schmidt Yup, makes sense!

@duo-developer-gitlab-org Could you implement Thomas' suggestion?

tag:gitlab.com,2026-03-16:5210358677 Mark Lapierre commented on merge request !4839 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-16T23:12:11Z mlapierre Mark Lapierre

@duo-developer-gitlab-org Could you implement this one too?

tag:gitlab.com,2026-03-16:5210358669 Mark Lapierre commented on merge request !4839 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-16T23:12:11Z mlapierre Mark Lapierre

@thomas-schmidt Only historical precedent. But I see you're fixing that in !4882. Once that's merged, I could submit a follow-up MR to make these env vars use the config objects. WDYT?

tag:gitlab.com,2026-03-16:5210345420 Mark Lapierre commented on merge request !4891 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-16T23:04:52Z mlapierre Mark Lapierre

@igor.drozdov I just opened an issue about taking down dws-loadtest 😂 #2040

It might be less work to take it down from here (probably in the next day or two, once I get confirmation to go ahead)

But if you want to move it in the meantime, that's fine.

tag:gitlab.com,2026-03-16:5210270246 Mark Lapierre commented on issue #2040 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-16T22:25:19Z mlapierre Mark Lapierre

@wortschi WDYT? There's non-trivial effort involved in tearing down dws-loadtest, and in setting it up again if needed. But there's also some effort involved in maintaining it even while it's not in use.

tag:gitlab.com,2026-03-16:5210267557 Mark Lapierre opened issue #2040: Retire `dws-loadtest` Runway deployment at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / ... 2026-03-16T22:23:41Z mlapierre Mark Lapierre