Skip to content

v0.5.4

Choose a tag to compare

@rstrahan rstrahan released this 27 Mar 22:07
· 372 commits to main since this release

[0.5.4]

Added

  • MLflow Experiment Tracking Integration — Optional integration with Amazon SageMaker MLflow for automated test run logging. When enabled (EnableMLflow=true), every Test Studio run automatically logs metrics (accuracy, cost, field-level scores), configuration parameters (model IDs, temperatures, inference settings), and artifacts (full config snapshots, class definitions, cost breakdowns) to an MLflow tracking server. Fire-and-forget async invocation — never blocks or delays test results. Zero resources created when disabled. See docs/mlflow-integration.md.

  • BDA Blueprint Optimization — Automatically improves BDA extraction accuracy using the InvokeBlueprintOptimizationAsync API. When discovery includes a ground truth file and enable_blueprint_optimization: true is set, the system optimizes the BDA blueprint by comparing extraction results against ground truth, evaluates before/after metrics, and updates the blueprint schema if improved. Disabled by default. See docs/discovery.md — Blueprint Optimization section.

  • idp_common API Reference & Documentation — Added docs/idpcommon-api-reference.md covering all 22 modules, created 6 missing module READMEs (discovery, schema, image, s3, utils, metrics), updated core data model docs to match current code, fixed IDPConfig lazy-loading bug in __init__.py, and integrated into docs-site sidebar.

  • Consolidated publish and headless deploy into idp-cli — All build/publish/deploy functionality now available through the CLI, deprecating standalone scripts:

    • publish.py and publish.sh are deprecated — use idp-cli publish instead. publish.py remains as a thin backward-compatibility wrapper. publish.sh has been removed.
    • scripts/generate_govcloud_template.py is deprecated — use idp-cli publish --headless or idp-cli deploy --headless instead. The script remains as a thin wrapper.
    • New --template-file option on idp-cli deploy for deploying from a local CloudFormation template file produced by a previous idp-cli publish.
    • idp-cli deploy --headless (without --from-code) now downloads the published template, transforms to headless with GovCloud config defaults, uploads to S3, and deploys — all in one command.

Fixed

  • HITL review start overwrites document sections — Fixed the Start Review action to update only the Review Status and Review Owner fields, preserving all existing document sections and other fields.

  • Evaluation schema error for free-form objects — Stickler mapper now detects and skips unevaluable object schemas (e.g., objects with additionalProperties but no defined properties, and arrays of such objects) instead of raising validation errors.

  • Full document reprocess not re-running OCR — Fixed bug where clicking "Reprocess" in the UI reused stale OCR results from the previous run instead of re-executing OCR with the current configuration. The reprocess resolver now deletes previous output data from S3 before queuing, preventing the OCR function's retry-safe recovery from reinstalling old results.

  • Agentic extraction timeout on long documents — Fixed repeated Lambda timeouts when agentic extraction exceeds the 15-minute limit on large documents (e.g., 25-page brokerage statements with 600+ holdings). Added incremental S3 checkpointing that saves extraction state after each tool call — covers both the extraction tools path (extraction_tool, apply_json_patches, make_buffer_data_final_extraction) and the buffer tools path (patch_buffer_data) that the agent uses for very large batched extractions. The checkpoint format tracks which state was saved (current_extraction vs intermediate_extraction buffer) so the correct resume path is used. On Step Function retry, the Lambda loads the checkpoint and the agent resumes from where it left off rather than restarting from scratch. No CloudFormation or Step Function changes required — the existing Sandbox.Timedout retry mechanism now makes incremental progress. Only active when agentic extraction is enabled; standard extraction is unaffected.

  • Agentic extraction fails on Bedrock InternalServerException without retrying — Fixed InternalServerException errors (transient Bedrock server-side errors) causing immediate Lambda failure after only botocore's fast 7 retries, bypassing the application-level retry decorator (50 retries with 5s→1800s exponential backoff). Root cause: InternalServerException and InternalServerError were missing from all three retry layers — the async_exponential_backoff_retry decorator's DEFAULT_RETRYABLE_ERRORS set (bedrock_utils.py), the BedrockClient._invoke_with_retry() retryable errors list (bedrock/client.py), and the Step Functions ExtractionStep Retry ErrorEquals list (workflow.asl.json). All three layers now include these transient errors, providing proper exponential backoff retry at the application level and Lambda-level retry via Step Functions as a safety net.

Templates

  • us-west-2: https://s3.us-west-2.amazonaws.com/aws-ml-blog-us-west-2/artifacts/genai-idp/idp-main_0.5.4.yaml
  • us-east-1: https://s3.us-east-1.amazonaws.com/aws-ml-blog-us-east-1/artifacts/genai-idp/idp-main_0.5.4.yaml
  • eu-central-1: https://s3.eu-central-1.amazonaws.com/aws-ml-blog-eu-central-1/artifacts/genai-idp/idp-main_0.5.4.yaml