This repository is a part of the Azure Samples collection and utilizes Microsoft Autogen 0.4 alongside Azure OpenAI. It seamlessly integrates with a React UI to create a comprehensive end-to-end multi-agent application. Designed for simplicity, this repository streamlines the process of building, testing, and deploying an advanced multi-agent framework. Magentic One
π February 25, 2025: We have a new React based UI with new business use cases
π January 11, 2025: The repo now support Autogen 0.4.0 stable version
π December 3, 2024: The repo now support one click deployment with Azure Developer CLI, if you would like to run it with the full process localy you can check v0.21
π November 18, 2024: we are porting this repo to Autogen 0.4, A new event driven, asynchronous architecture for AutoGen and Magentic One
Dream.team.mp4
Dream Team offers the following key features:
- Advanced multi agent framework: this solution is based on the popular framework Autogen(35K stars) and Magentic One
- Friendly UI: easy way to build and share data apps powered by React / Vite.js / Tailwind / Shadcn
- Single line deployment: developer-friendly deployment that accelerates your path from a local development environment to Azure with single line of code - azd up.
- Secure code execution: Fast access to secure sandboxed with strong isolation environments that are ideal for running code or applications with Azure Container Apps dynamic sessions.
- Managed Identities: Built in Azure Managed identities to eliminate the need for developers to manage these credentials
- Observability & Debugging: Built-in features and tools for tracking, tracing, and debugging agent interactions and workflows, including PromptFlow tracing.
- Install Azure Developer CLI.
- Ensure you have access to an Azure subscription
- Docker - Follow the official Docker installation instructions - make sure your docker is loged in (docker login -u "username" -p "password" )
- Python version >= 3.10, < 3.13
- Install UV - optional for running locally
git clone https://github.com/Azure-Samples/dream-team
azd auth login
You need to choose your preferred region (you can start with east us or sweden central or any other available region)
azd up
In case you want to use the demo data, you can run the ingestion script to populate your AI Search with the demo data. This step is optional and is only needed if you want to use the demo data.
cd backend
python -m aisearch.py
Notes:
- This step assumes you have already setup your infrastructure and your local
.env
file has been populated with the necessary values.- Make sure your identity has appropriate acccess to AI Search (role
Search Index Data Contributor
) and to created storage (roleStorage Blob Data Contributor
), otherwise you will get an error when running the ingestion script.- This creates four indexes: ag-demo-fsi-upsell, ag-demo-pred-maint, ag-demo-retail, ag-demo-safety
- While using Web Surfer agent, you might want to change Content Safety on Azure OpenAI to accomodate your needs
- currently it is "bring your own AI Search" (BYOS) - since its assuming you have your own search engine, we are working on a solution to make it easier for you
- you must add two ENV variables to backend service to connect to your search engine
AZURE_SEARCH_SERVICE_ENDPOINT
- your search engine endpointAZURE_SEARCH_ADMIN_KEY
- your search engine key (we are working to enable managed identity for this service)
There are two parts to this project: the backend and the frontend. The backend is written in Python, and the frontend is written in JavaScript using React.
cd backend
Set up a virtual environment (Preferred)
uv venv
Once youβve created a virtual environment, you may activate it.
On Windows, run:
.venv\Scripts\activate
On Unix or MacOS, run:
source .venv/bin/activate
To deactivate :
deactivate
More information about virtual environments can be found here
uv sync
playwright install --with-deps chromium
Important: Magentic-One code uses code execution, you need to have Docker installed to run the examples if you use local execution
uvicorn main:app --reload
cd frontend
Upadte the env variables in sample.env and rename to .env
npm run dev
If your app is ready, you can browse to (typically) http://localhost:8501 to see the app in action.
Check these resources: