1515from trainable_entity_extractor .domain .DistributedSubJob import DistributedSubJob
1616from trainable_entity_extractor .domain .ExtractionIdentifier import ExtractionIdentifier
1717from trainable_entity_extractor .domain .TrainableEntityExtractorJob import TrainableEntityExtractorJob
18- from trainable_entity_extractor .domain .PredictionSample import PredictionSample
19- from trainable_entity_extractor .domain .Suggestion import Suggestion
2018from trainable_entity_extractor .domain .JobStatus import JobStatus
2119from trainable_entity_extractor .ports .JobExecutor import JobExecutor
2220from trainable_entity_extractor .ports .ExtractorBase import ExtractorBase
@@ -57,14 +55,12 @@ def start_performance_evaluation(
5755 distributed_sub_job .status = JobStatus .FAILURE
5856 return None
5957
60- # Quick validation - if no samples, fail fast
6158 if not extraction_data .samples or len (extraction_data .samples ) == 0 :
6259 distributed_sub_job .status = JobStatus .FAILURE
6360 return None
6461
6562 train_use_case = TrainUseCase (extractors = self .EXTRACTORS , logger = self .logger )
6663
67- # Try to get performance, but handle any issues gracefully
6864 try :
6965 performance = train_use_case .get_performance (distributed_sub_job .extractor_job , extraction_data )
7066 if performance :
@@ -75,7 +71,6 @@ def start_performance_evaluation(
7571 distributed_sub_job .status = JobStatus .FAILURE
7672 return None
7773 except Exception as perf_exception :
78- # Performance evaluation failed - this is acceptable for testing
7974 self .logger .log (
8075 extraction_identifier , f"Performance evaluation failed: { str (perf_exception )} " , severity = "warning"
8176 )
@@ -121,9 +116,6 @@ def start_training(
121116 distributed_sub_job .status = JobStatus .FAILURE
122117 return False , str (e )
123118
124- distributed_sub_job .status = JobStatus .FAILURE
125- return False , "Training failed"
126-
127119 def start_prediction (self , extraction_identifier : ExtractionIdentifier , distributed_sub_job : DistributedSubJob ) -> None :
128120 try :
129121 prediction_data = self .data_retriever .get_prediction_data (extraction_identifier )
@@ -145,29 +137,6 @@ def start_prediction(self, extraction_identifier: ExtractionIdentifier, distribu
145137 distributed_sub_job .status = JobStatus .FAILURE
146138 distributed_sub_job .result = False
147139
148- def execute_prediction_with_samples (
149- self , extractor_job : TrainableEntityExtractorJob , prediction_samples : List [PredictionSample ]
150- ) -> Tuple [bool , str , List [Suggestion ]]:
151- job_id = f"predict_samples_{ extractor_job .method_name } "
152- extractor_job .status = JobStatus .RUNNING
153-
154- try :
155- extractor_instance = self ._get_extractor_instance (extractor_job .extractor_name )
156- if not extractor_instance :
157- extractor_job .status = JobStatus .FAILURE
158- return False , f"Extractor { extractor_job .extractor_name } not found" , []
159-
160- suggestions = extractor_instance .get_suggestions (prediction_samples )
161- suggestions = [suggestion .mark_suggestion_if_empty () for suggestion in suggestions ]
162-
163- extractor_job .status = JobStatus .SUCCESS
164- self .prediction_results [job_id ] = suggestions
165- return True , "Prediction with samples completed successfully" , suggestions
166-
167- except Exception as e :
168- extractor_job .status = JobStatus .FAILURE
169- return False , str (e ), []
170-
171140 def update_job_statuses (self , job : DistributedJob ):
172141 pass
173142
0 commit comments