Skip to content

Commit cf9bab5

Browse files
authored
Merge branch 'main' into jort/Geti-1222-remove_configurable_ff
2 parents 32fa62a + 9fb5119 commit cf9bab5

45 files changed

Lines changed: 466 additions & 282 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

deploy/charts/control-plane/chart/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ global:
4545
allow_credentials: true
4646

4747
enabled:
48-
account-service: false
48+
account-service: true
4949
onboarding-service: false
5050
notifier: false
5151
credit-system: false

dev_tools/builder_images/python-builder/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1.7
22

3-
FROM python:3.10-slim-bookworm@sha256:66a6e8a211a02794515d4e1aa1970fc037ec4dde1429395e1321bdd63af01256
3+
FROM python:3.10-slim-bookworm@sha256:f72a1f1edc9431c288fe27af1e68c433f64ff9e595cd726be72502cdb3f93927
44

55
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy UV_PYTHON_DOWNLOADS=0
66

interactive_ai/migration_job/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.10-slim-bookworm@sha256:66a6e8a211a02794515d4e1aa1970fc037ec4dde1429395e1321bdd63af01256 AS base
1+
FROM python:3.10-slim-bookworm@sha256:f72a1f1edc9431c288fe27af1e68c433f64ff9e595cd726be72502cdb3f93927 AS base
22

33
FROM base AS build
44

@@ -27,7 +27,7 @@ FROM base AS runtime
2727

