llm-catalog-archive

Change

e421587

e4215871b187b787aafba2f4c0e798c350b51c7a · commit on GitHub

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

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

Lines added
+3,996
Lines removed
-3,488
Stored bytes at this commit
635,817
Timestamp
observed
Raw artifact at this commit
raw/aws-blog-feed/response.xml
Recorded headers
observed_at2026-11-04T06:22:00.271Z
origin_datenull
status200
final URLhttps://aws.amazon.com/blogs/machine-learning/feed/
etagnull
last-modifiedTue, 03 Nov 2026 23:23:13 GMT
dateWed, 04 Nov 2026 06:22:00 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>Mon, 02 Nov 2026 20:28:52 +0000</lastBuildDate>
+ <lastBuildDate>Tue, 03 Nov 2026 16:49:29 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>
hourly </sy:updatePeriod>
@@@ -13,313 +13,341 @@
1 </sy:updateFrequency>
<item>
- <title>Prepare web content for Amazon Bedrock Knowledge Bases with Crawl4AI</title>
- <link>https://aws.amazon.com/blogs/machine-learning/prepare-web-content-for-amazon-bedrock-knowledge-bases-with-crawl4ai/</link>
+ <title>Bring structured and unstructured data together with Amazon Quick</title>
+ <link>https://aws.amazon.com/blogs/machine-learning/bring-structured-and-unstructured-data-together-with-amazon-quick/</link>
- <dc:creator><![CDATA[Daxeshkumar Patel]]></dc:creator>
- <pubDate>Mon, 02 Nov 2026 17:11:21 +0000</pubDate>
- <category><![CDATA[Advanced (300)]]></category>
- <category><![CDATA[Amazon Bedrock Knowledge Bases]]></category>
+ <dc:creator><![CDATA[Puneeth Komaragiri]]></dc:creator>
+ <pubDate>Tue, 03 Nov 2026 16:49:29 +0000</pubDate>
+ <category><![CDATA[Amazon Quick Suite]]></category>
+ <category><![CDATA[Intermediate (200)]]></category>
<category><![CDATA[Technical How-to]]></category>
- <guid isPermaLink="false">43ca16f9eb64c74c6edd06ac90851b607a986aa7</guid>
+ <guid isPermaLink="false">a3db7b2c3fdf8a48e563f027e982fa25a50c5a02</guid>
- <description>This post shows how to use Crawl4AI, an open source web crawler, as a content preparation layer for Amazon Bedrock Knowledge Bases, handling JavaScript rendering, selective extraction, and custom metadata enrichment before web content reaches an Amazon S3 data source.</description>
- <content:encoded>&lt;p&gt;When you build Retrieval Augmented Generation (RAG) applications, answer quality depends on the data that you ingest. &lt;a href="https://aws.amazon.com/bedrock/knowledge-bases/" target="_blank" rel="noopener"&gt;Amazon Bedrock Knowledge Bases&lt;/a&gt; is the ful…
-&lt;p&gt;For web content, start with the &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-ds-webcrawler.html" target="_blank" rel="noopener"&gt;Amazon Bedrock Web Crawler&lt;/a&gt; data source connector for managed knowledge bases. You give it the seed URLs or sitemaps tha…
-&lt;p&gt;Some sources need more control over what reaches the knowledge base. You might want to index only the main content region of each page, remove navigation and other boilerplate, or attach your own metadata attributes to every document. For that class of source material, you can extend the re…
-&lt;p&gt;In this post, we show you how to choose the appropriate web ingestion path and implement custom preparation for content that needs additional processing. You then start ingestion into a managed knowledge base and validate retrieval quality. The companion &lt;a href="https://github.com/aws-s…
-&lt;p&gt;This is batch ingestion of known web properties, not real-time web access at inference time such as &lt;a href="https://docs.aws.amazon.com/nova/latest/nova2-userguide/web-grounding.html" target="_blank" rel="noopener"&gt;Web Grounding&lt;/a&gt; with Amazon Nova.&lt;/p&gt;
-&lt;h2 id="solution-overview"&gt;Solution overview&lt;/h2&gt;
-&lt;p&gt;Start with the &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-ds-webcrawler.html" target="_blank" rel="noopener"&gt;Amazon Bedrock Web Crawler&lt;/a&gt; when it can reach and index the pages you need. It respects &lt;code&gt;robots.txt&lt;/code&gt;, and after th…
-&lt;p&gt;Use the Crawl4AI preparation path when public source material needs one or more of the following before ingestion:&lt;/p&gt;
+ <description>Amazon Quick brings structured and unstructured data together in one experience. In this post, you connect Amazon S3 as a knowledge base, enrich a dataset, build a Space, and create a custom chat agent that answers business questions across both data types through a single conversa…
+ <content:encoded>&lt;p&gt;Organizations collect data in many forms. Structured data lives in databases and spreadsheets, whereas unstructured data sits in documents, reports, and files stored across file systems. Analyzing both together typically requires switching between multiple tools, …
+&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/quick/latest/userguide/welcome.html" target="_blank" rel="noopener"&gt;Amazon Quick&lt;/a&gt; addresses this with a unified experience. You can connect structured data through &lt;a href="https://docs.aws.amazon.com/quick/latest/userguide/working-with…
+&lt;p&gt;In this post, you learn how to:&lt;/p&gt;
&lt;ul&gt;
- &lt;li&gt;&lt;strong&gt;Structured Markdown preparation&lt;/strong&gt;: Use &lt;code&gt;DefaultMarkdownGenerator&lt;/code&gt; with a pruning content filter to reduce navigation and other boilerplate while preserving headings, lists, and tables. Because pruning is heuristic, review representative ou…
- &lt;li&gt;&lt;strong&gt;Bounded, targeted extraction&lt;/strong&gt;: Extract only the page region that an optional CSS selector matches. Constrain breadth-first traversal by seed origin, page/path/host scope, depth and page caps, and URL patterns.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Custom metadata&lt;/strong&gt;: Attach source URLs, crawl timestamps, content type, and your own attributes to each document, so that you can filter retrieval results on them.&lt;/li&gt;
+ &lt;li&gt;Connect Amazon Simple Storage Service (Amazon S3) as a data source and create a knowledge base.&lt;/li&gt;
+ &lt;li&gt;Build a Space that combines structured and unstructured data.&lt;/li&gt;
+ &lt;li&gt;Create and configure a custom chat agent that queries across both data types.&lt;/li&gt;
+ &lt;li&gt;Ask questions that span structured and unstructured sources in a single conversation.&lt;/li&gt;
&lt;/ul&gt;
-&lt;p&gt;Because managed and customer-managed knowledge bases both support Amazon S3 data sources, the Crawl4AI path works with either type. This post uses a managed knowledge base and notes where a customer-managed knowledge base differs.&lt;/p&gt;
-&lt;p&gt;The rest of this post follows the companion sample. Treat its architecture and defaults as a starting point, not as requirements of Amazon Bedrock Knowledge Bases.&lt;/p&gt;
-&lt;p&gt;By default, the sample runs the AWS Fargate task in a public subnet, where it reaches your configured websites through an internet gateway. Crawl4AI’s role ends once it has prepared the source documents and metadata sidecars. From ingestion onward, Amazon Bedrock Knowledge Bases handles par…
+&lt;h2 id="solution-architecture"&gt;Solution architecture&lt;/h2&gt;
+&lt;p&gt;The following diagram illustrates how each component connects to deliver a unified data experience through Amazon Quick.&lt;/p&gt;
&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
- &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-21438-1.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-21438-1.png" alt="Architecture diagram sh…
- &lt;p class="wp-caption-text"&gt;Figure 1: The Crawl4AI-to-Amazon S3 ingestion path for Amazon Bedrock Knowledge Bases&lt;/p&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-1.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-1.png" alt="Architecture diagram sh…
+ &lt;p class="wp-caption-text"&gt;Figure 1: Solution architecture for combining structured and unstructured data in Amazon Quick&lt;/p&gt;
&lt;/div&gt;
-&lt;p&gt;The numbered steps in the diagram map to the following workflow:&lt;/p&gt;
+&lt;p&gt;The architecture has three layers:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Data layer:&lt;/strong&gt; Your data exists in two forms. Unstructured content (documents, PDFs, reports) is stored in Amazon S3 and indexed through a knowledge base. Structured data (metrics, sales figures, and operational key performance indicators) is loaded as enriched d…
+ &lt;li&gt;&lt;strong&gt;Workspace layer:&lt;/strong&gt; A Space brings both data types together into a single workspace. The Space references your knowledge base for unstructured queries and your datasets for structured queries. It can also include dashboards, file uploads, and action connectors. T…
+ &lt;li&gt;&lt;strong&gt;Agent layer:&lt;/strong&gt; The custom chat agent links to the Space and uses it as its knowledge source. When a user asks a question, the agent determines whether to query the knowledge base, the dataset, or both, and returns a combined response with citations. Amazon Quick…
+&lt;/ul&gt;
+&lt;p&gt;With this layered approach, you can expand the solution over time. When you add a new data source to the Space, the agent linked to that Space can use it, and responses respect the permissions of the user who asks.&lt;/p&gt;
+&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
+&lt;p&gt;To follow along with this walkthrough, you need:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;An Amazon Quick account with an Enterprise subscription for the user who follows this walkthrough (creating datasets requires Enterprise). For details, see &lt;a href="https://aws.amazon.com/quick/pricing/" target="_blank" rel="noopener"&gt;Amazon Quick pricing&lt;/a&gt;.&lt;/li&gt;
+ &lt;li&gt;An Amazon S3 bucket for your business documents. To create one, see the &lt;a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html" target="_blank" rel="noopener"&gt;Amazon S3 User Guide&lt;/a&gt;.&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://docs.aws.amazon.com/quick/latest/userguide/s3-admin-setup.html#s3-grant-bucket-access" target="_blank" rel="noopener"&gt;Amazon Quick access to your S3 bucket&lt;/a&gt;, granted by an Amazon Quick administrator. In the admin console, the administrator chooses Permissio…
+ &lt;li&gt;Permissions to create integrations, knowledge bases, datasets, spaces, and chat agents in Amazon Quick.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h2 id="prepare-your-sample-data"&gt;Prepare your sample data&lt;/h2&gt;
+&lt;p&gt;This walkthrough uses two types of data:&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Unstructured documents: &lt;/strong&gt;Upload these to your Amazon S3 bucket for the knowledge base:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;a href="https://aws-blogs-artifacts-public.s3.us-east-1.amazonaws.com/BI-7992/AnyCompany_Business_Review.pdf" target="_blank" rel="noopener"&gt;AnyCompany_Business_Review.pdf&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://aws-blogs-artifacts-public.s3.us-east-1.amazonaws.com/BI-7992/AnyCompany_Market_Analysis_Report.pdf" target="_blank" rel="noopener"&gt;AnyCompany_Market_Analysis_Report.pdf&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="https://aws-blogs-artifacts-public.s3.us-east-1.amazonaws.com/BI-7992/AnyCompany_Product_Strategy_Memo.pdf" target="_blank" rel="noopener"&gt;AnyCompany_Product_Strategy_Memo.pdf&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;&lt;strong&gt;Structured data: &lt;/strong&gt;Download this file to your computer. You upload it directly to Amazon Quick in Step 3:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;a href="https://aws-blogs-artifacts-public.s3.us-east-1.amazonaws.com/BI-7992/Product_Sales.csv" target="_blank" rel="noopener"&gt;Product_Sales.csv&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h2 id="step-1-create-an-amazon-s3-integration"&gt;Step 1: Create an Amazon S3 integration&lt;/h2&gt;
+&lt;p&gt;Start by connecting Amazon Quick to your S3 bucket. From the Amazon Quick console, select &lt;strong&gt;Knowledge&lt;/strong&gt; in the left navigation panel.&lt;/p&gt;
+&lt;p&gt;The knowledge page shows available connector types, including Amazon Q Business, Web Crawler, Amazon S3, and third-party options like Google Drive, OneDrive, and Microsoft SharePoint.&lt;/p&gt;
+&lt;p&gt;Under Amazon S3, choose &lt;strong&gt;Add&lt;/strong&gt;. In the Create S3 knowledge base dialog, on the Connect S3 bucket page, provide the following details:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Name:&lt;/strong&gt; A descriptive name for your integration (for example, “My Data Access Integration”).&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;S3 bucket location:&lt;/strong&gt; Choose &lt;strong&gt;Quick Suite instance account&lt;/strong&gt; to use a bucket in the same AWS account as Amazon Quick, or &lt;strong&gt;Other AWS account&lt;/strong&gt; for a bucket in a different account.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;S3 bucket URL:&lt;/strong&gt; The S3 URI of the bucket containing your data. The bucket must be in the same Region as Amazon Quick.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;Choose &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-2.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-2.png" alt="Create S3 knowledge bas…
+ &lt;p class="wp-caption-text"&gt;Figure 2: Create integration dialog showing the S3 connection fields&lt;/p&gt;
+&lt;/div&gt;
+&lt;h2 id="step-2-create-a-knowledge-base"&gt;Step 2: Create a knowledge base&lt;/h2&gt;
+&lt;p&gt;After the S3 integration is created, Amazon Quick prompts you to create a knowledge base. The knowledge base indexes your S3 content for AI-powered search.&lt;/p&gt;
+&lt;p&gt;Configure the knowledge base:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Name:&lt;/strong&gt; “Business Knowledge Base”.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Description (optional):&lt;/strong&gt; Notes about how the knowledge base will be used.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Content:&lt;/strong&gt; Select “Add all content” to index everything in the connected S3 bucket, or “Add specific content” to specify the S3 prefixes for the folders and files to include (prefix filters are case-sensitive).&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;&lt;strong&gt;Next:&lt;/strong&gt; Additional settings opens optional settings for document-level access control lists (ACLs) and a metadata files folder. Decide whether to use ACLs before you create the knowledge base, because you can’t change that choice later. This walkthrough uses sampl…
+&lt;p&gt;Choose &lt;strong&gt;Create&lt;/strong&gt;. A success banner confirms the S3 integration, and the knowledge base begins indexing in the background.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-3.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-3.png" alt="Create knowledge base d…
+ &lt;p class="wp-caption-text"&gt;Figure 3: Create knowledge base dialog with the Business Knowledge Base name and content options&lt;/p&gt;
+&lt;/div&gt;
+&lt;h2 id="step-3-create-and-enrich-a-dataset"&gt;Step 3: Create and enrich a dataset&lt;/h2&gt;
+&lt;p&gt;A &lt;a href="https://docs.aws.amazon.com/quick/latest/userguide/working-with-datasets.html" target="_blank" rel="noopener"&gt;dataset&lt;/a&gt; is your structured data file loaded into Amazon Quick. By enriching the dataset with semantic descriptions, custom instructions, and correct data …
+&lt;h3 id="create-the-dataset"&gt;Create the dataset&lt;/h3&gt;
&lt;ol type="1"&gt;
- &lt;li&gt;Amazon EventBridge starts the Amazon Elastic Container Service (Amazon ECS) task on AWS Fargate on the configured schedule.&lt;/li&gt;
- &lt;li&gt;The task crawls the public websites you configured and prepares Markdown with a metadata sidecar for each page.&lt;/li&gt;
- &lt;li&gt;The task uploads the prepared files to the Amazon S3 bucket that backs the knowledge base data source.&lt;/li&gt;
- &lt;li&gt;The task starts an Amazon Bedrock Knowledge Bases ingestion job.&lt;/li&gt;
- &lt;li&gt;Amazon Bedrock Knowledge Bases reads the new and changed objects, parses them, and applies the chunking strategy you selected.&lt;/li&gt;
- &lt;li&gt;It creates embeddings and indexes them in the knowledge base’s vector store, which Amazon Bedrock manages for a managed knowledge base.&lt;/li&gt;
- &lt;li&gt;Your generative AI application queries the knowledge base for relevant chunks or for a generated response with citations.&lt;/li&gt;
+ &lt;li&gt;From the Amazon Quick home page, navigate to &lt;strong&gt;Data&lt;/strong&gt; in the left navigation.&lt;/li&gt;
+ &lt;li&gt;Choose &lt;strong&gt;Create dataset&lt;/strong&gt;, then select &lt;strong&gt;Upload file&lt;/strong&gt;.&lt;/li&gt;
+ &lt;li&gt;Select the &lt;strong&gt;Product_Sales.csv&lt;/strong&gt; file you downloaded earlier and choose &lt;strong&gt;Open&lt;/strong&gt;.&lt;/li&gt;
+ &lt;li&gt;On the confirmation screen, review the column names and data types. Choose &lt;strong&gt;Next&lt;/strong&gt; to create the dataset.&lt;/li&gt;
&lt;/ol&gt;
-&lt;p&gt;The task reads its non-secret pipeline configuration from AWS Systems Manager Parameter Store at startup.&lt;/p&gt;
-&lt;p&gt;The workflow processes public pages only and doesn’t implement authenticated sessions. For sites that require sign-in, evaluate the &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-ds-webcrawler.html" target="_blank" rel="noopener"&gt;Amazon Bedrock Web Crawler au…
-&lt;h2 id="how-the-workflow-works"&gt;How the workflow works&lt;/h2&gt;
-&lt;p&gt;The AWS Cloud Development Kit (AWS CDK) app packages the implementation in a container image during deployment. When the schedule fires, the container runs &lt;code&gt;scripts/container_entrypoint.py&lt;/code&gt; and executes crawl, upload, and ingestion in sequence. The following three ste…
-&lt;h3 id="step-1-crawl-and-extract-content"&gt;Step 1: Crawl and extract content&lt;/h3&gt;
-&lt;p&gt;The crawl step performs bounded crawling and writes a Markdown file with a metadata sidecar for each successfully prepared page. The following excerpt is simplified. The module &lt;code&gt;src/crawl4ai_bedrock_kb/crawl.py&lt;/code&gt; contains the complete seed pacing, URL filtering and sco…
+&lt;p&gt;Amazon Quick ingests the file into SPICE (the in-memory calculation engine) and the dataset appears in your dataset list.&lt;/p&gt;
+&lt;p&gt;The dataset takes its name from the uploaded file, so it appears as Product_Sales.csv in your account.&lt;/p&gt;
+&lt;h3 id="enrich-the-dataset"&gt;Enrich the dataset&lt;/h3&gt;
+&lt;p&gt;Enriching your dataset with semantic information helps the AI understand your data in business context. The agent uses this context to translate natural language questions into more accurate SQL queries. From the dataset page, choose &lt;strong&gt;Edit dataset&lt;/strong&gt; to enter the da…
+&lt;h3 id="transform-fix-data-types"&gt;Transform: Fix data types&lt;/h3&gt;
+&lt;p&gt;In the &lt;strong&gt;Transform&lt;/strong&gt; tab, update data types for columns that were auto-detected incorrectly. For this dataset:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Change &lt;strong&gt;Order Date&lt;/strong&gt; and &lt;strong&gt;Date Key&lt;/strong&gt; from String to Date.&lt;/li&gt;
+ &lt;li&gt;Change &lt;strong&gt;Customer ID&lt;/strong&gt; from String to Integer.&lt;/li&gt;
+ &lt;li&gt;Change &lt;strong&gt;Sales&lt;/strong&gt;, &lt;strong&gt;Discount&lt;/strong&gt;, and &lt;strong&gt;Profit&lt;/strong&gt; from String to Decimal.&lt;/li&gt;
+ &lt;li&gt;Change &lt;strong&gt;Quantity&lt;/strong&gt; and &lt;strong&gt;Unit Price&lt;/strong&gt; from String to Integer.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-4.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-4.png" alt="Transform tab showing d…
+ &lt;p class="wp-caption-text"&gt;Figure 4: Transform view showing data type changes applied to the Product_Sales.csv dataset&lt;/p&gt;
+&lt;/div&gt;
+&lt;h3 id="output-add-semantic-context"&gt;Output: Add semantic context&lt;/h3&gt;
+&lt;p&gt;Select the &lt;strong&gt;Output&lt;/strong&gt; tab to access the dataset-level enrichment fields. Here you provide context that helps the AI understand what your data represents and how to use it.&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Add a dataset-level description:&lt;/p&gt;
+&lt;p&gt;“Product sales transaction data for AnyCompany, covering orders from FY2024-FY2025 across North America, EMEA, Asia Pacific, and Latin America. Includes order details, customer information, product lines, and revenue metrics.”&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Custom instructions:&lt;/strong&gt; Add guidance for how the AI should query this data:&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;USAGE GUIDELINES:&lt;/strong&gt;&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Revenue values are in USD.&lt;/li&gt;
+ &lt;li&gt;When comparing performance, group by Region (North America, EMEA, Asia Pacific, Latin America).&lt;/li&gt;
+ &lt;li&gt;Order Date should be used for time-based trend analysis. The fiscal year matches the calendar year.&lt;/li&gt;
+ &lt;li&gt;Date Key is a numeric YYYYMMDD representation of Order Date.&lt;/li&gt;
+ &lt;li&gt;Sales = Quantity x Unit Price x (1 – Discount)&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;&lt;strong&gt;COMMON USE CASES:&lt;/strong&gt;&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Regional sales performance comparison.&lt;/li&gt;
+ &lt;li&gt;Product line revenue analysis.&lt;/li&gt;
+ &lt;li&gt;Quarterly trend identification.&lt;/li&gt;
+ &lt;li&gt;Customer segmentation by industry and segment.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;&lt;strong&gt;TAGS:&lt;/strong&gt; Sales, revenue, orders, regional performance, product analytics&lt;/p&gt;
+&lt;p&gt;&lt;strong&gt;Column descriptions:&lt;/strong&gt; Select each column in the left panel and add a description. For example:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;Order ID: “Unique identifier for each sales transaction (format: &lt;code&gt;REGION-YYYY-NNNNNN&lt;/code&gt;)”&lt;/li&gt;
+ &lt;li&gt;Region: “Geographic sales region: North America, EMEA, Asia Pacific, or Latin America”&lt;/li&gt;
+ &lt;li&gt;Product: “AnyCompany product name: Analytics Pro, Connect, Automate, AI Assistant, Data Catalog, or Integration Hub”&lt;/li&gt;
+ &lt;li&gt;Sales: “Order revenue in USD after discount”&lt;/li&gt;
+ &lt;li&gt;Segment: “Customer size segment: Enterprise, Mid-Market, or SMB”&lt;/li&gt;
+&lt;/ul&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-5.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-5.png" alt="Output tab showing the …
+ &lt;p class="wp-caption-text"&gt;Figure 5: Output view showing dataset details with Description and Custom instructions configured&lt;/p&gt;
+&lt;/div&gt;
+&lt;p&gt;Choose &lt;strong&gt;Save &amp;amp; publish&lt;/strong&gt; to save your changes. The dataset summary now shows the columns with their correct data types and the descriptions you added.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-6.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-6.png" alt="Enriched Product_Sales.…
+ &lt;p class="wp-caption-text"&gt;Figure 6: Enriched Product_Sales.csv dataset summary showing all 16 columns, data types, and descriptions&lt;/p&gt;
+&lt;/div&gt;
+&lt;p&gt;This enriched dataset provides the structured data layer for your solution. When the agent receives a natural language question about sales data, it uses these descriptions and instructions to generate more accurate SQL queries. Combined with the knowledge base from Step 2, you now have bot…
+&lt;h2 id="step-4-create-a-space"&gt;Step 4: Create a Space&lt;/h2&gt;
+&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/quick/latest/userguide/working-with-spaces.html" target="_blank" rel="noopener"&gt;Spaces&lt;/a&gt; in Amazon Quick act as unified data workspaces. A Space can hold file uploads, dashboards, knowledge bases, actions, and datasets, giving your chat age…
+&lt;p&gt;From the left navigation, select &lt;strong&gt;Spaces&lt;/strong&gt; and create a new Space. Name it “Business Intelligence Hub”.&lt;/p&gt;
+&lt;p&gt;Add your knowledge base and dataset to the Space:&lt;/p&gt;
+&lt;ol type="1"&gt;
+ &lt;li&gt;Choose &lt;strong&gt;Add knowledge&lt;/strong&gt; and select &lt;strong&gt;Knowledge bases&lt;/strong&gt; from the list. Select “Business Knowledge Base” from the list.&lt;/li&gt;
+ &lt;li&gt;Choose &lt;strong&gt;Add knowledge&lt;/strong&gt; again and select &lt;strong&gt;Datasets&lt;/strong&gt; from the list. Select “Product_Sales.csv” from the list.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;p&gt;The Space now shows both your knowledge base (unstructured documents) and your enriched dataset (structured sales data) linked as data sources. This is the central hub where both data types come together, giving your chat agent a single place to query across everything. Figure 7 shows the S…
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-7.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-7.png" alt="Business Intelligence H…
+ &lt;p class="wp-caption-text"&gt;Figure 7: Business Intelligence Hub Space showing the Product_Sales.csv dataset and Business Knowledge Base&lt;/p&gt;
+&lt;/div&gt;
+&lt;h2 id="step-5-create-a-custom-chat-agent"&gt;Step 5: Create a custom chat agent&lt;/h2&gt;
+&lt;p&gt;Navigate to &lt;strong&gt;Chat agents&lt;/strong&gt; in the left navigation and choose &lt;strong&gt;Create chat agent&lt;/strong&gt;. Amazon Quick presents a prompt builder where you can describe your agent in natural language or choose from templates like Training Guide, Project Coordinat…
+&lt;p&gt;For this walkthrough, choose &lt;strong&gt;Skip&lt;/strong&gt; to configure the agent manually.&lt;/p&gt;
+&lt;div style="width: 702px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-8.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-8.png" alt="Chat agent creation scr…
+ &lt;p class="wp-caption-text"&gt;Figure 8: Chat agent creation screen with the prompt builder and sample templates&lt;/p&gt;
+&lt;/div&gt;
+&lt;h3 id="configure-the-agent-persona"&gt;Configure the agent persona&lt;/h3&gt;
+&lt;p&gt;The configuration panel has several sections. Start with the Agent Persona:&lt;/p&gt;
+&lt;ul&gt;
+ &lt;li&gt;&lt;strong&gt;Agent identity:&lt;/strong&gt; “Business Intelligence Assistant”&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Description:&lt;/strong&gt; “An AI assistant that breaks down information silos by analyzing business data from your knowledge base”&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;For Agent Persona instructions, enter:&lt;/p&gt;
&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-python"&gt;async def crawl_and_prepare(config: PipelineConfig, output_dir: str) -&amp;gt; list[str]:
- written, seen = [], set()
- pages_crawled = 0
- browser_config = BrowserConfig(headless=True, java_script_enabled=True)
-
- async with AsyncWebCrawler(config=browser_config) as crawler:
- for seed in config.seed_urls:
- remaining = config.crawl.max_pages - pages_crawled
- if remaining &amp;lt;= 0:
- break
-
- strategy = BFSDeepCrawlStrategy(
- max_depth=config.crawl.max_depth,
- max_pages=remaining,
- filter_chain=FilterChain([
- SeedScopeFilter(seed, config.crawl.scope),
- # Optional include/exclude URLPatternFilter objects are added here.
- ]),
- )
- run_config = CrawlerRunConfig(
- deep_crawl_strategy=strategy,
- markdown_generator=DefaultMarkdownGenerator(
- content_filter=PruningContentFilter()
- ),
- css_selector=config.crawl.css_selector, # Optional page region.
- check_robots_txt=config.crawl.check_robots_txt,
- mean_delay=config.crawl.request_delay_seconds,
- max_range=0,
- semaphore_count=1,
- )
-
- results = await crawler.arun(url=seed, config=run_config)
- for result in results:
- if pages_crawled &amp;gt;= config.crawl.max_pages:
- break
- pages_crawled += 1
- requested_url = result.url
- source_url = getattr(result, "redirected_url", None) or requested_url
- if not SeedScopeFilter(seed, config.crawl.scope).apply(source_url):
- continue # Recheck the effective destination after redirects.
- canonical = _canonical_url(source_url)
- if canonical in seen:
- continue
- seen.add(canonical)
- if not result.success or not result.markdown:
- continue
+ &lt;pre&gt;&lt;code class="language-plaintext"&gt;You are a Business Intelligence Assistant designed to help organizations break down information silos. Your primary functions are:
- md_result = result.markdown
- markdown = (
- getattr(md_result, "fit_markdown", None)
- or getattr(md_result, "raw_markdown", None)
- or (md_result if isinstance(md_result, str) else "")
- )
- if not markdown:
- continue
+1. Analyze business data stored in S3
+2. Retrieve relevant findings from the reports and memos in the knowledge base
+3. Provide comprehensive insights that connect internal data with external trends
+4. Generate clear, actionable recommendations based on data analysis
- # The complete implementation adds title, crawl timestamps, content
- # type, and configured custom attributes to this metadata.
- written.extend(
- _write_document(
- output_dir,
- _base_name(source_url),
- markdown,
- {"source_url": source_url},
- )
- )
- return written&lt;/code&gt;&lt;/pre&gt;
+When answering questions, always cite your sources and explain how you arrived at your conclusions. Focus on delivering practical business value and highlighting patterns across different information sources.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
-&lt;p&gt;Amazon Bedrock Knowledge Bases supports &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html" target="_blank" rel="noopener"&gt;several document formats&lt;/a&gt; for Amazon S3 data sources, including plain text, HTML, Markdown, PDF, and DOCX. The workflow…
-&lt;h3 id="step-2-upload-to-amazon-s3"&gt;Step 2: Upload to Amazon S3&lt;/h3&gt;
-&lt;p&gt;The upload step sends each prepared Markdown document and its matching metadata sidecar to the configured S3 bucket, under the workflow’s &lt;code&gt;s3Prefix&lt;/code&gt;. For &lt;code&gt;page.md&lt;/code&gt;, the sidecar must be named &lt;code&gt;page.md.metadata.json&lt;/code&gt;, the co…
-&lt;p&gt;Each attribute in the sidecar uses the typed format that both managed and customer-managed knowledge bases accept for Amazon S3 data sources. The following abbreviated sidecar, formatted for readability, shows three of the attributes that the workflow writes:&lt;/p&gt;
-&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-json"&gt;{
- "metadataAttributes": {
- "source_url": {
- "value": {"type": "STRING", "stringValue": "https://www.example.com/services/permits"}
- },
- "crawled_at_epoch": {
- "value": {"type": "NUMBER", "numberValue": 1790640000}
- },
- "content_category": {
- "value": {"type": "STRING", "stringValue": "web"}
- }
- }
-}&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;A note appears confirming that your chat agent comes equipped with enterprise guardrails.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-9.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-9.png" alt="Agent persona configura…
+ &lt;p class="wp-caption-text"&gt;Figure 9: Agent persona configuration with identity and persona instructions filled in&lt;/p&gt;
&lt;/div&gt;
-&lt;p&gt;The pipeline uploads only the paths produced by the current crawl, so stale local files are not sent.&lt;/p&gt;
-&lt;h3 id="step-3-let-amazon-bedrock-knowledge-bases-chunk-embed-and-index"&gt;Step 3: Let Amazon Bedrock Knowledge Bases chunk, embed, and index&lt;/h3&gt;
-&lt;p&gt;After content is in S3, an ingestion job hands each document to the data source’s ingestion pipeline. By default, a managed knowledge base parses each file with its managed parser, which automatically selects a parsing approach for your content. You select the chunking strategy when you con…
+&lt;h3 id="set-communication-style"&gt;Set communication style&lt;/h3&gt;
+&lt;p&gt;Under Communication style, pick a response style preset. Options include Executive, Technical, and Creative. For a business intelligence use case, select &lt;strong&gt;Executive&lt;/strong&gt;.&lt;/p&gt;
+&lt;h3 id="link-knowledge-sources"&gt;Link knowledge sources&lt;/h3&gt;
+&lt;p&gt;Under &lt;strong&gt;Knowledge Sources&lt;/strong&gt;, choose &lt;strong&gt;Link spaces&lt;/strong&gt; and select the “Business Intelligence Hub” Space you created earlier. This gives the agent access to your S3 knowledge base and other data sources in that Space. When you link a Space, the …
+&lt;p&gt;You can also attach reference documents (PDF, TXT, HTML, MD, CSV, DOC, DOCX) directly to the agent for additional context. Amazon Quick extracts up to 100,000 characters of text from the reference documents that you upload.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-10.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-10.png" alt="Knowledge Sources sec…
+ &lt;p class="wp-caption-text"&gt;Figure 10: Knowledge Sources section showing the linked Business Intelligence Hub Space&lt;/p&gt;
+&lt;/div&gt;
+&lt;h3 id="customize-the-agent"&gt;Customize the agent&lt;/h3&gt;
+&lt;p&gt;Under Customization, configure:&lt;/p&gt;
&lt;ul&gt;
- &lt;li&gt;&lt;strong&gt;Default chunking&lt;/strong&gt; uses fixed-size chunks of 300 tokens with 20 percent overlap.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Fixed-size chunking&lt;/strong&gt; splits content by a maximum token count and an overlap percentage that you set.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;No chunking&lt;/strong&gt; treats each file as a single chunk, for content that you have already split.&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Welcome message:&lt;/strong&gt; “Hello! I’m your Business Intelligence Assistant. I can help you analyze your sales data and business documents and provide insights by comparing internal information with market trends. How can I help you today?”&lt;/li&gt;
+ &lt;li&gt;&lt;strong&gt;Suggested prompts:&lt;/strong&gt; “Summarize key insights from our reports” and “Analyze our quarterly sales performance”&lt;/li&gt;
&lt;/ul&gt;
-&lt;p&gt;Chunk boundaries and retrieval results depend on the content and the selected strategy, so compare the options with representative pages and evaluation questions. To change strategies later, create a new data source. For more information, see &lt;a href="https://docs.aws.amazon.com/bedrock/…
-&lt;p&gt;The workflow then starts an ingestion job so the knowledge base processes the new documents. The following simplified excerpt from &lt;code&gt;src/crawl4ai_bedrock_kb/ingest.py&lt;/code&gt; shows the call:&lt;/p&gt;
-&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-python"&gt;def start_ingestion_job(config: PipelineConfig) -&amp;gt; str:
- # Start an Amazon Bedrock knowledge base ingestion job and return its ID.
- client = boto3.client("bedrock-agent", region_name=config.region)
- response = client.start_ingestion_job(
- knowledgeBaseId=config.knowledge_base_id,
- dataSourceId=config.data_source_id,
- )
- return response["ingestionJob"]["ingestionJobId"]&lt;/code&gt;&lt;/pre&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-11.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-11.png" alt="Customization section…
+ &lt;p class="wp-caption-text"&gt;Figure 11: Customization section with the welcome message and suggested prompts&lt;/p&gt;
&lt;/div&gt;
-&lt;p&gt;The same &lt;code&gt;StartIngestionJob&lt;/code&gt; and &lt;code&gt;GetIngestionJob&lt;/code&gt; calls work for both knowledge base types, and you can also monitor progress on the console.&lt;/p&gt;
-&lt;h2 id="deploy-the-solution"&gt;Deploy the solution&lt;/h2&gt;
-&lt;p&gt;In this section, you deploy the workflow into your AWS account with AWS CDK. Only the knowledge base prerequisites differ between the two knowledge base types. When you’re finished, follow the steps in the Clean up section to remove the resources.&lt;/p&gt;
-&lt;h3 id="prerequisites"&gt;Prerequisites&lt;/h3&gt;
-&lt;p&gt;Before you start, make sure that you have:&lt;/p&gt;
+&lt;h3 id="launch-the-agent"&gt;Launch the agent&lt;/h3&gt;
+&lt;p&gt;Choose &lt;strong&gt;Launch chat agent&lt;/strong&gt;. The right panel shows a live preview of your agent with the welcome message and suggested prompts displayed.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-12.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-12.png" alt="Launched Business Int…
+ &lt;p class="wp-caption-text"&gt;Figure 12: Launched Business Intelligence Assistant with the welcome message and suggested prompts in the chat panel&lt;/p&gt;
+&lt;/div&gt;
+&lt;h2 id="step-6-query-across-structured-and-unstructured-data"&gt;Step 6: Query across structured and unstructured data&lt;/h2&gt;
+&lt;p&gt;With the agent running, start with a question about your business results:&lt;/p&gt;
+&lt;p&gt;How did sales change by region in 2025?&lt;/p&gt;
+&lt;p&gt;For this question, the agent combines results from the Product_Sales.csv dataset with the documents in the S3 knowledge base. It returns a response with regional sales breakdowns, trends, and citations that point back to each source.&lt;/p&gt;
+&lt;p&gt;Figure 13 shows the response. Each citation marker links a figure back to its source document.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-13.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-13.png" alt="Chat agent response w…
+ &lt;p class="wp-caption-text"&gt;Figure 13: Chat agent response showing regional sales analysis from the dataset and the knowledge base documents&lt;/p&gt;
+&lt;/div&gt;
+&lt;p&gt;When you ask a question about structured data, the agent uses text-to-SQL to translate your natural language into a SQL query. It runs the query against the dataset and returns the results in a readable format. This means you can ask complex analytical questions without writing SQL yourself…
+&lt;p&gt;Next, ask about a specific document:&lt;/p&gt;
+&lt;p&gt;What are the key strategic priorities outlined in our product strategy memo?&lt;/p&gt;
+&lt;p&gt;The agent summarizes the strategic pillars, the FY2026 roadmap, and the investment requirements from the Product Strategy Memo, as shown in Figure 14.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-14.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-14.png" alt="Chat agent response s…
+ &lt;p class="wp-caption-text"&gt;Figure 14: Chat agent response summarizing strategic priorities from the Product Strategy Memo&lt;/p&gt;
+&lt;/div&gt;
+&lt;p&gt;Finally, ask a question that needs both data types:&lt;/p&gt;
+&lt;p&gt;How do our 2025 sales results align with the market trends identified in our analysis report?&lt;/p&gt;
+&lt;p&gt;The agent compares the trends in the Market Analysis Report with results from your sales data and cites each source, as shown in Figure 15.&lt;/p&gt;
+&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-15.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/10/27/ML-22035-15.png" alt="Chat agent response t…
+ &lt;p class="wp-caption-text"&gt;Figure 15: Chat agent response comparing 2025 sales results with market trends from the Market Analysis Report&lt;/p&gt;
+&lt;/div&gt;
+&lt;p&gt;This is the core value of combining data types in a single Space. The agent can pull from structured CSV data and unstructured documents in the same response. You don’t need to know where the data lives.&lt;/p&gt;
+&lt;h2 id="step-7-generate-artifacts-and-reports-using-natural-language"&gt;Step 7: Generate artifacts and reports using natural language&lt;/h2&gt;
+&lt;p&gt;The Business Intelligence Assistant can also generate formatted documents, including Microsoft PowerPoint presentations, Microsoft Excel spreadsheets, and Microsoft Word documents. Try these prompts in the chat agent:&lt;/p&gt;
&lt;ul&gt;
- &lt;li&gt;An AWS account.&lt;/li&gt;
- &lt;li&gt;One of the following knowledge bases:
- &lt;ul&gt;
- &lt;li&gt;&lt;strong&gt;A managed knowledge base&lt;/strong&gt;, which this post uses, in an AWS Region where &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-regions.html" target="_blank" rel="noopener"&gt;managed knowledge bases are available&lt;/a&gt;. For instructio…

Diff display stops at 400 lines. The line counts above are from the whole diff. 47 lines shown here cut at 300 characters. The raw artifact at this commit is linked above.