Amazon Q Business: Capabilities and Limitations
Sample Apps
I built 4 Amazon Q apps with different capabilities
App 1: A course search Q App that ingests courses in PDF and mp4 format.
- The mp4 is converted to txt using Amazon Transcribe. There is Amazon Transcribe model tuning process to convert specific wording into right format (e.g. asn -> ASIN)
- The PDFs and txt are then uploaded into S3. The metadata files are also uploaded into the same S3 path. As Amazon Q’s knowledge connector is using Kendra, the metadata file is following the Kendra metadata format and uploaded into the same S3.
- Trigger the sync of Amazon Q Data Connector with S3 as the source. The sync can be adhoc or with time interval as granular as hourly.
- Create an Amazon Q App, with an Input Card of query body, and an Output Card of course search results, with formatting.
- Expose the Q App Url as iframe embedding into my website.
Challenges faced during our testing process (on 04/07/2025)
- Auth issue: when auth token expires, customer ends up in the main page. This is a known issue in Amazon Q businss side as they do not preserve the # suffix between redirects. This issue can be mitigated during iframe integration.
- Tune the search result to prioritize the course rank that has more relavance.
- The search did not return stable result. Can the configuration like top p, top k and temparature be configured.
- Hyperlink from the search result is broken. It is prefixed by Q Web Experience url.
- How to isolate this search knowledge from other use cases, by knowledge plugin, or knowledge source ACL.
Q Plugin enhancement
I tried to extend custom plugin’s capability by integrating with reasoning model. It is done by Q plugin -> OpenAPI schema -> API Gateway -> Lambda -> DeepSeek model hosted in Bedrock serverless mode
During develop testing, there were 2 issues: (1) The DeepSeek R1 model API call latency varys between 30 seconds to 90 seconds, which can result in Q App run timeout. (2) The DeepSeek R1 model reasoning output prompt did not show up in the Q output. It was simplified by Q orchestration layer.
We are adding another method for reasoning
Can and Cannot
What Q App can do
- Compare metrics against benchmark thresholds to identify normal vs. outlier performance
- Execute multi-branch decision tree analysis based on conditional logic
- Consolidate findings from multiple analysis paths card input and remove duplicates
- Apply simple logic to make data-driven decisions
What Q App (without native QuickSight) may not be able to do well
- Given source data from API, ask Q App itself to do advanced SQL operation like grouping and aggregation with multiple dimensions
- Handle large datasets that require specialized processing. For example, the custom plugin behind API Gateway has payload limit of 10 MB.
- Handle very complex workflow with too many steps and long duration. One Q App has 20 cards quota limit. The auth token will expire after 1 hour
Comments