2828
# Install ffmpeg and curl
2929
RUN apt-get update && \
30-
apt-get install -y --no-install-recommends ffmpeg=7:5.1.6-0+deb12u1 curl && \
30+
apt-get install -y --no-install-recommends ffmpeg=7:5.1.*-0+deb12u1 curl && \
3131
rm -rf /var/lib/apt/lists/* && \
3232
useradd -l -u 10001 non-root && \
3333
pip3 uninstall -y setuptools pip wheel && \

interactive_ai/services/auto_train/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM python:3.10-slim-bookworm@sha256:66a6e8a211a02794515d4e1aa1970fc037ec4dde1429395e1321bdd63af01256 AS base
1+
FROM python:3.10-slim-bookworm@sha256:f72a1f1edc9431c288fe27af1e68c433f64ff9e595cd726be72502cdb3f93927 AS base
22

33
FROM base AS build
44

55
# Install Git and clone the OTX at the specified tag
6-
ARG OTX_RELEASE_TAG=develop
6+
ARG OTX_RELEASE_TAG=release/2.6
77

88
RUN apt-get update && \
99
apt-get install -y --no-install-recommends \

interactive_ai/services/dataset_ie/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.10-slim-bookworm@sha256:66a6e8a211a02794515d4e1aa1970fc037ec4dde1429395e1321bdd63af01256 AS base
1+
FROM python:3.10-slim-bookworm@sha256:f72a1f1edc9431c288fe27af1e68c433f64ff9e595cd726be72502cdb3f93927 AS base
22

33
FROM base AS build
44

interactive_ai/services/director/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM python:3.10-slim-bookworm@sha256:66a6e8a211a02794515d4e1aa1970fc037ec4dde1429395e1321bdd63af01256 AS base
1+
FROM python:3.10-slim-bookworm@sha256:f72a1f1edc9431c288fe27af1e68c433f64ff9e595cd726be72502cdb3f93927 AS base
22

33
FROM base AS build
44

55
# Install Git and clone the OTX at the specified tag
6-
ARG OTX_RELEASE_TAG=develop
6+
ARG OTX_RELEASE_TAG=release/2.6
77

88
RUN apt-get update && \
99
apt-get install -y --no-install-recommends \

interactive_ai/services/director/app/usecases/auto_train/auto_train_use_case.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@ def _check_conditions_and_set_auto_train_readiness(
179179
project = ProjectRepo().get_by_id(project_identifier.project_id)
180180
trainable_tasks_ids = [tn.id_ for tn in project.get_trainable_task_nodes()]
181181
auto_train_activation_repo = ProjectBasedAutoTrainActivationRepo(project_identifier=project_identifier)
182-
183182
auto_train_ready_tasks_ids = [
184183
tn.id_ for tn in AutoTrainUseCase.__get_auto_train_ready_tasks(project=project)
185184
]
@@ -216,10 +215,12 @@ def __is_auto_train_enabled_for_task(project_identifier: ProjectIdentifier, task
216215
:param task_node: The task node to check
217216
:returns: True if auto-training is enabled for the task node, False otherwise.
218217
"""
219-
# use revamped project configuration
220218
repo = ProjectConfigurationRepo(project_identifier)
221219
project_config = repo.get_project_configuration()
222-
return project_config.get_task_config(task_id=str(task_node.id_)).auto_training.enable
220+
return (
221+
not task_node.task_properties.is_anomaly
222+
and project_config.get_task_config(task_id=str(task_node.id_)).auto_training.enable
223+
)
223224

224225
@classmethod
225226
def __get_auto_train_ready_tasks(
@@ -247,7 +248,6 @@ def __get_auto_train_ready_tasks(
247248
task_node=task_node,
248249
)
249250
required_annotations_met = missing_annotations.total_missing_annotations_auto_training <= 0
250-
251251
auto_train_enabled = cls.__is_auto_train_enabled_for_task(
252252
project_identifier=project.identifier, task_node=task_node
253253
)

interactive_ai/services/director/tests/unit/usecases/auto_train/test_auto_train_use_case.py

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,29 +51,39 @@ def test_check_conditions_and_set_auto_train_readiness_debounce(self, fxt_projec
5151
[True, False],
5252
ids=["enough annotations", "not enough annotations"],
5353
)
54+
@pytest.mark.parametrize(
55+
"project_fixture,auto_train_enabled",
56+
[
57+
("fxt_project", True),
58+
("fxt_project_with_anomaly_task", False),
59+
],
60+
ids=["Standard Project", "Anomaly Project"],
61+
)
5462
def test_check_conditions_and_set_auto_train_readiness(
5563
self,
5664
request,
5765
enough_annotations,
5866
fxt_organization_id,
59-
fxt_project,
6067
fxt_missing_annotations,
6168
fxt_missing_annotations_zero_missing,
69+
project_fixture,
70+
auto_train_enabled,
6271
) -> None:
6372
"""Checks that an auto-training request is submitted if and only if the conditions are met"""
64-
dataset_storage = fxt_project.get_training_dataset_storage()
65-
task_node = fxt_project.get_trainable_task_nodes()[0]
73+
project = request.getfixturevalue(project_fixture)
74+
dataset_storage = project.get_training_dataset_storage()
75+
task_node = project.get_trainable_task_nodes()[0]
6676

6777
request.addfinalizer(lambda: ProjectBasedAutoTrainActivationRepo(fxt_project.identifier).delete_all())
6878
ProjectConfigurationRepo(fxt_project.identifier).create_default_configuration([task_node.id_])
6979

7080
session = make_session(
7181
organization_id=fxt_organization_id,
72-
workspace_id=fxt_project.identifier.workspace_id,
82+
workspace_id=project.identifier.workspace_id,
7383
)
7484
with (
7585
session_context(session),
76-
patch.object(ProjectRepo, "get_by_id", return_value=fxt_project) as mock_get_project,
86+
patch.object(ProjectRepo, "get_by_id", return_value=project) as mock_get_project,
7787
patch.object(
7888
ProjectBasedAutoTrainActivationRepo,
7989
"set_auto_train_readiness_by_task_id",
@@ -86,15 +96,22 @@ def test_check_conditions_and_set_auto_train_readiness(
8696
) as mock_get_missing_annotations,
8797
):
8898
AutoTrainUseCase._check_conditions_and_set_auto_train_readiness(
89-
session=session, project_identifier=fxt_project.identifier
99+
session=session, project_identifier=project.identifier
90100
)
91101

92-
mock_get_project.assert_called_once_with(fxt_project.id_)
102+
mock_get_project.assert_called_once_with(project.id_)
93103
mock_get_missing_annotations.assert_called_once_with(
94104
dataset_storage_identifier=dataset_storage.identifier,
95105
task_node=task_node,
96106
)
97-
if enough_annotations:
107+
if not auto_train_enabled:
108+
mock_set_readiness.assert_called_once_with(
109+
task_node_id=task_node.id_,
110+
readiness=False,
111+
bypass_debouncer=True,
112+
raise_exc_on_missing=False,
113+
)
114+
elif enough_annotations:
98115
mock_set_readiness.assert_called_once_with(
99116
task_node_id=task_node.id_,
100117
readiness=True,

interactive_ai/services/inference_gateway/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ RUN --mount=type=cache,target=/go/pkg/mod/ \
3232
go-licenses save . --save_path /THIRD_PARTY_NOTICES || true
3333

3434
# Production image
35-
FROM debian:bookworm-slim@sha256:b1a741487078b369e78119849663d7f1a5341ef2768798f7b7406c4240f86aef AS runtime
35+
FROM debian:bookworm-slim@sha256:df52e55e3361a81ac1bead266f3373ee55d29aa50cf0975d440c2be3483d8ed3 AS runtime
3636

3737
# Install ffmpeg
3838
RUN apt-get update && \
39-
apt-get install -y --no-install-recommends ffmpeg=7:5.1.6-0+deb12u1 && \
39+
apt-get install -y --no-install-recommends ffmpeg=7:5.1.*-0+deb12u1 && \
4040
rm -rf /var/lib/apt/lists/*
4141

4242
COPY --link --from=build /build/interactive_ai/service/inference_gateway .

interactive_ai/services/jobs/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.10-slim-bookworm@sha256:66a6e8a211a02794515d4e1aa1970fc037ec4dde1429395e1321bdd63af01256 AS base
1+
FROM python:3.10-slim-bookworm@sha256:f72a1f1edc9431c288fe27af1e68c433f64ff9e595cd726be72502cdb3f93927 AS base
22

33
FROM base AS build
44

0 commit comments

Comments
 (0)