IBM Hackathon POC | Multi-Agent System | watsonx.ai | watsonx Orchestrate | RAG
SyncOpsAI monitors manufacturing equipment in real time and automatically detects anomalies, diagnoses root causes, and generates maintenance work orders. Three specialized AI agents replace a manual process that previously took hours.
graph TB
A[IoT Sensors] -->|Real-time Data| B[Agent 1: Telemetry Listener]
B -->|Anomaly Detected| C[Agent 2: Diagnostic Expert]
C -->|Query| D[RAG System]
D -->|Context| E[Equipment Manuals]
C -->|Generate| F[watsonx.ai Granite]
F -->|Diagnosis| C
C -->|Report| G[Agent 3: Orchestrator]
G -->|Create| H[Work Order]
G -->|Check| I[Inventory]
style C fill:#4CAF50
style F fill:#FF9800
style D fill:#2196F3
| Agent | Role |
|---|---|
| Agent 1 β Telemetry Listener | Monitors sensor data, detects anomalies, classifies severity |
| Agent 2 β Diagnostic Expert | Queries equipment manuals via RAG, generates AI diagnosis using IBM Granite |
| Agent 3 β Orchestrator | Checks inventory, creates prioritized work order |
# 1. Install dependencies
pip install -r requirements.txt
# 2. Configure environment
cp .env.example .env
# Add your WATSONX_API_KEY, WATSONX_URL, WATSONX_PROJECT_ID
# 3. Start the Mock API
python mock_apis/app.py
# Runs on http://localhost:8787
# 4. Run the dashboard
streamlit run dashboard/app.py
# Opens at http://localhost:8501# Option 1: Start everything at once
cd dashboard && ./run_dashboard.sh
# Option 2: Start separately
# Terminal 1 β Mock API
cd mock_apis && python app.py
# Terminal 2 β Dashboard
cd dashboard && streamlit run app.pySyncOpsAI/
βββ poc/ # Core agent logic (POC)
β βββ agents.py # Agent 1, 2, 3 implementations
β βββ main.py # LangGraph workflow orchestration
β βββ state.py # Shared state schema
β βββ data.py # Demo scenarios & thresholds
β βββ dashboard.py # POC Streamlit interface
β βββ integration.py # POC integration layer
β βββ requirements.txt
β
βββ dashboard/ # Production dashboard
β βββ app.py # Streamlit app (4 tabs, live gauges)
β βββ run_dashboard.sh # One-command startup script
β βββ requirements.txt
β
βββ mock_apis/ # Mock REST API servers
β βββ app.py # Main Flask API
β βββ work_order_api.py # Work order endpoints
β βββ inventory_api.py # Inventory endpoints
β βββ technician_api.py # Technician endpoints
β βββ test_api.py # API tests
β βββ start_all.sh # Start all API servers
β βββ stop_all.sh # Stop all API servers
β
βββ orchestrate/ # watsonx Orchestrate
β βββ agents/
β β βββ telemetry_agent.yaml # Agent 1 config
β β βββ diagnostic_agent.yaml # Agent 2 config
β β βββ orchestrator_agent.yaml # Agent 3 config
β βββ tools/
β β βββ detect_anomaly.py # Anomaly detection tool
β β βββ generate_diagnosis.py # Diagnosis generation tool
β β βββ create_work_order.py # Work order tool
β β βββ check_inventory.py # Inventory check tool
β βββ import-all.sh # Deploy all agents & tools
β
βββ tools/ # watsonx Orchestrate tool YAMLs
β βββ work_order_api.yaml
β βββ inventory_api.yaml
β βββ technician_api.yaml
β
βββ bob_sessions/ # IBM Bob session logs
β
βββ logs/ # API runtime logs
β
βββ data.py # Sensor data scenarios
βββ manuals.py # Equipment manual knowledge base
βββ rag.py # RAG system
βββ diagnosis.py # Diagnostic engine
βββ agents.py # Root-level agent workflow
βββ watsonx_integration.py # watsonx.ai Granite wrapper
βββ watson_orchestrate_integration.py # watsonx Orchestrate wrapper
βββ pinecone_integration.py # Pinecone vector DB integration
βββ verify_ai_config.py # AI configuration checker
βββ workspace_config.yaml # Workspace configuration
βββ requirements.txt # Root dependencies
- Equipment: HVAC-001
- Signal: Temperature 22Β°C β 32Β°C (threshold: 28Β°C)
- AI Diagnosis: Clogged air filter restricting airflow (92% confidence)
- Parts: AF-2024 β $45, 30 min repair
- Result: Work order created automatically in <5s
- Equipment: MOTOR-001
- Signal: Vibration 1.2 β 4.5 Hz (threshold: 3.5 Hz)
- AI Diagnosis: Worn roller bearings (88% confidence)
- Parts: RB-500 + AS-KIT β $310, 2β3 hrs repair
- Result: Work order created automatically in <5s
| Layer | Technology |
|---|---|
| AI Diagnosis | IBM watsonx.ai β Granite-13B-Chat-v2 |
| Agent Orchestration | IBM watsonx Orchestrate |
| Development Assistant | IBM Bob |
| Workflow Graph | LangGraph |
| Vector DB | Pinecone (production) |
| UI | Streamlit + Plotly |
| API | Flask |
| Language | Python 3.9+ |
IBM Bob β Used throughout development for architecture planning, parallel workstream design, and code generation across all modules.
IBM watsonx.ai β Powers Agent 2. Builds a prompt from sensor readings and RAG-retrieved manual context, calls Granite-13B-Chat-v2, and returns a structured JSON diagnosis with root cause, confidence score, and recommended actions. Falls back to template-based diagnosis if unavailable.
IBM watsonx Orchestrate β Three agent YAML configurations and four @tool-decorated Python functions are implemented and ready for deployment. Live connection is the immediate next step β no structural changes required.
| Metric | Value |
|---|---|
| Anomaly detection | <1ms |
| AI diagnosis | 2β5s |
| End-to-end (anomaly β work order) | <5s |
| Confidence score (AI mode) | 85β95% |
| Diagnosis time vs manual | 95% faster |
| Component | Status |
|---|---|
| Multi-agent workflow | β Complete |
| watsonx.ai integration | β Complete |
| RAG system | β Complete |
| Mock API (10 endpoints) | β Complete |
| Streamlit dashboard | β Complete |
| watsonx Orchestrate structure | β Complete |
| Pinecone integration | π Production |
| Live Orchestrate connection | π Production |
Built for IBM Hackathon β Team Manual-Miners