Watch a demo of this Agentic AI for IT Support on YouTube.
A multi-agent AI system designed to provide intelligent IT support using Azure OpenAI. This system uses LangChain as the multi-agent orchestration framework, and Streamlit to serve the web UI. It demonstrates how specialized AI agents can work together to resolve various IT issues including Windows 11, Microsoft Office, and hardware problems.
Imagine you have a team of IT specialists, each with their own expertise:
- Supervisor: The team leader who understands your problem and assigns it to the right specialist
- Windows Expert: Specializes in Windows 11 issues and system problems
- Office Expert: Handles Microsoft Office applications and productivity tools
- Hardware Expert: Deals with computer hardware and peripheral device issues
This system recreates this team digitally using AI agents that can collaborate to solve your IT problems!
-
You Ask a Question ๐
- You submit your IT problem through the web interface
- Example: "Excel keeps crashing when I open large files"
-
The Supervisor Analyzes ๐ง
- The Supervisor Agent (like a smart receptionist) reads your question
- It thinks: "This sounds like an Office problem, but could also be hardware-related"
- It decides which specialist agents should help
-
Knowledge Base Search ๐
- Each selected agent queries the Knowledge Server via REST API
- The Office agent searches through Office-specific solutions
- The Hardware agent checks if it's a performance/memory issue
-
Agents Collaborate ๐ค
- If multiple agents are needed, they each provide their expertise
- The Office agent might say: "Excel crashes can be caused by corrupted add-ins"
- The Hardware agent might add: "Large files need sufficient RAM and disk space"
-
Supervisor Synthesizes โจ
- The Supervisor combines all the expert advice
- It creates a comprehensive solution that addresses all aspects
- Provides you with step-by-step instructions
-
Escalation if Needed โ๏ธ
- If no agent can solve the problem, the system recommends calling human IT support
User: "My computer is running very slowly and Excel won't open"
Supervisor: "This needs both Windows and Office experts"
โ
Windows Agent: "Slow performance could be startup programs or disk issues"
Office Agent: "Excel won't open might be corrupted installation"
โ
Supervisor: "Here's a combined solution:
1. Check Task Manager for resource usage (Windows issue)
2. Disable unnecessary startup programs (Windows issue)
3. Repair Office installation (Office issue)
4. Clear Excel cache (Office issue)"
User Interface (Streamlit)
โ
Supervisor Agent (Port 8001)
โ โ โ
Windows Office Hardware
Agent Agent Agent
(8002) (8003) (8004)
โ โ โ
Knowledge Server (8005) *
โ
Knowledge Bases
(CSV files)
* Currently: REST API (simulating MCP architecture)
Future: True MCP Server implementation
- Python 3.8 or higher
- Azure OpenAI account with API access
- Required Azure OpenAI models deployed:
o3-mini
(for supervisor reasoning)gpt-4o
(for specialized agents)
# Clone the repository
git clone <your-repo-url>
cd it_support_agent_demo_r1
# Install dependencies
pip install -r requirements.txt
Create a .env
file in the project root:
AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
AZURE_OPENAI_API_KEY=your_azure_openai_api_key
python start_services.py
This will automatically start:
- Knowledge Server (Port 8005)
- Supervisor Agent (Port 8001)
- Windows Agent (Port 8002)
- Office Agent (Port 8003)
- Hardware Agent (Port 8004)
- Web UI (Port 8501)
Open your web browser and navigate to:
http://localhost:8501
it_support_agent_demo_r1/
โโโ agents/ # AI Agent implementations
โ โโโ base_agent.py # Common agent functionality
โ โโโ supervisor.py # Main orchestrator agent
โ โโโ windows_agent.py # Windows 11 specialist
โ โโโ office_agent.py # Microsoft Office specialist
โ โโโ hardware_agent.py # Hardware specialist
โโโ config/ # Configuration management
โ โโโ config.py # Agent and Azure configurations
โโโ knowledge/ # Knowledge bases (CSV files)
โ โโโ windows_kb.csv # Windows solutions database
โ โโโ office_kb.csv # Office solutions database
โ โโโ hardware_kb.csv # Hardware solutions database
โโโ servers/ # Backend services
โ โโโ knowledge_server.py # Knowledge base REST API server
โโโ ui/ # User interface
โ โโโ app.py # Streamlit web application
โโโ start_services.py # Service orchestration script
โโโ requirements.txt # Python dependencies
Each agent can be configured in config/config.py
:
SUPERVISOR_CONFIG = AgentConfig(
name="Support Supervisor",
model="o3-mini", # Azure OpenAI deployment name
port=8001,
description="Routes and orchestrates IT support requests"
)
Important Note: The knowledge server in this demo is a custom Flask-based REST API server that simulates MCP-like architecture but is not a true Model Context Protocol (MCP) server. It provides simple HTTP endpoints for searching CSV-based knowledge bases.
๐ Future Development: True MCP server implementation is planned for future versions, which would provide:
- Standardized JSON-RPC protocol communication
- Dynamic resource and tool discovery
- Native LLM integration capabilities
- Industry-standard context sharing mechanisms
For now, the REST API approach effectively demonstrates the multi-agent architecture and knowledge base integration patterns.
Knowledge bases are stored as CSV files in the knowledge/
directory with the following structure:
Windows KB Example:
issue,category,solution,severity
Windows 11 won't boot,Boot Issues,"1. Press F8 during startup...",High
Blue Screen of Death,System Crashes,"1. Note error code...",Critical
Office KB Example:
application,issue,solution,category,severity
Excel,Crashes when opening large files,"1. Increase virtual memory...",Performance,Medium
Word,Document won't save,"1. Check file permissions...",File Access,Low
User Input: "My Windows 11 computer is running very slowly"
System Response:
- Supervisor routes to Windows Agent
- Windows Agent searches performance-related solutions
- Provides step-by-step optimization guide
User Input: "PowerPoint keeps crashing during presentations"
System Response:
- Supervisor routes to Office Agent
- Office Agent finds PowerPoint-specific solutions
- Provides troubleshooting steps and prevention tips
User Input: "Excel is slow and my computer crashes when working with large spreadsheets"
System Response:
- Supervisor identifies need for both Office and Hardware agents
- Office Agent addresses Excel optimization
- Hardware Agent addresses system performance
- Supervisor synthesizes comprehensive solution
POST /process
- Main query processing endpointGET /health
- Health check
POST /process
- Process domain-specific queriesGET /health
- Agent health status
POST /search/{kb_name}
- Search specific knowledge baseGET /health
- Server health and knowledge base statusGET /knowledge-bases
- List available knowledge bases
-
Services won't start
- Check if ports are already in use
- Verify Azure OpenAI credentials
- Ensure all dependencies are installed
-
Knowledge base not found
- Verify CSV files exist in
knowledge/
directory - Check file permissions and format
- Verify CSV files exist in
-
Azure OpenAI errors
- Verify API key and endpoint configuration
- Check model deployment names match configuration
- Ensure quota limits aren't exceeded
Each service provides health endpoints for monitoring:
# Check all services
curl http://localhost:8001/health # Supervisor
curl http://localhost:8002/health # Windows Agent
curl http://localhost:8003/health # Office Agent
curl http://localhost:8004/health # Hardware Agent
curl http://localhost:8005/health # Knowledge Server
Current Implementation (v1.0):
- Custom Flask REST API for knowledge base access
- HTTP endpoints with JSON payloads
- Simulates distributed knowledge server architecture
- Demonstrates multi-agent cooperation patterns
Planned MCP Implementation (Future):
- True Model Context Protocol (MCP) server compliance
- Standardized JSON-RPC protocol
- Dynamic resource discovery and tool registration
- Native integration with LLM frameworks
- Enhanced context sharing and state management
The current REST API approach effectively demonstrates the system architecture and provides a foundation for future MCP migration.
- Create new agent class inheriting from
BaseAgent
- Add configuration in
config/config.py
- Create corresponding knowledge base CSV
- Update supervisor routing logic
- Add startup logic in
start_services.py
- Add new CSV files in
knowledge/
directory - Update
knowledge_server.py
to load new knowledge base - Modify relevant agents to search new knowledge base
- Concurrent Processing: Agents process queries in parallel when possible
- Caching: Knowledge bases are loaded into memory for fast access
- Timeout Management: All API calls have timeout configurations
- Resource Management: Each agent runs as a separate process
- API keys are managed through environment variables
- No sensitive data is stored in knowledge bases
- All inter-service communication uses localhost
- Input validation on all API endpoints
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Update documentation as needed
- Submit a pull request
If the AI agents cannot resolve your issue, the system will recommend contacting the IT Support Service Hotline for human assistance.
This project is for demonstration purposes. Please review and comply with Azure OpenAI usage terms and conditions.
Built with โค๏ธ using Azure OpenAI, LangChain, Flask, and Streamlit