How azure-samples/ai-multi-agent-presentation-builder works
This is a Streamlit application for generating draft presentations through a Semantic Kernel multi-agent workflow. A user submits a theme; the orchestrator uses an Azure OpenAI model to define task-specific agents, which are assembled into a chat group with selection and termination strategies. Agents can use web search and a presentation plugin; the resulting PPTX is offered for download. The README also documents customizable prompts and templates. The excerpts show the main orchestration and export path; prompt rendering and plugin registration are visible, but detailed agent-to-agent collaboration behavior is not independently verified.
Main entry points: app.py Streamlit interface · mas.py Expert agent builder · presentation.py Presentation plugin · main.py CLI interface
Components 18
User experience
- Streamlit interface
app.py - CLI interface
main.py - Presentation download
app.py
Agent orchestration
- Agent planner
src/mas.py - Planning model
- Prompt templates
src/prompts - Expert agent builder
src/mas.py - Agent chat group
src/mas.py - Agent selection
src/mas.py - Termination strategy
src/mas.py - Task-specific agents
src/mas.py
Agent capabilities
- Azure OpenAI
- Web search plugin
- Bing search
Presentation output
- Presentation plugin
src/plugins/presentation.py - PPTX templates
templates - Generated PPTX
Other components
- Theme author
Connections 26
- Theme author → Streamlit interface: submits theme
README.md - Streamlit interface → Agent planner: starts planning
app.py - CLI interface → Agent planner: starts planning
main.py - Agent planner → Planning model: requests agent plan
src/mas.py - Agent planner → Prompt templates: renders prompt
src/mas.py - Agent planner → Expert agent builder: returns agent specs
src/mas.py - Streamlit interface → Expert agent builder: creates agents
app.py - CLI interface → Expert agent builder: creates agents
main.py - Expert agent builder → Task-specific agents: builds agents
src/mas.py - Expert agent builder → Web search plugin: registers plugin
src/mas.py - Web search plugin → Bing search: searches web
- Expert agent builder → Presentation plugin: registers plugin
src/mas.py - Streamlit interface → Agent selection: creates strategy
app.py - Streamlit interface → Termination strategy: creates strategy
app.py - Streamlit interface → Agent chat group: assembles group
app.py - CLI interface → Agent chat group: assembles group
main.py - Agent chat group → Task-specific agents: dispatches turns
src/mas.py - Agent chat group → Agent selection: selects participant
src/mas.py - Agent chat group → Termination strategy: checks completion
src/mas.py - Task-specific agents → Azure OpenAI: generates responses
- Task-specific agents → Web search plugin: may invoke
- Task-specific agents → Presentation plugin: may invoke
src/mas.py - Presentation plugin → PPTX templates: loads template
src/plugins/presentation.py - Presentation plugin → Generated PPTX: writes deck
src/plugins/presentation.py - Streamlit interface → Presentation download: offers download
app.py - Presentation download → Generated PPTX: reads file
app.py