Skip to content

Commit e2e0b35

Browse files
committed
Merge branch 'fix/assessment-error-handling-3' into 'develop'
Fix/assessment error handling 3 See merge request genaiic-reusable-assets/engagement-artifacts/genaiic-idp-accelerator!301
2 parents 875cfdd + 7efe90b commit e2e0b35

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

patterns/pattern-2/src/assessment_function/assessment_validator.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,11 @@ def check_explainability_count(self):
106106
def check_explainability_exists(self):
107107
"""Check if explainability_info has at least one element when expected attributes exist"""
108108
expected_attributes = set(self.inference_result.keys())
109-
110-
if expected_attributes and (not self.explainability_info or not self.explainability_info[0]):
109+
assessment_enabled = self.assessment_config.get('assessment.enabled', False)
110+
logger.info(f"Assessment Enabled: {assessment_enabled}")
111+
if (assessment_enabled and
112+
expected_attributes and
113+
(not self.explainability_info or not self.explainability_info[0])):
111114
return {
112115
'is_valid': False,
113116
'failed_attributes': list(expected_attributes),

patterns/pattern-2/src/assessment_function/index.py

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,24 +70,26 @@ def handler(event, context):
7070
logger.info(f"Total extraction time: {t1-t0:.2f} seconds")
7171

7272
# Assessment validation
73-
logger.info("--- Start: Assessment Validation ---")
74-
for section in updated_document.sections:
75-
if section.section_id == section_id and section.extraction_result_uri:
76-
logger.info(f"Loading assessment results from: {section.extraction_result_uri}")
77-
# Load extraction data with assessment results
78-
extraction_data = s3.get_json_content(section.extraction_result_uri)
79-
validator = AssessmentValidator(extraction_data,
80-
assessment_config=config.get('assessment', {}),
81-
enable_missing_check=False,
82-
enable_count_check=False)
83-
validation_results = validator.validate_all()
84-
if not validation_results['is_valid']:
85-
# Handle validation failure
86-
updated_document.status = Status.FAILED
87-
validation_errors = validation_results['validation_errors']
88-
updated_document.errors.extend(validation_errors)
89-
logger.error(f"Validation Error: {validation_errors}")
90-
logger.info("--- End: Assessment Validation ---")
73+
assessment_enabled = config.get('assessment.enabled', False)
74+
if not assessment_enabled:
75+
logger.info("Assessment is disabled.")
76+
else:
77+
for section in updated_document.sections:
78+
if section.section_id == section_id and section.extraction_result_uri:
79+
logger.info(f"Loading assessment results from: {section.extraction_result_uri}")
80+
# Load extraction data with assessment results
81+
extraction_data = s3.get_json_content(section.extraction_result_uri)
82+
validator = AssessmentValidator(extraction_data,
83+
assessment_config=config.get('assessment', {}),
84+
enable_missing_check=False,
85+
enable_count_check=False)
86+
validation_results = validator.validate_all()
87+
if not validation_results['is_valid']:
88+
# Handle validation failure
89+
updated_document.status = Status.FAILED
90+
validation_errors = validation_results['validation_errors']
91+
updated_document.errors.extend(validation_errors)
92+
logger.error(f"Validation Error: {validation_errors}")
9193

9294
# Prepare output with automatic compression if needed
9395
result = {

0 commit comments

Comments
 (0)