llm-catalog-archive

Change

8a08232

8a08232e85ba26c299b7e605a935bbca58461237 · commit on GitHub

aws-blog-feed: changed (537844 bytes, HTTP 200)

raw/aws-blog-feed/response.xml modified

Lines added
+1,041
Lines removed
-683
Stored bytes at this commit
537,844
Timestamp
observed
Raw artifact at this commit
raw/aws-blog-feed/response.xml
Recorded headers
observed_at2026-10-15T04:39:16.310Z
origin_datenull
status200
final URLhttps://aws.amazon.com/blogs/machine-learning/feed/
etagnull
last-modifiedWed, 14 Oct 2026 23:14:08 GMT
dateThu, 15 Oct 2026 04:39:16 GMT
agenull
cache-controlnull
cf-cache-statusnull
content-encodingnull
content-lengthnull
@@@ -5,7 +5,7 @@
<atom:link href="https://aws.amazon.com/blogs/machine-learning/feed/" rel="self" type="application/rss+xml"/>
<link>https://aws.amazon.com/blogs/machine-learning/</link>
<description>Official Machine Learning Blog of Amazon Web Services</description>
- <lastBuildDate>Tue, 13 Oct 2026 20:10:33 +0000</lastBuildDate>
+ <lastBuildDate>Wed, 14 Oct 2026 17:10:11 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>
hourly </sy:updatePeriod>
@@@ -13,6 +13,1045 @@
1 </sy:updateFrequency>
<item>
+ <title>Build self-improving document processing using Amazon Bedrock AgentCore</title>
+ <link>https://aws.amazon.com/blogs/machine-learning/build-self-improving-document-processing-using-amazon-bedrock-agentcore/</link>
+
+ <dc:creator><![CDATA[Erik Cordsen]]></dc:creator>
+ <pubDate>Wed, 14 Oct 2026 16:24:07 +0000</pubDate>
+ <category><![CDATA[Amazon Bedrock AgentCore]]></category>
+ <category><![CDATA[Expert (400)]]></category>
+ <category><![CDATA[Technical How-to]]></category>
+ <guid isPermaLink="false">e171b39a3994cf60cede0f83b63b3eeb1990c5b0</guid>
+
+ <description>Learn how to build an agentic intelligent document processing (IDP) system using Amazon Bedrock AgentCore that classifies, extracts, validates, and learns from business documents with minimal human intervention, automatically handling new document formats without manual template co…
+ <content:encoded>&lt;p&gt;&lt;a href="https://warekennis.nl/wp-content/uploads/2013/11/bridging-the-information-worker-productivity-gap.pdf" target="_blank" rel="noopener"&gt;IDC research&lt;/a&gt; shows that document-related challenges cost organizations $19,732 for each information worke…
+&lt;p&gt;In this post, you learn how to build an agentic IDP system using &lt;a href="https://aws.amazon.com/bedrock/agentcore/" target="_blank" rel="noopener"&gt;Amazon Bedrock AgentCore&lt;/a&gt; that classifies, extracts, validates, and learns from business documents with minimal human interventi…
+&lt;ul&gt;
+ &lt;li&gt;Deploy a multi-agent IDP system, often in under 20 minutes.&lt;/li&gt;
+ &lt;li&gt;Process new document types without manual template configuration.&lt;/li&gt;
+ &lt;li&gt;Let agents train themselves on each new document format and reuse what they learn, so later documents of that type go straight to extraction without retraining.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h2 id="challenges-with-rule-based-document-processing"&gt;Challenges with rule-based document processing&lt;/h2&gt;
+&lt;p&gt;Many IDP pipelines require you to define templates, extraction rules, and validation logic for every document format upfront. When a new vendor sends a purchase order with a different layout, the pipeline breaks. This creates three core challenges:&lt;/p&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;&lt;strong&gt;Template rigidity:&lt;/strong&gt; Each new document format requires manual configuration, and even minor layout changes can cause extraction failures.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;No learning:&lt;/strong&gt; The same extraction errors repeat across similar documents because the system doesn’t retain knowledge from previous corrections.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Scaling burden:&lt;/strong&gt; Each new vendor or document variant multiplies the maintenance effort, and organizations processing documents from hundreds of sources face ongoing operational costs.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;p&gt;An agentic approach addresses these challenges. Instead of static templates, AI agents analyze each document, generate extraction instructions, validate results, and learn from corrections automatically. Over time, your system builds a knowledge base of document formats, so you process simi…
+&lt;h2 id="solution-overview"&gt;Solution overview&lt;/h2&gt;
+&lt;p&gt;In this solution, eight specialized agents collaborate across two graph-based workflows running on Amazon Bedrock AgentCore.&lt;/p&gt;
+&lt;p&gt;The following diagram shows the multi-agent workflow graph built using &lt;a href="https://strandsagents.com" target="_blank" rel="noopener"&gt;Strands Agents&lt;/a&gt;, an open source SDK for building AI agents.&lt;/p&gt;
+&lt;div id="attachment_141321" style="width: 1005px" class="wp-caption alignnone"&gt;
+ &lt;img aria-describedby="caption-attachment-141321" class="size-full wp-image-141321" src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/14/Architecture-2.png" alt="" width="995" height="563"&gt;
+ &lt;p id="caption-attachment-141321" class="wp-caption-text"&gt;Figure 1: Multi-agent orchestration workflow graph&lt;/p&gt;
+&lt;/div&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Identification workflow&lt;/strong&gt;: The Analyzer agent extracts text using &lt;a href="https://aws.amazon.com/textract/" target="_blank" rel="noopener"&gt;Amazon Textract&lt;/a&gt; and identifies the document type and sender. The Matcher agent searches for similar docume…
+ &lt;li&gt;&lt;strong&gt;Training workflow&lt;/strong&gt; (new document types): When no match is found, the Instructions agent generates extraction prompts, the Extractor agent extracts structured data, and the Validator agent checks results against schemas and business rules in &lt;a href="https://…
+ &lt;li&gt;&lt;strong&gt;Automation workflow&lt;/strong&gt; (known document types): When a match is found, the Extractor agent uses existing instructions. If validation fails, the Troubleshooter agent fixes the extracted data directly without modifying instructions.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h3 id="how-it-works"&gt;How it works&lt;/h3&gt;
+&lt;p&gt;The following diagram shows the infrastructure architecture for the solution.&lt;/p&gt;
+&lt;div id="attachment_141320" style="width: 999px" class="wp-caption alignnone"&gt;
+ &lt;img aria-describedby="caption-attachment-141320" loading="lazy" class="size-full wp-image-141320" src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/14/Architecture-1.png" alt="" width="989" height="551"&gt;
+ &lt;p id="caption-attachment-141320" class="wp-caption-text"&gt;Figure 2: Agentic IDP infrastructure architecture on AWS&lt;/p&gt;
+&lt;/div&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;Business documents arrive in &lt;a href="https://aws.amazon.com/ses/" target="_blank" rel="noopener"&gt;Amazon Simple Email Service&lt;/a&gt; (Amazon SES) or direct upload to Amazon S3.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://aws.amazon.com/eventbridge/" target="_blank" rel="noopener"&gt;Amazon EventBridge&lt;/a&gt; triggers an &lt;a href="https://aws.amazon.com/lambda/" target="_blank" rel="noopener"&gt;AWS Lambda&lt;/a&gt; function that creates a tracking job in &lt;a href="https://aws.am…
+ &lt;li&gt;AgentCore runtime orchestrates document processing through Strands Agents.&lt;/li&gt;
+ &lt;li&gt;Your agents securely access AWS resources through machine-to-machine credentials managed by AgentCore Identity, a capability of Amazon Bedrock AgentCore, and &lt;a href="https://aws.amazon.com/cognito/" target="_blank" rel="noopener"&gt;Amazon Cognito&lt;/a&gt;.&lt;/li&gt;
+ &lt;li&gt;Your Lambda functions become agent-compatible tools through the Model Context Protocol (MCP) interface of AgentCore Gateway, a capability of Amazon Bedrock AgentCore.&lt;/li&gt;
+ &lt;li&gt;Agents extract text using Amazon Textract, classify documents using vector embeddings in S3 Vectors, and validate data against business rules in Aurora DSQL.&lt;/li&gt;
+ &lt;li&gt;Agents access enterprise data through MCP servers to validate extracted content against business rules.&lt;/li&gt;
+ &lt;li&gt;You monitor status and troubleshoot issues through a chat-enabled dashboard hosted on &lt;a href="https://aws.amazon.com/ecs/" target="_blank" rel="noopener"&gt;Amazon Elastic Container Service&lt;/a&gt; (Amazon ECS).&lt;/li&gt;
+ &lt;li&gt;You gain visibility into agent performance through AgentCore Observability, a capability of Amazon Bedrock AgentCore, and &lt;a href="https://aws.amazon.com/cloudwatch/" target="_blank" rel="noopener"&gt;Amazon CloudWatch&lt;/a&gt; telemetry.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;h2 id="deploy-the-solution"&gt;Deploy the solution&lt;/h2&gt;
+&lt;p&gt;Follow these steps to deploy the solution infrastructure and web UI to your AWS account.&lt;/p&gt;
+&lt;h3 id="prerequisites"&gt;Prerequisites&lt;/h3&gt;
+&lt;p&gt;To deploy this solution, you must have:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;An &lt;a href="https://portal.aws.amazon.com/gp/aws/developer/registration/index.html" target="_blank" rel="noopener"&gt;AWS account&lt;/a&gt;.&lt;/li&gt;
+ &lt;li&gt;Access to &lt;a href="https://aws.amazon.com/bedrock/" target="_blank" rel="noopener"&gt;Amazon Bedrock&lt;/a&gt; with Amazon Nova and Anthropic (Claude) models enabled. For model availability by AWS Region, refer to &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/models-…
+ &lt;li&gt;Access to Amazon Bedrock AgentCore (Runtime, Gateway, Identity), S3 Vectors, and Amazon Aurora DSQL in a &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html" target="_blank" rel="noopener"&gt;supported Region&lt;/a&gt;.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://aws.amazon.com/cdk/" target="_blank" rel="noopener"&gt;AWS Cloud Development Kit&lt;/a&gt; (AWS CDK) v2 installed.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.docker.com/get-docker/" target="_blank" rel="noopener"&gt;Docker&lt;/a&gt; installed and running (required for building and deploying container images).&lt;/li&gt;
+ &lt;li&gt;Python 3.11+ and Node.js 18+.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://aws.amazon.com/iam/" target="_blank" rel="noopener"&gt;AWS Identity and Access Management&lt;/a&gt; (IAM) permissions to create S3 buckets, Lambda functions, DynamoDB tables, Cognito user pools, Amazon Elastic Container Registry (Amazon ECR) repositories, and Amazon EC…
+&lt;/ul&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;Clone the &lt;a href="https://github.com/aws-samples/aws-ai-intelligent-document-processing/tree/main/guidance/agentic-orchestration" target="_blank" rel="noopener"&gt;repository&lt;/a&gt; and set up the environment:
+ &lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;git clone https://github.com/aws-samples/agenticidp-guidance.git
+cd agenticidp-guidance
+
+uv venv
+source .venv/bin/activate
+uv pip install -r requirements.txt
+
+cd ui/orchestrator
+npm install
+cd ../..&lt;/code&gt;&lt;/pre&gt;
+ &lt;/div&gt;&lt;/li&gt;
+ &lt;li&gt;Deploy the stacks:
+ &lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;uv run deploy.py --admin-email [email redacted]&lt;/code&gt;&lt;/pre&gt;
+ &lt;/div&gt;&lt;/li&gt;
+&lt;/ol&gt;
+&lt;p&gt;This deploys six &lt;a href="https://aws.amazon.com/cloudformation/" target="_blank" rel="noopener"&gt;AWS CloudFormation&lt;/a&gt; stacks: Core (S3, Cognito, DynamoDB), Gateway (Lambda tools, AgentCore Gateway), Aurora (Amazon Aurora DSQL), Agent (AgentCore runtime, containers), UI Orchest…
+&lt;ol start="3" type="1"&gt;
+ &lt;li&gt;Verify deployment by checking that each stack shows &lt;code&gt;CREATE_COMPLETE&lt;/code&gt; in the CloudFormation console.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;h2 id="process-files-and-review-results"&gt;Process files and review results&lt;/h2&gt;
+&lt;p&gt;After deployment, you receive an email with the CloudFront URL, username, and temporary password.&lt;/p&gt;
+&lt;h3 id="process-a-document"&gt;Process a document&lt;/h3&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;Sign in to the web UI and choose &lt;strong&gt;Process Document&lt;/strong&gt;.&lt;/li&gt;
+ &lt;li&gt;Upload a sample purchase order from &lt;code&gt;infrastructure/sample_data/purchase_orders/training/&lt;/code&gt;.&lt;/li&gt;
+ &lt;li&gt;The document enters the agent workflow:
+ &lt;ul&gt;
+ &lt;li&gt;The Analyzer agent extracts text and identifies the sender and document type.&lt;/li&gt;
+ &lt;li&gt;The Matcher agent searches for similar documents in the vector store.&lt;/li&gt;
+ &lt;li&gt;For a new document type, the training workflow generates extraction instructions, extracts data, validates it, and saves the instructions for future use.&lt;/li&gt;
+ &lt;li&gt;For a known document type, the automation workflow extracts data using existing instructions and validates it.&lt;/li&gt;
+ &lt;/ul&gt;&lt;/li&gt;
+ &lt;li&gt;Review results in the &lt;strong&gt;Review Jobs and Instructions&lt;/strong&gt; tab to verify extracted data, validation results, and generated instructions.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;h3 id="example-a-new-document-type-training-workflow"&gt;Example: A new document type (training workflow)&lt;/h3&gt;
+&lt;p&gt;Suppose you upload the first purchase order from a new retailer, Two Wheel Store. The Matcher agent searches the vector store, finds no similar document, and routes the job through the training workflow.&lt;/p&gt;
+&lt;p&gt;The Analyzer agent uses Amazon Textract to extract the raw document text:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-text"&gt;# PURCHASE ORDER
+FROM: Two Wheel Store
+Order #: PO-2026-0102-2584
+Date: 2026-01-02
+
+## Items Ordered
+AC-021 Advanced Computer Qty: 1 $75.61
+ Colors: cr4321 @ $75.61
+...
+SB-004 Folding Classic Qty: 8 $9634.32
+ Colors: cb8901 I Sizes: S @ $1204.29
+
+TOTAL: $14931.54&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;The Instructions agent generates extraction prompts from the schema, and the Extractor agent produces structured JSON:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-json"&gt;{
+ "po_number": "PO-2026-0102-2584",
+ "retailer_name": "Two Wheel Store",
+ "order_date": "2026-01-02T00:00:00Z",
+ "line_items": [
+ { "sku": "AC-021", "product_name": "Advanced Computer", "quantity": 1, "unit_price": 75.61, "line_total": 75.61 },
+ { "sku": "SB-004", "product_name": "Folding Classic", "quantity": 8, "unit_price": 1204.29, "line_total": 9634.32 }
+ ],
+ "order_total": 14931.54
+}&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;The Validator agent checks the result against the schema and &lt;strong&gt;fails&lt;/strong&gt;:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-text"&gt;validation_status: INVALID
+error: 'SB-004' does not match '^AB-[A-Z]{2}-\d{3}$'&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;The vendor’s SKU format (&lt;code&gt;SB-004&lt;/code&gt;) doesn’t match Acme Bikes’ internal format (&lt;code&gt;AB-SB-004&lt;/code&gt;). The Instructions Fixer agent diagnoses the mismatch and adds an explicit SKU transformation rule to the extraction prompt: prefix vendor SKUs with &lt;co…
+&lt;h3 id="example-a-known-document-type-automation-workflow"&gt;Example: A known document type (automation workflow)&lt;/h3&gt;
+&lt;p&gt;When a second purchase order from Two Wheel Store arrives, the Matcher agent finds the stored instructions from the first run with a confidence score of 3.946 (threshold: 3.7) and routes the job through the automation workflow:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;The Extractor agent applies the stored instructions directly, so the orchestrator skips prompt generation. The SKU transformation rule learned during training applies automatically (&lt;code&gt;EL-002&lt;/code&gt; → &lt;code&gt;AB-EL-002&lt;/code&gt;, &lt;code&gt;HB-071&lt;/code&gt; → &lt…
+ &lt;li&gt;The three line items validate on the first pass with an order total of $5,979.19.&lt;/li&gt;
+ &lt;li&gt;End-to-end processing completes in 1 minute 30 seconds, down from 3 minutes 49 seconds on the first run.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h3 id="use-the-interactive-chat"&gt;Use the interactive chat&lt;/h3&gt;
+&lt;p&gt;The dashboard includes a chat interface for troubleshooting:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Ask &lt;code&gt;what tools do you have&lt;/code&gt; to see available agent capabilities.&lt;/li&gt;
+ &lt;li&gt;Ask &lt;code&gt;list instructions&lt;/code&gt; to view stored extraction instructions.&lt;/li&gt;
+ &lt;li&gt;Ask &lt;code&gt;what is the status of job XXXX&lt;/code&gt; to check processing progress.&lt;/li&gt;
+ &lt;li&gt;Ask &lt;code&gt;what went wrong with job XXXX, how can we update the instructions?&lt;/code&gt; to diagnose failures.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h3 id="understand-how-accuracy-improves-over-time"&gt;Understand how accuracy improves over time&lt;/h3&gt;
+&lt;p&gt;The system improves over time through two feedback loops:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Training loop&lt;/strong&gt;: When the Instructions Fixer agent refines extraction prompts after validation failures, the improved instructions are saved and reused for similar documents.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Processing loop&lt;/strong&gt;: When the Troubleshooter agent fixes extraction errors, it provides detailed analysis that helps identify patterns in document format variations.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;When changing models, use &lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/evaluations.html" target="_blank" rel="noopener"&gt;AgentCore Evaluations&lt;/a&gt;, a capability of Amazon Bedrock AgentCore, to confirm that extraction quality remains acceptable. The solut…
+&lt;h2 id="estimated-cost"&gt;Estimated cost&lt;/h2&gt;
+&lt;p&gt;You pay only for what you use, because the solution runs on serverless and on-demand resources with no idle costs. For a workload of 10 training documents and 1,000 processed documents each month in US East (N. Virginia), the estimated cost is approximately $58 per month. Foundation model (…
+&lt;h2 id="customize-the-solution-for-your-use-case"&gt;Customize the solution for your use case&lt;/h2&gt;
+&lt;p&gt;You get a purchase order processing use case with a synthetic bike company dataset, a pre-built JSON schema, and a validation Lambda function that checks extracted data against product and vendor records in a mock ERP database. To process your own documents, you must replace the included sc…
+&lt;h3 id="define-your-document-schema"&gt;Define your document schema&lt;/h3&gt;
+&lt;p&gt;Create a JSON schema that defines the fields you want to extract for each document type. The sample purchase order schema in &lt;code&gt;agents/orchestratorgraph/doc_schema/purchase_order_schema.json&lt;/code&gt; provides a reference. Your schema should specify field names, data types, and …
+&lt;h3 id="build-your-validation-process"&gt;Build your validation process&lt;/h3&gt;
+&lt;p&gt;The included validator checks purchase order data against synthetic vendor and product tables in Aurora DSQL. Your production implementation requires a validation process tailored to your business rules. For example:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;An invoice validator might check vendor IDs against your accounts payable system and verify line item totals match the invoice total.&lt;/li&gt;
+ &lt;li&gt;A contract validator might verify that the document contains required clauses and that dates and party names match your records.&lt;/li&gt;
+ &lt;li&gt;A claims validator might check policy numbers, coverage limits, and claimant information against your policy management system.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;To add a new validator, create a Lambda function that accepts extracted JSON and returns a pass/fail result with detailed error messages, then register it as a tool in AgentCore Gateway. Refer to &lt;code&gt;gateway/tools/po_validator_tool/&lt;/code&gt; for the implementation pattern.&lt;/p…
+&lt;h3 id="update-agent-prompts"&gt;Update agent prompts&lt;/h3&gt;
+&lt;p&gt;The agent prompts in &lt;code&gt;agents/orchestratorgraph/prompts/&lt;/code&gt; reference purchase order terminology. Update these prompts to reflect your document types and extraction requirements. The Orchestrator agent, Validator agent, and Instructions agent each contain document-type-s…
+&lt;h2 id="best-practices"&gt;Best practices&lt;/h2&gt;
+&lt;p&gt;Keep these recommendations in mind as you train and operate your agentic IDP system.&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Start with representative samples&lt;/strong&gt;: Upload 5–10 documents per type during training, including edge cases with format variations, to build reliable extraction instructions.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Use business rule validation&lt;/strong&gt;: Connect validators to your reference data (vendor lists, product catalogs) in Aurora DSQL to catch extraction errors early.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Monitor agent performance&lt;/strong&gt;: Use AgentCore Observability and CloudWatch to track execution paths, identify bottlenecks, and measure extraction accuracy over time.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Add document types incrementally&lt;/strong&gt;: Create a JSON schema for each new document type and a corresponding validation Lambda function. The agents handle the rest.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Add guardrails for production&lt;/strong&gt;: Apply Amazon Bedrock Guardrails to enforce content filtering and grounding checks on agent outputs. This is especially important when you process sensitive document types such as insurance claims or loan applications.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Review the OWASP Top 10 for LLMs&lt;/strong&gt;: Consult the &lt;a href="https://genai.owasp.org/llm-top-10/" target="_blank" rel="noopener"&gt;OWASP Top 10 for LLMs and Generative AI Apps&lt;/a&gt; for security considerations when building applications that use large langua…
+&lt;/ul&gt;
+&lt;h2 id="clean-up"&gt;Clean up&lt;/h2&gt;
+&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Before running cleanup, export the data you want to retain. The &lt;code&gt;destroy.py&lt;/code&gt; script permanently deletes processed documents (S3), job history (DynamoDB), validation data (Aurora DSQL), and learned extraction instructions (vector…
+&lt;p&gt;To avoid ongoing charges, remove the deployed resources:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;uv run destroy.py&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;Verify that the six CloudFormation stacks are deleted on the console: AgenticIDP-Core-Dev, AgenticIDP-Gateway-Dev, AgenticIDP-Aurora-Dev, AgenticIDP-Agent-Dev, AgenticIDP-UIOrchestr-Dev, and AgenticIDP-ModernUI-Dev.&lt;/p&gt;
+&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
+&lt;p&gt;In this post, you learned how to build a self-improving document processing system using Amazon Bedrock AgentCore, where specialized AI agents collaborate to classify, extract, validate, and learn from business documents. This agentic approach adapts to new document formats automatically an…
+&lt;p&gt;As next steps:&lt;/p&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;Deploy the &lt;a href="https://github.com/aws-samples/aws-ai-intelligent-document-processing/tree/main/guidance/agentic-orchestration" target="_blank" rel="noopener"&gt;sample solution&lt;/a&gt; and test with the included purchase order samples.&lt;/li&gt;
+ &lt;li&gt;Add your own document types by creating JSON schemas and validation rules.&lt;/li&gt;
+ &lt;li&gt;Explore how to integrate extracted data with downstream systems such as ERP, CRM, or content management tools.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;p&gt;To learn more about the services and patterns used in this post, refer to the following resources:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;For a deep dive into the agent framework used in this solution, refer to &lt;a href="https://aws.amazon.com/blogs/machine-learning/strands-agents-sdk-a-technical-deep-dive-into-agent-architectures-and-observability/" target="_blank" rel="noopener"&gt;Strands Agents SDK: A technical deep d…
+ &lt;li&gt;To understand how AgentCore Gateway transforms APIs into agent-compatible tools, refer to &lt;a href="https://aws.amazon.com/blogs/machine-learning/introducing-amazon-bedrock-agentcore-gateway-transforming-enterprise-ai-agent-tool-development/" target="_blank" rel="noopener"&gt;Introducin…
+ &lt;li&gt;For background on the Model Context Protocol and how it integrates with AWS services, refer to &lt;a href="https://aws.amazon.com/blogs/machine-learning/unlocking-the-power-of-model-context-protocol-mcp-on-aws/" target="_blank" rel="noopener"&gt;Unlocking the power of Model Context Protoc…
+ &lt;li&gt;To learn how agents can retain context across sessions, refer to &lt;a href="https://aws.amazon.com/blogs/machine-learning/amazon-bedrock-agentcore-memory-building-context-aware-agents/" target="_blank" rel="noopener"&gt;Amazon Bedrock AgentCore Memory: Building context-aware agents&lt;/a…
+ &lt;li&gt;For details on Amazon Bedrock AgentCore capabilities, refer to the &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agentcore.html" target="_blank" rel="noopener"&gt;Amazon Bedrock AgentCore documentation&lt;/a&gt;.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;For expert guidance on building document processing solutions, &lt;a href="https://aws.amazon.com/professional-services/" target="_blank" rel="noopener"&gt;AWS Professional Services&lt;/a&gt; and &lt;a href="https://aws.amazon.com/partners/" target="_blank" rel="noopener"&gt;AWS Partners&lt…
+&lt;p style="clear: both"&gt;&lt;/p&gt;
+&lt;hr style="width: 100%"&gt;
+&lt;h2&gt;About the authors&lt;/h2&gt;
+&lt;footer&gt;
+ &lt;div class="blog-author-box" style="padding-top: 2.0em"&gt;
+ &lt;div class="blog-author-image" style="margin-right: 1.0em"&gt;
+ &lt;img loading="lazy" class="alignnone size-full" src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2025/03/19/Erik-Cordsen.jpg" alt="Erik Cordsen" width="100" height="133"&gt;
+ &lt;/div&gt;
+ &lt;h3 class="lb-h4"&gt;Erik Cordsen&lt;/h3&gt;
+ &lt;p style="overflow: hidden"&gt;Erik is a Solutions Architect at AWS serving customers in Georgia. He is passionate about applying cloud technologies and machine learning to solve real life problem. When he is not designing cloud solutions, Erik enjoys travel, cooking, and cycling.&lt;/p&gt;
+ &lt;/div&gt;
+ &lt;div class="blog-author-box" style="padding-top: 2.0em"&gt;
+ &lt;div class="blog-author-image" style="margin-right: 1.0em"&gt;
+ &lt;img loading="lazy" class="alignnone size-full" src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2025/02/07/vivek_phonetool.jpeg" alt="Vivek Mittal" width="100" height="133"&gt;
+ &lt;/div&gt;
+ &lt;h3 class="lb-h4"&gt;Vivek Mittal&lt;/h3&gt;
+ &lt;p style="overflow: hidden"&gt;Vivek is a Solution Architect at Amazon Web Services, where he helps organizations architect and implement cutting-edge cloud solutions. With a deep passion for Generative AI, Machine Learning, and Serverless technologies, he specializes in helping customers harne…
+ &lt;/div&gt;
+ &lt;div class="blog-author-box" style="padding-top: 2.0em"&gt;
+ &lt;div class="blog-author-image" style="margin-right: 1.0em"&gt;
+ &lt;img loading="lazy" class="alignnone size-full" src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/12/20468-1.jpg" alt="Sourabh Jain" width="100" height="133"&gt;
+ &lt;/div&gt;
+ &lt;h3 class="lb-h4"&gt;Sourabh Jain&lt;/h3&gt;
+ &lt;p style="overflow: hidden"&gt;Sourabh is a Senior Solutions Architect with over 8 years of experience developing cloud solutions that drive better business outcomes for organizations worldwide. He specializes in architecting and implementing robust cloud software solutions, with extensive expe…
+ &lt;/div&gt;
+&lt;/footer&gt;</content:encoded>
+
+
+
+ </item>
+ <item>
+ <title>Generate presentations with Amazon Bedrock AgentCore</title>
+ <link>https://aws.amazon.com/blogs/machine-learning/generate-presentations-with-amazon-bedrock-agentcore/</link>
+
+ <dc:creator><![CDATA[Ian Lunsford]]></dc:creator>
+ <pubDate>Wed, 14 Oct 2026 13:58:43 +0000</pubDate>
+ <category><![CDATA[Advanced (300)]]></category>
+ <category><![CDATA[Amazon Bedrock AgentCore]]></category>
+ <category><![CDATA[Technical How-to]]></category>
+ <guid isPermaLink="false">d7fcbb6e54548bceb8e3c5489bb676b9bb401df4</guid>
+
+ <description>This post walks you through building an AI agent system with Amazon Bedrock AgentCore that automates PowerPoint presentation creation from enterprise documents. A supervisor agent, Retrieval Augmented Generation, and Amazon Bedrock Guardrails generate grounded presentations in unde…
+ <content:encoded>&lt;p&gt;A financial services team spends significant time each week manually creating client PowerPoint presentations from quarterly reports, compliance documents, and market analyses. Each presentation requires reading hundreds of pages, extracting key data points, struc…
+&lt;h2 id="solution-overview"&gt;Solution overview&lt;/h2&gt;
+&lt;p&gt;The solution deploys a single supervisor agent on Amazon Bedrock AgentCore runtime that selects between document generation and summarization tools based on user requests. A Retrieval Augmented Generation (RAG) pipeline uses Amazon OpenSearch Serverless for vector storage and semantic searc…
+&lt;p&gt;The solution includes a REST API built with .NET 8 minimal APIs, so you can integrate with existing enterprise applications through standard HTTP calls. AWS Lambda offers serverless compute, including containerized functions for PowerPoint generation. The solution secures the implementation…
+&lt;h2 id="key-concepts"&gt;Key concepts&lt;/h2&gt;
+&lt;p&gt;This section covers AgentCore runtime, RAG, and content safety guardrails as they apply to this solution.&lt;/p&gt;
+&lt;h3 id="agent-orchestration-with-amazon-bedrock-agentcore"&gt;Agent orchestration with Amazon Bedrock AgentCore&lt;/h3&gt;
+&lt;p&gt;A single AI agent generating documents from large knowledge bases must retrieve content, structure outlines, generate text, create images, and assemble files. Rather than implementing these competing responsibilities in a monolithic function, the solution uses a tool-based architecture wher…
+&lt;p&gt;Amazon Bedrock AgentCore runtime provides a platform to build, connect, and optimize agents at scale, with any framework or model. The agent code runs in an isolated container with session management, built-in identity, and observability. The solution uses the Strands Agents framework (an o…
+&lt;p&gt;The supervisor agent exposes two tools:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;generate_pptx:&lt;/strong&gt; Creates PowerPoint presentations by invoking the PPTX Generator Lambda function, which retrieves content from the knowledge base, generates slide outlines, creates AI images, and assembles the final document.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;generate_summary:&lt;/strong&gt; Extracts and synthesizes information from the knowledge base using RAG to deliver accurate, grounded responses.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;The agent determines whether a request requires document generation, content summarization, or both, then invokes the appropriate tool. You can add new capabilities by defining new tools in the agent code without modifying existing ones.&lt;/p&gt;
+&lt;h3 id="retrieval-augmented-generation-rag-for-enterprise-knowledge"&gt;Retrieval Augmented Generation (RAG) for enterprise knowledge&lt;/h3&gt;
+&lt;p&gt;RAG addresses a fundamental challenge in AI systems: delivering accurate, up-to-date information grounded in enterprise data rather than relying solely on the model’s training data. The implementation uses &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html"…
+&lt;p&gt;The RAG pipeline works as follows:&lt;/p&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;You upload enterprise documents to &lt;a href="https://docs.aws.amazon.com/s3/" target="_blank" rel="noopener"&gt;Amazon Simple Storage Service (Amazon S3)&lt;/a&gt;.&lt;/li&gt;
+ &lt;li&gt;The system chunks and parses documents, applying special handling for multimodal content including tables, charts, and images.&lt;/li&gt;
+ &lt;li&gt;Amazon Titan Text Embeddings v2 converts each chunk into high-dimensional vectors that capture semantic meaning.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless.html" target="_blank" rel="noopener"&gt;Amazon OpenSearch Serverless&lt;/a&gt; stores the vectors, creating a searchable vector database.&lt;/li&gt;
+ &lt;li&gt;At query time, the system converts the user’s request into an embedding and performs similarity search to retrieve relevant document chunks.&lt;/li&gt;
+ &lt;li&gt;Retrieved chunks supply context to the language model, which generates responses grounded in the source material.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;p&gt;This approach is designed to help reduce hallucinated content by grounding generated documents in source information from the enterprise knowledge base.&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The Amazon OpenSearch Serverless collection data plane must remain publicly accessible because Amazon Bedrock Knowledge Bases accesses Amazon OpenSearch Serverless from AWS-managed infrastructure, not through customer VPC endpoints. IAM data access policie…
+&lt;h3 id="amazon-bedrock-guardrails-for-content-safety"&gt;Amazon Bedrock Guardrails for content safety&lt;/h3&gt;
+&lt;p&gt;Enterprise AI applications require content moderation to meet organizational standards and compliance requirements. &lt;a href="https://aws.amazon.com/bedrock/guardrails/" target="_blank" rel="noopener"&gt;Amazon Bedrock Guardrails&lt;/a&gt; offers built-in content filtering and safety mech…
+&lt;p&gt;Guardrails operate at multiple stages:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Input processing:&lt;/strong&gt; Filters user requests to help prevent injection issues and inappropriate content.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Output generation:&lt;/strong&gt; Monitors model outputs to verify compliance with content policies.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Personally identifiable information (PII) handling:&lt;/strong&gt; Detects and anonymizes or blocks PII.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;The implementation creates custom guardrails through &lt;a href="https://docs.aws.amazon.com/cdk/v2/guide/cli.html" target="_blank" rel="noopener"&gt;AWS Cloud Development Kit (AWS CDK)&lt;/a&gt;, configured with specific policies tailored to enterprise document creation. The agent applies …
+&lt;h2 id="solution-architecture"&gt;Solution architecture&lt;/h2&gt;
+&lt;p&gt;The following diagram illustrates the agent-based document generation system.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/09/ML-19250-1.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/09/ML-19250-1.png" alt="Architecture diagram of…
+ &lt;p class="wp-caption-text"&gt;Figure 1: Architecture of the Amazon Bedrock AgentCore RAG presentation generation system&lt;/p&gt;
+&lt;/div&gt;
+&lt;p&gt;The data flow begins with user requests arriving through &lt;a href="https://docs.aws.amazon.com/apigateway/" target="_blank" rel="noopener"&gt;Amazon API Gateway&lt;/a&gt;, which routes them to a .NET-based Chat API running on &lt;a href="https://docs.aws.amazon.com/lambda/" target="_blank…
+&lt;p&gt;The supervisor agent analyzes the request and selects the appropriate tool. For document generation, it invokes the PPTX Generator Lambda (a containerized Python function). For summarization, the supervisor invokes the Summary Generator Lambda, which queries the knowledge base through the &…
+&lt;p&gt;The system processes, chunks, and embeds documents stored in Amazon S3 using Amazon Titan Text Embeddings v2. Amazon OpenSearch Serverless indexes the embeddings for fast semantic search. When tools query the knowledge base, Amazon OpenSearch Serverless retrieves relevant chunks, which are …
+&lt;p&gt;The system stores generated documents in Amazon S3 and returns presigned URLs for secure download. Security measures include:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;a href="https://docs.aws.amazon.com/waf/" target="_blank" rel="noopener"&gt;AWS WAF&lt;/a&gt; with managed rule sets and IP-based rate limiting on Amazon API Gateway.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.aws.amazon.com/cognito/" target="_blank" rel="noopener"&gt;Amazon Cognito&lt;/a&gt; with the Plus feature plan and advanced security mode for threat protection.&lt;/li&gt;
+ &lt;li&gt;Amazon Bedrock Guardrails provisioned through AWS CDK for consistent content filtering.&lt;/li&gt;
+ &lt;li&gt;Amazon DynamoDB with point-in-time recovery, deletion protection, and customer-managed AWS KMS encryption.&lt;/li&gt;
+ &lt;li&gt;Amazon S3 buckets with versioning, server access logging, and block public access.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.aws.amazon.com/xray/" target="_blank" rel="noopener"&gt;AWS X-Ray&lt;/a&gt; tracing on Lambda functions for distributed debugging.&lt;/li&gt;
+ &lt;li&gt;Input validation with regex-based tenant ID and session ID verification.&lt;/li&gt;
+ &lt;li&gt;Tenant isolation through &lt;a href="https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html" target="_blank" rel="noopener"&gt;AWS Security Token Service (AWS STS)&lt;/a&gt; role assumption per tenant.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
+&lt;p&gt;Before deploying, you need the following tools and access configured in your environment:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;AWS environment:&lt;/strong&gt;
+ &lt;ul&gt;
+ &lt;li&gt;An active AWS account with permissions for deploying infrastructure.&lt;/li&gt;
+ &lt;li&gt;AWS Command Line Interface (AWS CLI) configured with credentials.&lt;/li&gt;
+ &lt;li&gt;IAM role with appropriate service access policies.&lt;/li&gt;
+ &lt;/ul&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Development tools:&lt;/strong&gt;
+ &lt;ul&gt;
+ &lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8/overview" target="_blank" rel="noopener"&gt;.NET SDK 8&lt;/a&gt; with Amazon.Lambda.Tools installed globally.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.python.org/3/" target="_blank" rel="noopener"&gt;Python 3.12 or later&lt;/a&gt; for AWS CDK and Lambda functions.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://nodejs.org/docs/latest/api/" target="_blank" rel="noopener"&gt;Node.js&lt;/a&gt; and &lt;a href="https://docs.aws.amazon.com/cdk/v2/guide/cli.html" target="_blank" rel="noopener"&gt;AWS CDK CLI&lt;/a&gt; for infrastructure deployment.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.docker.com/" target="_blank" rel="noopener"&gt;Docker&lt;/a&gt; or &lt;a href="https://runfinch.com/" target="_blank" rel="noopener"&gt;Finch&lt;/a&gt; for building container images (ARM64 support required).&lt;/li&gt;
+ &lt;/ul&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;AWS services access:&lt;/strong&gt;
+ &lt;ul&gt;
+ &lt;li&gt;Amazon Bedrock with model access for Anthropic Claude Sonnet 4.6, Amazon Titan Text Embeddings v2, and Stability AI Stable Image Inpaint (available through Amazon Bedrock). For model availability by Region, see &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/models-regi…
+ &lt;li&gt;Amazon Bedrock AgentCore access enabled in your account.&lt;/li&gt;
+ &lt;li&gt;Amazon API Gateway Regional REST API integration timeout configured to at least 300 seconds. The default is 29 seconds. For more information, see &lt;a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-execution-service-limits-table.html" target="_blank" rel…
+ &lt;li&gt;An existing Amazon VPC with private subnets.&lt;/li&gt;
+ &lt;li&gt;An Amazon S3 bucket for deployment artifacts.&lt;/li&gt;
+ &lt;/ul&gt;&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h2 id="set-up-the-solution"&gt;Set up the solution&lt;/h2&gt;
+&lt;p&gt;The setup process includes configuring deployment parameters and initializing the AWS CDK environment.&lt;/p&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;&lt;strong&gt;Clone the repository&lt;/strong&gt; and navigate to the project directory:
+ &lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;git clone https://github.com/aws-samples/sample-generating-powerpoint-presentations-with-amazon-bedrock.git&lt;/code&gt;&lt;/pre&gt;
+ &lt;/div&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Create the configuration file&lt;/strong&gt; &lt;code&gt;pipeline-params.ini&lt;/code&gt; at the repository root:
+ &lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-ini"&gt;environment=dev
+awscliprofile=
+ContainerRegistry=lambda-pptx-gen
+AgentContainerRegistry=agentcore-supervisor
+BucketDev=&amp;lt;amzn-s3-demo-bucket&amp;gt;
+VpcId=&amp;lt;your-vpc-id&amp;gt;
+ParsingInferenceProfileId=us.anthropic.claude-haiku-4-5-20251001-v1:0
+AgentInferenceProfileId=us.anthropic.claude-sonnet-4-6
+EmbeddingModelId=amazon.titan-embed-text-v2:0
+ImageGenerationModelId=stability.stable-image-inpaint-v1:0
+PPTXGenImageTag=latest
+AgentImageTag=latest&lt;/code&gt;&lt;/pre&gt;
+ &lt;/div&gt;
+ &lt;p&gt;Set &lt;code&gt;awscliprofile&lt;/code&gt; to your AWS CLI profile name, or leave empty to use environment variable credentials.&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Bootstrap AWS CDK&lt;/strong&gt; (one-time per account and Region):
+ &lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;cdk bootstrap&lt;/code&gt;&lt;/pre&gt;
+ &lt;/div&gt;
+ &lt;p&gt;This creates the &lt;a href="https://docs.aws.amazon.com/cloudformation/" target="_blank" rel="noopener"&gt;AWS CloudFormation&lt;/a&gt; CDKToolkit stack required for AWS CDK deployments.&lt;/p&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Make build scripts executable:&lt;/strong&gt;
+ &lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;chmod +x ./pipeline-build.sh
+chmod +x ./pipeline-deploy.sh
+chmod +x ./deploy-agentcore.sh&lt;/code&gt;&lt;/pre&gt;
+ &lt;/div&gt;&lt;/li&gt;
+&lt;/ol&gt;
+&lt;h2 id="build-and-deploy"&gt;Build and deploy&lt;/h2&gt;
+&lt;p&gt;The deployment consists of three phases: building artifacts, deploying infrastructure, and deploying the AgentCore runtime agent.&lt;/p&gt;
+&lt;h3 id="build-phase"&gt;Build phase&lt;/h3&gt;
+&lt;p&gt;The build phase compiles application code and packages deployment artifacts. Run the build script:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;./pipeline-build.sh&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;This compiles the .NET projects (Chat API) and packages them as Lambda deployment packages. It builds the PPTX Generator container image using Docker or Finch and authenticates with &lt;a href="https://docs.aws.amazon.com/ecr/" target="_blank" rel="noopener"&gt;Amazon Elastic Container Regi…
+&lt;h3 id="infrastructure-deployment-phase"&gt;Infrastructure deployment phase&lt;/h3&gt;
+&lt;p&gt;The infrastructure deployment creates AWS resources and configures service integrations. Run the deployment script:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;./pipeline-deploy.sh&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;

Diff display stops at 400 lines. The line counts above are from the whole diff. 45 lines shown here cut at 300 characters. 1 email address masked in this display. See the About page on personal data. The raw artifact at this commit is linked above.