-
Notifications
You must be signed in to change notification settings - Fork 439
feat(marketing-agent): Implement multi-agent marketing system with memory capabilities and Streamlit UI #437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…mory capabilities Add a comprehensive marketing agent system that leverages AWS Bedrock and Strands framework to: - Create a dynamic task planning and execution workflow - Implement specialized agents for research, SQL, Python analysis, and report generation - Integrate persistent memory capabilities using mem0_memory - Add web search functionality via Tavily API - Support SQLite database queries for customer data analysis - Include quality assurance through reflection agent - Generate professional markdown reports with visualizations The system features a rich CLI interface with progress indicators, parallel task execution, and automatic memory management for user preferences and business context.
…ailed tasks due to type mismatch during research phase
… agent - Add .bedrock_agentcore.yaml configuration for runtime deployment - Add iam.py for AgentCore IAM role creation and runtime setup - Update utils.py with enhanced AgentCore role permissions and Cognito setup Cherry-picked from commits: - 37c2479: Implemented AgentCore Runtime - 00e4ea7: Type mismatch error fixes - 1d94143: Merge branch updates
- Add comprehensive README.md with architecture overview, setup instructions, and usage examples - Update requirements.txt with latest versions and proper dependencies - Enhance .gitignore with comprehensive exclusions for development and runtime files - Add .env.example template with all required configuration options - Include AgentCore Runtime deployment instructions and memory integration details - Reference architecture.png for visual system overview
- Converted single agent to multi-agent orchestrator following Strands 'agent as tools' philosophy - Added workflow tool for coordinating specialized agents (planner, researcher, python, report, etc.) - Implemented proper task dependency management and parallel execution - Enhanced system prompt with workflow usage examples and decision framework - Aligned implementation with README documentation for true multi-agent architecture - Added support for complex marketing research workflows with specialist coordination
…pattern - Created real Agent objects for each specialist (planner, researcher, python, text2sql, report, reflection) - Implemented Strands 'agents as tools' pattern with @tool decorators - Added proper tool integration for each agent (web tools, python_repl, file_write, etc.) - Updated orchestrator to use agent tools instead of workflow tool - Followed Strands documentation patterns for multi-agent coordination - Each agent now has focused system prompts and appropriate tool access - Enables true multi-agent collaboration with task management approach
- Fixed Generated Reports section to look in output/reports/ directory instead of output/ - Updated render_markdown_with_images function to handle various image path formats - Added support for both ./path and output/path image references - Improved image path resolution with better error messages - Now properly displays generated marketing reports in the sidebar - Images in reports should now render correctly in the preview
- Restored 01-tutorials/03-AgentCore-identity/05-Outbound_Auth_3lo/chatbot_app_cognito.py to original version - Removed unintended changes that were included in previous commits - This file should not have been modified as part of marketing-researcher-agent work
- Restored 02-use-cases/video-games-sales-assistant/agentcore-strands-data-analyst-assistant/app.py to original version - Removed unintended changes that were included in previous commits - This file should not have been modified as part of marketing-researcher-agent work
response = requests.post( | ||
st.session_state.agent_url, json=payload, stream=True, timeout=300 | ||
) |
Check failure
Code scanning / CodeQL
Full server-side request forgery Critical
user-provided value
# Extract tool info | ||
tool_tag = buffer[start_idx:end_idx] | ||
try: | ||
tool_content = re.search(r'<TOOL_START>(.*?)</TOOL_START>', tool_tag) |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
user-provided value
display_text = current_text | ||
if buffer.strip(): | ||
# Only show clean text (no incomplete tool tags) | ||
clean_buffer = re.sub(r'<TOOL_START>.*$', '', buffer) |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
user-provided value
# Final display without cursor | ||
final_text = current_text + buffer | ||
# Clean up any remaining tool tags | ||
final_text = re.sub(r'<TOOL_START>.*?</TOOL_START>', '', final_text) |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
user-provided value
text_placeholder.markdown(final_text.strip()) | ||
|
||
# Clean version for session (remove tool indicators) | ||
clean_content = re.sub(r'🔧 \*\*.*?\*\* ✅', '', final_text) |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
regular expression
user-provided value
Latest scan for commit: Security Scan ResultsScan Metadata
SummaryScanner ResultsThe table below shows findings by scanner, with status based on severity thresholds and dependencies: Column Explanations: Severity Levels (S/C/H/M/L/I):
Other Columns:
Scanner Results:
Severity Thresholds (Thresh Column):
Threshold Source: Values in parentheses indicate where the threshold is configured:
Statistics calculation:
Detailed FindingsShow 6 actionable findingsFinding 1: SECRET-SECRET-KEYWORD
Description: Code Snippet:
Finding 2: SECRET-SECRET-KEYWORD
Description: Code Snippet:
Finding 3: SECRET-SECRET-KEYWORD
Description: Code Snippet:
Finding 4: SECRET-SECRET-KEYWORD
Description: Code Snippet:
Finding 5: SECRET-SECRET-KEYWORD
Description: Code Snippet:
Finding 6: CKV_DOCKER_2
Description: Code Snippet:
Report generated by Automated Security Helper (ASH) at 2025-10-03T19:19:27+00:00 |
… marketing system with memory capabilities and Streamlit UI awslabs#437"
Amazon Bedrock AgentCore Samples Pull Request
Important
review ready
label to it. Only PRs withreview ready
will be reviewed.Issue number: #(to be created)
Concise description of the PR
User experience
Before: No marketing agent example available in the repository.
After: Users can deploy and interact with a sophisticated marketing agent system that:
Checklist
If your change doesn't seem to apply, please leave them unchecked.
Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.