feat(ml): composable ml (#9973)

* modularize model classes

* various fixes

* expose port

* change response

* round coordinates

* simplify preload

* update server

* simplify interface

simplify

* update tests

* composable endpoint

* cleanup

fixes

remove unnecessary interface

support text input, cleanup

* ew camelcase

* update server

server fixes

fix typing

* ml fixes

update locustfile

fixes

* cleaner response

* better repo response

* update tests

formatting and typing

rename

* undo compose change

* linting

fix type

actually fix typing

* stricter typing

fix detection-only response

no need for defaultdict

* update spec file

update api

linting

* update e2e

* unnecessary dimension

* remove commented code

* remove duplicate code

* remove unused imports

* add batch dim
This commit is contained in:
Mert
2024-06-06 23:09:47 -04:00
committed by GitHub
parent 7a46f80ddc
commit 2b1b43a7e4
39 changed files with 982 additions and 999 deletions

View File

@@ -7878,14 +7878,8 @@
"enabled": {
"type": "boolean"
},
"mode": {
"$ref": "#/components/schemas/CLIPMode"
},
"modelName": {
"type": "string"
},
"modelType": {
"$ref": "#/components/schemas/ModelType"
}
},
"required": [
@@ -7894,13 +7888,6 @@
],
"type": "object"
},
"CLIPMode": {
"enum": [
"vision",
"text"
],
"type": "string"
},
"CQMode": {
"enum": [
"auto",
@@ -8323,6 +8310,40 @@
],
"type": "object"
},
"FacialRecognitionConfig": {
"properties": {
"enabled": {
"type": "boolean"
},
"maxDistance": {
"format": "float",
"maximum": 2,
"minimum": 0,
"type": "number"
},
"minFaces": {
"minimum": 1,
"type": "integer"
},
"minScore": {
"format": "float",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"modelName": {
"type": "string"
}
},
"required": [
"enabled",
"maxDistance",
"minFaces",
"minScore",
"modelName"
],
"type": "object"
},
"FileChecksumDto": {
"properties": {
"filenames": {
@@ -9039,13 +9060,6 @@
},
"type": "object"
},
"ModelType": {
"enum": [
"facial-recognition",
"clip"
],
"type": "string"
},
"OAuthAuthorizeResponseDto": {
"properties": {
"url": {
@@ -9379,43 +9393,6 @@
],
"type": "string"
},
"RecognitionConfig": {
"properties": {
"enabled": {
"type": "boolean"
},
"maxDistance": {
"format": "float",
"maximum": 2,
"minimum": 0,
"type": "number"
},
"minFaces": {
"minimum": 1,
"type": "integer"
},
"minScore": {
"format": "float",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"modelName": {
"type": "string"
},
"modelType": {
"$ref": "#/components/schemas/ModelType"
}
},
"required": [
"enabled",
"maxDistance",
"minFaces",
"minScore",
"modelName"
],
"type": "object"
},
"ReverseGeocodingStateResponseDto": {
"properties": {
"lastImportFileName": {
@@ -10521,7 +10498,7 @@
"type": "boolean"
},
"facialRecognition": {
"$ref": "#/components/schemas/RecognitionConfig"
"$ref": "#/components/schemas/FacialRecognitionConfig"
},
"url": {
"type": "string"

View File

@@ -962,27 +962,24 @@ export type SystemConfigLoggingDto = {
};
export type ClipConfig = {
enabled: boolean;
mode?: CLIPMode;
modelName: string;
modelType?: ModelType;
};
export type DuplicateDetectionConfig = {
enabled: boolean;
maxDistance: number;
};
export type RecognitionConfig = {
export type FacialRecognitionConfig = {
enabled: boolean;
maxDistance: number;
minFaces: number;
minScore: number;
modelName: string;
modelType?: ModelType;
};
export type SystemConfigMachineLearningDto = {
clip: ClipConfig;
duplicateDetection: DuplicateDetectionConfig;
enabled: boolean;
facialRecognition: RecognitionConfig;
facialRecognition: FacialRecognitionConfig;
url: string;
};
export type SystemConfigMapDto = {
@@ -3074,14 +3071,6 @@ export enum LogLevel {
Error = "error",
Fatal = "fatal"
}
export enum CLIPMode {
Vision = "vision",
Text = "text"
}
export enum ModelType {
FacialRecognition = "facial-recognition",
Clip = "clip"
}
export enum TimeBucketSize {
Day = "DAY",
Month = "MONTH"