Report Generation Engine#
Overview#

This Solution Blueprint illustrates how automated technical report generation can be implemented using AIMs. It employs a multi-stage LLM workflow with integrated web research, where the system plans, researches, writes, and compiles content to produce comprehensive, evidence-based technical documents on any topic.
The blueprint follows a four-stage pipeline:
Planning: Generates search queries and creates a section outline
Research: Conducts parallel web searches via the Tavily API
Writing: Generates content for each section using the gathered research
Compilation: Assembles the final markdown report with introduction and conclusion
AMD Solution Blueprints are packaged as Helm charts for deployment on a Kubernetes cluster. For development or further exploration, the source code is public and available in the Solution Blueprints GitHub repository.
Architecture#
The blueprint integrates a Streamlit web UI, a FastAPI backend, an AIM LLM service, and Tavily web search. LangChain orchestrates the multi-stage workflow across planning, research, writing, and compilation.
Component |
Role |
|---|---|
Streamlit |
Web-based user interface |
FastAPI |
REST API backend |
AIM (LLM) |
Technical writing and synthesis (default: Llama 3.3 70B Instruct) |
LangChain |
Orchestration of LLM calls |
Tavily API |
Web search for research integration |
Key Features#
Generates comprehensive technical reports on any user-provided topic
Users can customize the report structure or use intelligent defaults
Real-time progress tracking shows each stage of the generation process
Web research results are automatically integrated and cited in the final report
Getting Started#
This is a quick start guide on how to deploy the blueprint. For advanced options, such as reusing an existing AIM, configuring search parameters, or overriding storage classes, see Deploying Solution Blueprints with Helm or explore the advanced deployment guide.
Prerequisites#
System Requirements#
This blueprint can be deployed on AMD Instinct (default), AMD Radeon, and AMD EPYC. The blueprint requires the following cluster resources by default, depending on the hardware being used:
Resource |
Instinct |
Radeon |
EPYC |
|---|---|---|---|
GPUs |
1 |
1 |
— |
CPUs |
2 CPU cores |
2 CPU cores |
189 CPU cores |
RAM |
68 Gi |
36 Gi |
132 Gi |
To deploy to the Kubernetes cluster, ensure the following prerequisites are met:
kubectl: Installed and configured to communicate with the cluster
Helm 3.17 or higher: Installed on your local machine
Tavily API key for web search integration (free tier: 1,000 requests/month)
Deployment#
For advanced deployment options, explore the advanced deployment guide. Solution Blueprints are packaged as OCI-compliant Helm charts in the Docker Hub registry and can be deployed to a Kubernetes cluster with a single command. Define the name (deployment name) and namespace (Kubernetes namespace), set config.tavily.apiKey to your Tavily API key, then pipe the output of helm template to kubectl apply -f -.
Find the deployment command below.
Note: You can create a namespace using kubectl create namespace <my-namespace>.
name="my-deployment"
namespace="my-namespace"
helm template $name oci://registry-1.docker.io/amdenterpriseai/aimsb-report-generation-engine \
--set config.tavily.apiKey=tvly-your-key-here \
| kubectl apply -f - -n $namespace
EPYC runs the model on CPU (gpus=0, bf16, AIM_ALLOW_UNOPTIMIZED=true), sized via llm.cpus/llm.memory. The default EPYC AIM is a gated image, so provide a Hugging Face token through a Secret.
name="my-deployment"
namespace="my-namespace"
kubectl create namespace $namespace
kubectl create secret generic hf-token --from-literal=hf-token=<YOUR_HF_TOKEN> -n $namespace
helm pull oci://registry-1.docker.io/amdenterpriseai/aimsb-report-generation-engine --untar
helm template $name ./aimsb-report-generation-engine \
--set config.tavily.apiKey=tvly-your-key-here \
--set global.platform=epyc \
--set llm.cpus=188 \
--set llm.memory=128 \
--set llm.env_vars.HF_TOKEN.name=hf-token \
--set llm.env_vars.HF_TOKEN.key=hf-token \
| kubectl apply -f - -n $namespace
Performance note: On multi-socket EPYC nodes, configure the kubelet for NUMA alignment (CPU Manager
static, Topology Managersingle-numa-node, Memory ManagerStatic); otherwise the LLM’s CPUs and memory can land on different NUMA nodes and vLLM runs effectively single-threaded.
name="my-deployment"
namespace="my-namespace"
helm template $name oci://registry-1.docker.io/amdenterpriseai/aimsb-report-generation-engine \
--set config.tavily.apiKey=tvly-your-key-here \
--set global.platform=radeon \
| kubectl apply -f - -n $namespace
Verify Deployment#
To check the status of the deployment, run:
kubectl get pods -n $namespace
Wait until all pods report Running and Ready.
Connect to UI#
To connect to the UI, port-forward to 8501. The UI will then be available at http://localhost:8501 in your browser.
kubectl port-forward services/aimsb-report-generation-engine-${name} 8501:8501 -n $namespace
Enter a topic, optionally customize the report structure, and start generation. Progress is shown for each pipeline stage.
Clean Up#
When you are finished, remove the deployed resources using the same deployment command, with kubectl delete instead of kubectl apply. For example, for Instinct use the following command:
helm template $name oci://registry-1.docker.io/amdenterpriseai/aimsb-report-generation-engine \
| kubectl delete -f - -n $namespace
Third-party Components#
This Solution Blueprint utilizes multiple components. For third-party license information, refer to each component’s documentation. Key third-party components are listed below.
Component |
License |
|---|---|
FastAPI |
MIT |
LangChain |
MIT |
Streamlit |
Apache 2.0 |
Tavily API: Web search API for research integration
Website: https://tavily.com
Terms of Use: https://tavily.com/terms-of-service
License: Commercial API service; requires API key
Terms of Use#
AMD Solution Blueprints are released under the MIT License, which governs the parts of the software and materials created by AMD. Third-party software and materials used within the Solution Blueprints are governed by their respective licenses.