Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hot-Fix: Model activating enhancements #785

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 54 additions & 24 deletions DSL/Resql/training/get-llm-trainings.sql
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,32 @@ WITH deployed_model AS (
)
ORDER BY created DESC
LIMIT 1
),
latest_ready_activating_models AS (
SELECT
model_type,
state,
trained_date,
file_name,
version_number,
model_version,
test_report,
cross_validation_report,
created,
ROW_NUMBER() OVER (PARTITION BY version_number ORDER BY created DESC) AS rn
FROM llm_trainings
WHERE (state = 'READY' OR state = 'ACTIVATING')
AND NOT EXISTS (
SELECT 1
FROM llm_trainings AS lt
WHERE llm_trainings.version_number = lt.version_number
AND lt.state = 'DELETED'
)
AND version_number NOT IN (
SELECT version_number
FROM deployed_model
)
)
SELECT
model_type,
state,
trained_date,
file_name,
version_number,
model_version,
test_report,
cross_validation_report,
created
FROM llm_trainings
WHERE state = 'READY'
AND NOT EXISTS (
SELECT 1
FROM llm_trainings AS lt
WHERE llm_trainings.version_number = lt.version_number
AND lt.state = 'DELETED'
)
AND version_number NOT IN (
SELECT version_number
FROM deployed_model
)
UNION ALL
SELECT
model_type,
state,
Expand All @@ -53,4 +55,32 @@ SELECT
test_report,
cross_validation_report,
created
FROM deployed_model;
FROM (
SELECT
model_type,
state,
trained_date,
file_name,
version_number,
model_version,
test_report,
cross_validation_report,
created
FROM latest_ready_activating_models
WHERE rn = 1
UNION ALL
SELECT
model_type,
state,
trained_date,
file_name,
version_number,
model_version,
test_report,
cross_validation_report,
created
FROM deployed_model
) AS combined_results
ORDER BY
CAST(SPLIT_PART(version_number, '_', 1) AS INTEGER),
CAST(SPLIT_PART(version_number, '_', 2) AS INTEGER);
27 changes: 27 additions & 0 deletions DSL/Ruuter.private/POST/rasa/model/trained-model.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,33 @@ declaration:
- field: versionNumber
type: string
description: "Body field 'versionNumber'"
- field: name
type: string
description: "Trained model file name"

getModelByFilenameFromDb:
call: http.post
args:
url: "[#TRAINING_RESQL]/get-llm-model-by-filename"
body:
fileName: ${incoming.body.name}
result: dbResult

updateInDatabase:
call: http.post
args:
url: "[#TRAINING_RESQL]/add-llm-trainings"
body:
model_type: ${dbResult.response.body[0].modelType}
state: "ACTIVATING"
file_name: ${dbResult.response.body[0].fileName}
version_number: ${dbResult.response.body[0].versionNumber}
model_version: ${dbResult.response.body[0].modelVersion}
test_report: ${dbResult.response.body[0].testReport}
cross_validation_report: ${dbResult.response.body[0].crossValidationReport}
trained_date: ${dbResult.response.body[0].trainedDate}
training_data_checksum: ""
result: dbModelResult

loadTrainedModel:
call: http.post
Expand Down
9 changes: 8 additions & 1 deletion GUI/src/pages/ModelBankAndAnalytics/Models/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,13 @@ const Models: FC = () => {
setSelectedModel(deployedModel);
setCurrentlyLoadedModel(deployedModel);
setPreviouslyLoadedModel(deployedModel);

const activatingModel = models?.find((m) => m.state === 'ACTIVATING')
if (activatingModel) {
setSelectedModel(activatingModel);
setCurrentlyLoadedModel(activatingModel);
setIsFetching(true);
}
}, [models]);

useEffect(() => {
Expand Down Expand Up @@ -246,7 +253,7 @@ const Models: FC = () => {
appearance="primary"
onClick={() =>
activateModelMutation.mutate({
data: { versionNumber: selectedModel.versionNumber },
data: { versionNumber: selectedModel.versionNumber, name: selectedModel.name },
})
}
>
Expand Down
4 changes: 2 additions & 2 deletions GUI/src/types/model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ export interface Model {
versionNumber: string;
}

export type ModelStateType = 'DEPLOYED' | 'READY' | 'Failed' | 'DELETED';
export type ModelStateType = 'DEPLOYED' | 'ACTIVATING' | 'READY' | 'Failed' | 'DELETED';

export interface UpdateModelDTO extends Pick<Model, 'versionNumber'> {}
export interface UpdateModelDTO extends Pick<Model, 'versionNumber' | 'name'> {}