You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+44Lines changed: 44 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,50 @@ SPDX-License-Identifier: MIT-0
5
5
6
6
## [Unreleased]
7
7
8
+
## [0.5.1]
9
+
10
+
### Added
11
+
12
+
-**Scalable Document List and Test Executions** — Comprehensive redesign to eliminate UI and backend bottlenecks when working with thousands of documents. ([#203](https://github.com/aws-solutions-library-samples/accelerated-intelligent-document-processing-on-aws/issues/203))
13
+
-**TypeDateIndex GSI on TrackingTable**: New DynamoDB Global Secondary Index (`ItemType` + `InitialEventTime`) enables efficient queries by item type (document, testrun, testset) sorted by time, replacing full table scans. Includes 20 projected attributes for list-view rendering without base table fetches.
14
+
-**GSI Attribute Backfill Mechanism**: Robust Step Functions state machine with parallel scan workers that automatically backfills `ItemType` and `HITLPendingReview` attributes on existing items during stack upgrades. Features timeout-safe continuation, idempotent conditional updates, and automatic trigger via CloudFormation Custom Resource.
15
+
-**GSI-Based Document List Resolver**: New `listDocuments` Lambda resolver queries the TypeDateIndex GSI with server-side pagination (`limit`/`nextToken`).
16
+
-**`getDocumentCount` API**: New efficient count query using GSI `Select: 'COUNT'` for accurate document totals without fetching data.
17
+
-**UI Document List Rewrite**: Eliminated the N+1 query pattern (shard queries → individual `getDocument` per document). Now uses a single paginated `listDocuments` GSI query for all time periods. First page renders immediately with incremental background loading of remaining pages.
18
+
-**Subscription Optimization**: `onUpdateDocument` events now use subscription data directly instead of triggering individual `getDocument` API calls, eliminating thousands of redundant requests during active processing.
19
+
-**GSI-Based Test Runs Query**: Replaced full table scan in `get_test_runs()` and `get_test_runs_by_date_range()` with GSI query + BatchGetItem pattern for efficient test run listing with all fields (including Context, ConfigVersion).
20
+
-**GSI-Based Test Sets Query**: Replaced full table scan in `get_test_sets()` with GSI query + BatchGetItem pattern, avoiding scanning the entire TrackingTable (which includes all documents) just to find ~10 test sets.
21
+
-**`ItemType` Written on All Creation Paths**: All document, test run, and test set creation paths (DynamoDB service, AppSync resolvers, test runners, dataset deployers) now write `ItemType` and `InitialEventTime` for immediate GSI indexing.
22
+
-**Improved Error Messages**: Document list errors now show the actual failure reason (e.g., Lambda throttling, timeout details) instead of generic "please try again" messages.
23
+
24
+
-**GraphQL Type Generation & Unit Testing** — Replaced 60+ hand-written GraphQL query/mutation/subscription files with auto-generated types via `@graphql-codegen`, added typed AWSJSON parsers with unit tests (vitest + jsdom), and integrated a CI codegen-check to prevent type drift.
25
+
26
+
-**Third-Party Model Support** — Added Meta Llama 4 Maverick 17B, Llama 4 Scout 17B, Google Gemma 3 27B IT, and NVIDIA Nemotron Nano 12B v2 VL as selectable models across all pipeline stages (OCR, Classification, Extraction, Assessment, Summarization, Evaluation, Discovery, Agents, Rule Validation). Includes per-token pricing configuration and EU region fallback mappings for Llama 4 models. ([#217](https://github.com/aws-solutions-library-samples/accelerated-intelligent-document-processing-on-aws/issues/217))
27
+
28
+
-**Load Test Config Version Support** — Added `--config-version` parameter to the `idp-cli load-test` command, enabling load tests to target a specific configuration version. Files uploaded during load tests now include `config-version` S3 metadata, consistent with the `process` command behavior.
29
+
30
+
-**Deploy Failure Root Cause Analysis** — Enhanced `idp-cli deploy` failure reporting to recursively analyze nested stack events and identify actual root causes. Previously, failures in nested stacks showed only a generic "Embedded stack was not successfully created" message. Now displays a structured "Root Cause Analysis" section with the specific resource, type, and error message from the nested stack that caused the failure, along with cascade failure counts.
31
+
32
+
-**MCP Server** — Added additional tool to MCP Server for retrieving results of the processed document from the IDP system.
33
+
34
+
35
+
### Changed
36
+
37
+
-**OCR Benchmark Config Optimization** — Optimized `config_library/unified/ocr-benchmark` configuration with targeted field descriptions, explicit model/prompt/OCR settings, and corrected date format (YYYY-MM-DD to match ground truth). Improved overall extraction accuracy from 51.5% to 75.2% on the full 293-document benchmark at equivalent cost (~$2.62). Classification remains 100% across all 9 document classes. ([#220](https://github.com/aws-solutions-library-samples/accelerated-intelligent-document-processing-on-aws/pull/220))
38
+
39
+
-**GraphQL Type Generation & Unit Testing** — Replaced 60+ hand-written GraphQL query/mutation/subscription files with auto-generated types via `@graphql-codegen`, added typed AWSJSON parsers with unit tests (vitest + jsdom), and integrated a CI codegen-check to prevent type drift.
40
+
41
+
### Fixed
42
+
43
+
-**AgentCore Gateway Manager** — Fixed the issue where gateway was not getting deleted once stack is deleted.
44
+
45
+
-**Configuration Page Error Display** — Fixed `[object Object]` error message when configuration loading fails (e.g., due to Lambda throttling) by properly extracting error messages from Amplify GraphQL error responses.
if [ -n"$$CI" ] || [ -n"$$GITHUB_ACTIONS" ];then \
212
+
echo -e "$(RED)ERROR: Generated GraphQL files are out of date!$(NC)";\
213
+
echo -e "$(YELLOW)Run 'make codegen' and commit the updated files.$(NC)";\
214
+
git diff --stat src/ui/src/graphql/generated/;\
215
+
exit 1;\
216
+
else\
217
+
echo -e "$(YELLOW)Generated GraphQL files were out of date — auto-updated.$(NC)";\
218
+
git diff --stat src/ui/src/graphql/generated/;\
219
+
echo -e "$(YELLOW)Please commit the changes above.$(NC)";\
220
+
fi\
221
+
else\
222
+
echo -e "$(GREEN)✅ GraphQL codegen output is up-to-date$(NC)";\
223
+
fi
224
+
197
225
commit: lint test
198
226
$(info Generating commit message...)
199
227
export COMMIT_MESSAGE="$(shell kiro-cli chat --no-interactive --trust-all-tools "Understand pending local git change and changes to be committed, then infer a commit message. Return this commit message only on a single line."| grep ">"| tail -n 1 | sed 's/\x1b\[[0-9;]*m//g')"&&\
Copy file name to clipboardExpand all lines: config_library/unified/ocr-benchmark/README.md
+35-3Lines changed: 35 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,14 +20,46 @@ The OCR Benchmark dataset contains diverse document types with ground truth JSON
20
20
|**REAL_ESTATE**| Real estate transaction data | transactions[], transactionsByCity[]|
21
21
|**SHIFT_SCHEDULE**| Employee scheduling | title, facility, employees[] with shifts |
22
22
23
+
## Benchmark Results
24
+
25
+
Evaluated on the full 293-document dataset using IDP Accelerator v0.5.0 (pattern-2, pipeline mode). Evaluation methods are identical across all configs for apples-to-apples comparison.
26
+
27
+
| Metric | Previous Config | This Config (Nova 2 Lite) | With Sonnet 4.6 |
-**Classification**: Nova 2 Lite (`us.amazon.nova-2-lite-v1:0`)
51
+
-**Extraction**: Nova 2 Lite (`us.amazon.nova-2-lite-v1:0`)
52
+
-**OCR**: Textract (Layout feature)
53
+
54
+
To use Sonnet 4.6 for extraction, change `extraction.model` to `us.anthropic.claude-sonnet-4-6-20250929-v1:0`.
23
55
24
56
## Processing Mode
25
57
26
58
**Default Mode**: Pipeline (use_bda: false). Set use_bda: true for BDA mode.
27
59
28
60
## Validation Level
29
61
30
-
**Level**: 2 - Minimal Testing
62
+
**Level**: 3 - Benchmarked
31
63
32
-
-**Testing Evidence**: This configuration has been lightly tested with the RealKIE-FCC-Verified Dataset.
33
-
-**Known Limitations**: Performance may vary - consider this configuration a starting point. We welome Pull Requests to improve the accuracy.
64
+
-**Testing Evidence**: Evaluated on the full 293-document OmniAI OCR Benchmark dataset with per-class accuracy breakdown. Evaluation methods identical to previous config for fair comparison.
65
+
-**Known Limitations**: GLOSSARY class has lower accuracy (67.3%) due to OCR challenges with single-digit numbers. Upgrading extraction model to Claude Sonnet 4.6 improves overall accuracy to 91.2% at higher cost.
0 commit comments