This workshop walks through how to build a multi-agent travel assistant system using Python, LangGraph, Azure OpenAI, and Azure Cosmos DB. Here, you'll create specialized AI agents that work together to help users plan travel arrangements and learn about agent memory orchestration.
By the end of this workshop, you'll have created a complete travel planning application featuring:
- Multiple specialized sgents: Hotel booking agent, dining recommendations agent, activity planning agent, and more
- Intelligent orchestration: A coordinator agent that manages interactions between specialized agents
- Memory system: Persistent memory storage using Azure Cosmos DB to remember user preferences and past interactions
- Modern web interface: An Angular frontend that provides an intuitive chat interface
- API layer: A FastAPI backend that orchestrates all agent interactions
- Understand multi-agent architecture patterns and design principles
- Learn to build agents using LangGraph framework with Azure OpenAI
- Implement agent specialization and tool integration
- Add intelligent memory systems to enhance agent interactions
- Practice observability and experimentation techniques
- Deploy and manage AI applications on Azure
This repository contains two main directories:
Navigate to this folder to follow along with the step-by-step workshop modules. Start here if you want to build the solution from scratch and learn each concept progressively.
Navigate to this folder to access the fully implemented solution. Use this if you want to see the end result or deploy the complete application.
To deploy the complete travel multi-agent assistant to your Azure account, follow these steps:
-
Clone the Repository: Start by cloning this repository to your local machine.
git clone https://github.com/Azure-Samples/travel-multi-agent-workshop.git cd travel-multi-agent-workshop -
Install Prerequisites: Ensure you have the following installed:
-
Login to Azure: Use the Azure CLI to log in to your Azure account.
az login
-
Run azd up: Navigate to the
travel-multi-agent-workshop/02_completed/infradirectory and run the following command to deploy the solution:azd up
This command will provision all necessary Azure resources and seed the database. It may take several minutes to complete.
When you deploy this solution, it automatically configures .env files with the required Azure endpoints and authentication tokens for both the main application and MCP server.
To run the solution locally after deployment:
Open a new terminal, navigate to the 02_completed directory, then run:
Linux/macOS:
source venv/bin/activate
cd mcp_server
PYTHONPATH=../python python mcp_http_server.pyWindows (PowerShell): .\venv\Scripts\Activate.ps1 cd mcp_server $env:PYTHONPATH="..\python"; python mcp_http_server.py
**Windows (Command Prompt):**
```cmd
venv\Scripts\activate.bat
set PYTHONPATH=../python && python mcp_http_server.py
Open a new terminal, navigate to the 02_completed directory, then run:
Linux/macOS:
source venv/bin/activate
cd python
uvicorn src.app.travel_agents_api:app --reload --host 0.0.0.0 --port 8000Windows (PowerShell):
venv\Scripts\Activate.ps1
cd python
uvicorn src.app.travel_agents_api:app --reload --host 0.0.0.0 --port 8000Windows (Command Prompt):
venv\Scripts\activate.bat
uvicorn src.app.travel_agents_api:app --reload --host 0.0.0.0 --port 8000Open a new terminal, navigate to the 02_completed\frontend folder, then run:
All platforms:
npm install
npm startAccess the applications:
- Travel API: http://localhost:8000/docs
- MCP Server: http://localhost:8080/docs
- Frontend: http://localhost:4200