{"id":"63539d5d-8c03-4419-b149-b6f939919c53","slug":"assetopsbench","kind":"mcp","name":"AssetOpsBench","summary":"AssetOpsBench - Industry 4.0: A unified benchmark and framework for building, orchestrating, and evaluating domain-specific AI agents for Industry 4.0 asset operations and maintenance, with 460+ scena","owner":"IBM","repoUrl":"https://github.com/IBM/AssetOpsBench","license":"Apache-2.0","licenseTier":"permissive","trust":"official","stars":2351,"match":null,"fewStars":false,"format":"mcp","createdAt":null,"addedAt":"2026-10-14T05:12:33.483Z","logoUrl":"https://avatars.githubusercontent.com/u/1459110?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["memory-knowledge","utilities"],"tags":["llm-agents","time-series-forecasting","condition-based-maintenance","hvac-maintenance","iot","predictive-maintenance","ai-for-physical-assets"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T05:12:41.054Z","sample":false,"url":"https://conduits.dev/tools/assetopsbench","language":"Python","transports":["stdio"],"install":{"pypi":"assetopsbench-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# AssetOpsBench\n\n### AI Agents for Industrial Asset Operations & Maintenance\n\n*A unified, open framework for building, orchestrating, and evaluating domain-specific AI agents in Industry 4.0.*\n\n[![Stars](https://img.shields.io/github/stars/IBM/AssetOpsBench?style=for-the-badge&logo=github&color=yellow)](https://github.com/IBM/AssetOpsBench/stargazers)\n[![Forks](https://img.shields.io/github/forks/IBM/AssetOpsBench?style=for-the-badge&logo=github)](https://github.com/IBM/AssetOpsBench/network/members)\n[![License](https://img.shields.io/badge/License-Apache_2.0-green?style=for-the-badge)](LICENSE)\n[![KDD 2026](https://img.shields.io/badge/KDD%202026-Accepted-0f62fe?style=for-the-badge)](#publications)\n[![IJCAI 2026](https://img.shields.io/badge/IJCAI%202026-Live%20Competition-d02670?style=for-the-badge)](#ai-competitions)\n[![CODS 2025](https://img.shields.io/badge/CODS%202025-500%2B%20Submissions-007d79?style=for-the-badge)](#ai-competitions)\n\n[![AssetOps](https://img.shields.io/badge/Domain-Asset_Operations-blue)](#)\n[![MultiAgentBench](https://img.shields.io/badge/Domain-Multi--agent_Bench-blue)](#)\n[![EMNLP 2025](https://img.shields.io/badge/EMNLP--2025-Accepted-blueviolet)](#publications)\n[![NeurIPS 2025](https://img.shields.io/badge/NeurIPS--2025-Accepted-blueviolet)](#publications)\n[![AAAI 2026](https://img.shields.io/badge/AAAI--2026-Accepted-blueviolet)](#publications)\n[![IAAI 2026](https://img.shields.io/badge/IAAI--2026-Accepted-blueviolet)](#publications)\n[![ICLR 2026](https://img.shields.io/badge/ICLR--2026-Accepted-blueviolet)](#publications)\n[![ACL 2026](https://img.shields.io/badge/ACL--2026-Accepted-blueviolet)](#publications)\n\n\n\n📄 [**Paper**](https://arxiv.org/pdf/2506.03828) · 🤗 [**Dataset**](https://huggingface.co/datasets/ibm-research/AssetOpsBench) · 🎮 [**Playground**](https://huggingface.co/spaces/ibm-research/AssetOps-Bench) · 📢 [**IBM Blog**](https://research.ibm.com/blog/asset-ops-benchmark) · 🎥 [**Video**](https://www.youtube.com/watch?v=kXmBDMrKFjs) · 📊 [**Kaggle**](https://www.kaggle.com/benchmarks/ibm-research/asset-ops-bench) · 🚀 [**Colab**](https://colab.research.google.com/github/IBM/AssetOpsBench/blob/main-0.x/notebook/LLM_Agent.ipynb)\n\n</div>\n\n> [!IMPORTANT]\n> 🎉 **AssetOpsBench is officially accepted at KDD 2026** (Datasets & Benchmarks Track), Jeju, South Korea, alongside our hands-on tutorial *Building Reliable Industrial Agents with MCP*. See [Publications](#publications) for the full list of 2025–2026 work.\n\n---\n\n## At a Glance\n\n<table>\n  <tr>\n    <td align=\"center\" width=\"16%\"><b>9</b><br><sub>Asset classes</sub></td>\n    <td align=\"center\" width=\"16%\"><b>141+</b><br><sub>Scenarios</sub></td>\n    <td align=\"center\" width=\"16%\"><b>5 + 1</b><br><sub>Domain agents + utility server</sub></td>\n    <td align=\"center\" width=\"16%\"><b>2</b><br><sub>Orchestration frameworks</sub></td>\n    <td align=\"center\" width=\"16%\"><b>20+</b><br><sub>University extensions</sub></td>\n    <td align=\"center\" width=\"16%\"><b>500+</b><br><sub>Competition submissions</sub></td>\n  </tr>\n</table>\n\n**Built for:** maintenance engineers, reliability specialists, facility planners, and Industry 4.0 researchers.\n**Powered by:** LLMs + Time Series Foundation Models, orchestrated over live sensor data and Industry 4.0 records (FMEA, work orders, alerts).\n**Now with:** simplified interface and native **MCP (Model Context Protocol)** support.\n\n---\n\n## Quick Start\n\n```bash\n# Clone and install\ngit clone https://github.com/IBM/AssetOpsBench.git\ncd AssetOpsBench\npip install -e .\n\n# Try a scenario (to be enabled)\npython -m assetopsbench.run --scenario \"List all sensors of Chiller 6 in MAIN site\"\n```\n\nOr jump in instantly:\n- 🚀 **[Run on Colab](https://colab.research.google.com/github/IBM/AssetOpsBench/blob/main-0.x/notebook/LLM_Agent.ipynb)** — no install required (illustration of LLM Agent)\n- 🎮 **[Try the HF Playground](https://huggingface.co/spaces/ibm-research/AssetOps-Bench)** — interactive demo\n- 📖 **[Read INSTRUCTIONS.md](./INSTRUCTIONS.md)** — full setup, MCP servers, plan-execute runner\n\n> [!NOTE]\n> Active development is on `main`. The codebase used for various publication venues continues to be maintained on separate branches, for example, ACL 2026 [`IndustryAssetEQA`](https://github.com/IBM/AssetOpsBench/tree/IndustryAssetEQA) and prior experimental work is maintained on [`main-0.x`](https://github.com/IBM/AssetOpsBench/tree/main-0.x).\n\n---\n\n## What is AssetOpsBench?\n\nAssetOpsBench is a **unified framework for developing, orchestrating, and evaluating domain-specific AI agents** in industrial asset operations and maintenance. It provides reproducible scenarios, agent tooling, and evaluation pipelines for multi-step workflows in simulated industrial environments.\n\n### Domain-Specific MCP Servers\n\n| MCP Servers | Important tools |\n|---|---|\n| **IoT** | `sites`, `asset_ids`, `asset_detail`, `assets`, `find_assets_by_sensors`, `installed_sensors`, `measured_sensors`, `latest_reading`, `history`, `sensor_stats` |\n| **FMSR** | `get_failure_modes`, `generate_failure_modes`, `add_failure_modes` |\n| **TSFM** | Tasks/evidence: `list_tasks`, `profile_series`, `characterize_series`, `data_quality`; model catalog: `list_models`, `search_models`, `find_models`, `resolve_model`, `model_template`, `register_model`, `register_finetuned`, `hf_stats`; feature catalog: `list_features`, `search_features`, `extract_features`, `select_features`; run/eval ledger: `recipe_template`, `run_recipe`, `run_tabular_recipe`, `run_plan`, `evaluate`, `list_runs`, `list_results` |\n| **WO** | Read: `list_workorders`, `get_workorder`, `get_workorder_tasks`, `get_workorder_costs`, `get_workorder_actuals_vs_planned`, `get_workorder_kpis`, `get_schedule_calendar`, `get_my_assigned_workorders`, `get_failure_codes`; write: `generate_work_order`, `update_workorder`, `approve_workorder`, `assign_technician`, `close_workorder`, `cancel_workorder` |\n| **Vibration** | `get_vibration_data`, `list_vibration_sensors`, `compute_fft_spectrum`, `compute_envelope_spectrum`, `assess_vibration_severity`, `calculate_bearing_frequencies`, `diagnose_vibration` |\n| *Shared utility server* | |\n| **Utilities** | `json_reader`, `get_sensor_catalog`, `get_asset_catalog`, `get_failure_mode_catalog`, `current_date_time`, `current_time_english` |\n\nFive domain servers (IoT, FMSR, TSFM, WO, Vibration) plus one shared utility server, documented in full — arguments, categories, and backing services — in **[docs/mcp-servers.md](./docs/mcp-servers.md)**.\n\nThe full TSFM MCP surface currently contains 41 tools covering model cards, feature cards, recipe execution, evaluation, and result/run lookup. See [docs/mcp-servers.md](./docs/mcp-servers.md#tsfm--time-series-model-and-feature-catalogs) for the complete reference.\n\nThe WO MCP surface contains 15 tools (9 read + 6 write) covering the full Maximo-style work-order lifecycle — query, create, approve, assign, close, cancel — plus costs, KPIs, and scheduling, backed by CouchDB with IBM Maximo `mxwo` field names. Set `AOB_READONLY=1` to expose the 9 read tools only. See [docs/mcp-servers.md](./docs/mcp-servers.md#wo--work-order) for the complete reference.\n\n### Agent Frameworks\n\n- **[Plan Execute](./src/agent/plan_execute)** — plan-and-execute sequential workflow to work with any LLM\n- **[Deep Agent](./src/agent/deep_agent)** — planning, sub-agents, and virtual filesystem for long-horizon tasks\n- **[Claude Agent](./src/agent/claude_agent)** — ReAct-based orchestrator using Claude with agent-as-tool delegation\n- **[OpenAI Agent](./src/agent/openai_agent)** — ReAct-based orchestrator using OpenAI models with agent-as-tool delegation\n\n\n### MCP Environment\n\nThe `src/` directory contains MCP servers and a plan-execute runner built on the [Model Context Protocol](https://modelcontextprotocol.io/). See **[INSTRUCTIONS.md](./INSTRUCTIONS.md)** for setup.\n\n\n---\n\n## Example Scenarios\n\n| Domain | Example Task |\n|---|---|\n| **IoT** | \"List all assets in MAIN site\" |\n| **FMSR** | \"List known failure modes for asset class pump\" |\n| **TSFM** | \"Find a forecasting model for Chiller 6 and check it can be loaded\" |\n| **WO** | \"Generate a work order for Chiller 6 anomaly detection\" |\n\nSome tasks focus on a single domain, others are multi-step end-to-end workflows. Explore all scenarios on [Hugging Face](https://huggingface.co/datasets/ibm-research/AssetOpsBench).\n\n---\n\n## Leaderboards\n\n- To be revised (WIP with latest models)\n- Evaluated with **7 Large Language Models**\n- Trajectories scored using **LLM Judge (Llama-4-Maverick-17B)**\n- **6-dimensional criteria** measuring reasoning, execution, and data handling\n\nExample: MetaAgent leaderboard\n\n![meta_agent_leaderboard](https://github.com/user-attachments/assets/615059be-e296-40d3-90ec-97ee6cb00412)\n\n---\n\n## Publications\n\n**12+ contributions across 7 top venues** in 2025–2026 from the team behind AssetOpsBench.\n\n<details>\n<summary><b>⭐ KDD 2026 — Jeju, South Korea</b> (click to expand)</summary>\n\n- **[D&B]** **AssetOpsBench: A Benchmark for Industrial Asset Operations Agents** · *D. Patel, S. Lin, et al.* · [📄 Paper](https://arxiv.org/pdf/2506.03828)\n- **[Tutorial]** **Building Reliable Industrial Agents with MCP: A Hands-on AssetOpsBench Tutorial for AI-Driven Operations** · *D. Patel, C. Shyalika, et al.*\n\n</details>\n\n<details>\n<summary><b>ACL 2026 - San Diego, USA</b></summary>\n\n- **[Industry]** **IndustryAssetEQA: A Neurosymbolic Operational Intelligence System for Embodied Question Answering in Industrial Asset Maintenance** · *C. Shyalika, D. Patel, A. Sheth* · [arXiv:2604.23446](https://arxiv.org/abs/2604.23446)\n\n</details>\n\n<details>\n<summary><b>ICLR 2026 - Brazil</b></summary>\n\n- **[Main]** **Adaptive Conformal Anomaly Detection with Time Series Foundation Models for Signal Monitoring** · *N. Martinez, F. O'Donncha, W. M. Gifford, N. Zhou, D. C. Patel, R. Vaculin*\n\n</details>\n\n<details>\n<summary><b>AAAI 2026 — Singapore</b></summary>\n\n- **[Demo]** **AssetOpsBench-Live: Privacy-Aware Online Evaluation of Multi-Agent Performance in Industrial Operations** · *D. Patel, N. Zhou, S. Lin, J. T. Rayfield, C. Shyalika, S. R. Yarrabothula* · [🎥 Demo](https://www.youtube.com/watch?v=JcKlS5v5fGY)\n- **[Main]** **SPIRAL: Symbolic LLM Planning via Grounded and Reflective Search** · *Y. Zhang, G. Ganapavarapu, S. Jayaraman, B. Agrawal, D. Patel, A. Fokoue* · [💻 Code](https://github.com/IBM/SPIRAL)\n- **[Bridge]** **Knowledge-Guided AI for Industrial Asset Health Monitoring** · *S. Lin, D. Patel*\n- **[Tutorial]** **From Inception to Productization: Hands-on Lab for the Lifecycle of Multimodal Agentic AI in Industry 4.0** · *C. Shyalika, S. Ahuja, S. Lin, R. Wickramarachchi, D. Patel, A. Sheth* · [🌐 Website](https://ibm.github.io/AssetOpsBench/aaaiwebsite/) · [📊 Slides](https://drive.google.com/file/d/16GaYxBQ2FsVqKpkKOU0PI_ZCTCsowenF/view?usp=sharing)\n- **[Workshop(AABA4ET)]** **Agentic Code Generation for Heuristic Rules in Equipment Monitoring** · *F. Lorenzi, A. Langbridge, F. O'Donncha, J. Rayfield, B. Eck, S. Rosato*\n\n</details>\n\n<details>\n<summary><b>IAAI 2026 - Singapore</b></summary>\n\n- **[Deployed]** **Deployed AI Agents for Industrial Asset Management: CodeReAct Framework for Event Analysis and Work Order Automation** · *N. Zhou, D. Patel, A. Bhattacharyya*\n- **[Emmerging]** **Diversity Meets Relevancy: Multi-Agent Knowledge Probing for Industry 4.0 Applications** · *C. Constantinides, D. Patel, S. Kimbleton, N. Garg, M. Paracha*\n\n</details>\n\n<details>\n<summary><b>NeurIPS 2025 — San Diego, USA</b></summary>\n\n- **[D&B Track]** **FailureSensorIQ: A Multi-Choice QA Dataset for Understanding Sensor Relationships and Failure Modes** · *C. Constantinides, D. Patel, S. Lin, C. Guerrero, S. D. Patil, J. Kalagnanam* · [📄 arXiv](https://arxiv.org/abs/2506.03278) · [💻 Code](https://github.com/IBM/FailureSensorIQ)\n- **[Social]** **Building Reliable Agentic Benchmarks: Insights from AssetOpsBench** *(invited talk, 2000+ registered)* · *D. Patel* · [📅 Luma](https://luma.com/mkyyvypm?tk=AkGVp5)\n\n</details>\n\n<details>\n<summary><b>EMNLP 2025 — Suzhou, China</b></summary>\n\n- **[Main]** **ReAct Meets Industrial IoT: Language Agents for Data Access** · *J. T. Rayfield, S. Lin, N. Zhou, D. C. Patel*\n- **[Main]** **Generalized Embedding Models for Industry 4.0 Applications** · *C. Constantinides, S. Lin, D. C. Patel* · [📄 arXiv](https://arxiv.org/abs/2506.12607)\n- **[Findings]** **Fine-Tuned Thoughts: Leveraging Chain-of-Thought Reasoning for Industrial Asset Health Monitoring** · *S. Lin, D. Patel, C. Constantinides* · [📄 ACL Anthology](https://aclanthology.org/2025.findings-emnlp.1126/) · [💻 Code](https://github.com/IBM/FailureSensorIQ)\n\n</details>\n\n---\n\n## Tutorials & Technical Material\n\n📘 Hands-on guides from our team:\n\n- [**ReActXen IoT Agent**](https://github.com/IBM/ReActXen/blob/main/docs/tutorial/ReActXen_IoT_Agent_EMNLP_2025.pdf) (EMNLP 2025)\n- [**FailureSensorIQ**](https://github.com/IBM/FailureSensorIQ) (NeurIPS 2025)\n- [**AssetOpsBench Lab**](https://ibm.github.io/AssetOpsBench/aaaiwebsite/) (AAAI 2026)\n- [**SPIRAL**](https://github.com/IBM/SPIRAL) (AAAI 2026)\n- [**AssetOpsBench Technical Material**](https://github.com/IBM/AssetOpsBench/blob/main/docs/tutorial/AssetOpsBench_Technical_Material.pdf)\n\n---\n\n## AI Competitions\n\nAssetOpsBench powers public AI agent competitions that bring together researchers, students, and practitioners worldwide.\n\n### 🔴 Live — IJCAI 2026\n\n**Industrial Automation Challenge: Benchmarking Physics-Grounded LLMs for Task Reasoning**\n\nA new challenge co-located with **IJCAI 2026** that pushes LLM agents on physics-grounded industrial reasoning.\n\n- 🌐 **Challenge site:** [ai-industrial-challenge-ijcai](https://sites.google.com/view/ai-industrial-challenge-ijcai/home)\n- 📋 **IJCAI 2026 competitions:** [2026.ijcai.org/competitions](https://2026.ijcai.org/competitions/)\n\n### ✅ Completed — CODS 2025\n\n**AssetOpsBench-Live: AI Agentic Challenge**\n\nLaunched in September 2025 at CODS 2025, the competition evaluated multi-agent systems on live industrial scenarios.\n\n- 🏆 **Competition page:** [codabench.org/competitions/10206](https://www.codabench.org/competitions/10206/)\n- 👥 **365 participants** · **500+ agent submissions**\n\n---\n\n## Talks & Events\n\n| Date | Event |\n|---|---|\n| 2026-08 | **KDD 2026** — AssetOpsBench paper + MCP tutorial · *Jeju, South Korea* |\n| 2026-05-10 | [NUS Seminar: AssetOpsBench Applications](https://events.comp.nus.edu.sg/view/25423) |\n| 2025-12 | NeurIPS 2025 Social: *Building Reliable Agentic Benchmarks* (2000+ registered) |\n| 2025-10-03 | 2-Hour Workshop: *AI Agents and Their Role in Industry 4.0 Applications* · NJIT ACM |\n| 2025-09-01 | [CODS 2025 Competition Launch — AssetOpsBench-Live](https://www.codabench.org/competitions/10206/) |\n| 2025-06-01 | AssetOpsBench v1.0 released — 141 industrial scenarios |\n\n---\n\n## University Projects & Extensions\n\nAssetOpsBench is being extended by university research groups exploring new asset classes, evaluation paradigms, and agentic architectures. **To list your project, open a PR.**\n\n- **Calibrated Coordination Reduces Overconfident Errors in Multi-Agent LLM Systems** – Confidence-weighted aggregation and abstention framework for reducing hallucinated confidence events in multi-agent industrial troubleshooting and operational decision-making benchmarks. Chand Sahil Mansuri, Sadamori Kojaku, Binghamton University.\n- **Internalizing MCP Tool Knowledge in Small LLMs via QLoRA Fine-Tuning** — HPML project using AssetOpsBench to fine-tune ~4B models to internalize MCP tool knowledge and reduce prompt schema overhead. [Ayal Yakobe](https://github.com/yakobeayal), Columbia University · [repo](https://github.com/YuvalShemla/hpml-2026-project)\n- **SPIN — Structural LLM Planning via Iterative Navigation for Industrial Tasks.** [Yusuke Ozaki](https://github.com/ozatamago), University at Albany · [paper](https://arxiv.org/abs/2605.14051) · [repo](https://github.com/ozatamago/AssetOpsBench/tree/UACap10)\n- **Synthetic Scenario Generation for Evaluation of Industry 4.0 Agents** — Automated scenario generation, transformer asset integration, and scenario quality evaluation. [Rohith Kanathur](https://github.com/Rohith-Kanathur), [Sagar Chethan Kumar](https://github.com/Sagar-CK), Columbia University · [repo](https://github.com/Rohith-Kanathur/AssetOpsBench) · [paper](https://arxiv.org/abs/2607.22563)\n- **AgentOpsBench** — High-throughput battery analytics MCP server with DNN prognostics (RUL prediction) and 3.3× latency optimization. [Siddharth Gowda, Rushin Bhatt, Aryaman Agrawal, Winston Li](https://github.com/siddharthgowda), Columbia University · [repo](https://github.com/siddharthgowda/AssetOpsBench)\n- **Skill-Knowledge-Augmented Agents on AssetOpsBench** — Confidence-gated skill execution with scoped knowledge plugins for industrial fault diagnosis. [Vera Mazeeva](https://github.com/verammaz), [Sanskruti Shejwal](https://github.com/Sans-Shej), [Shrey Arora](https://github.com/shreyarora2198), [Mana Abbaszadeh](https://github.com/Manazd), Columbia University · [repo](https://github.com/shreyarora2198/AssetOpsBench/tree/team14-final)\n- **Evaluating Temporal Semantic Caching and Workflow Optimization in Agentic Plan-Execute Pipelines.** [Krish Veera](https://www.github.com/krishrveera/), [Alimurtaza Mustafa Merchant](https://github.com/alimurtaza0411/), [Sajal Kumar Goyla](https://github.com/SajalGoyla/), [Shambhawi Bhure](https://github.com/ShambhawiBhure/), Columbia University · [paper](https://arxiv.org/abs/2605.20630) · [repo](https://github.com/alimurtaza0411/Latency-Optimized-AssetOpsBench/tree/feature/ablation-study)\n- **Towards Multi-Turn Dialog Systems for Industrial Asset Operations and Maintenance** - Improved response quality and reduced redundant tool calls and multi-turn latency. [Chengrui Li](https://github.com/Coderlicr), [Rujing Li](https://github.com/rujing-li), [Yitong Bai](https://github.com/BrianBai093), [Rui Li](https://github.com/Rui2026), Columbia University ·[paper](https://arxiv.org/abs/2605.24953)· [repo](https://github.com/Coderlicr/Multi-Turn-AssetOps)\n- **Skills and Knowledge Plugin MCP Servers for Optimized Industrial O&M Agents** - reducing planning overhead and improving retrieval grounding in industrial asset maintenance agents through an MCP Skills Server that exposes reusable multi-step operational workflows and a Knowledge Plugin Server that enables injection of context-specific documentation. [Andrew Li](https://github.com/andli28), [Kirthana Natarajan](https://github.com/kmn01), [Thai On](https://github.com/tq-o), [Trisha Maturi](https://github.com/trishamaturi), [Yeshitha Bhuvanesh](https://github.com/Yeshitha-co), Columbia University · [repo](https://github.com/kmn01/AssetOpsBench/)\n- **Profiling and Optimizing the TSFM MCP Server** - Developed a reproducible benchmarking harness, stage-level profiling system, and interchangeable model interface that identified preprocessing and inference bottlenecks, achieving up to 12.8× faster forecasting and 12.2% lower fine-tuning latency while supporting forecasting, fine-tuning, and anomaly detection workflows. [Tomas Pasiecznik](https://github.com/tomaspasie), [Sam Colman](https://github.com/samccolman), [Byeolah Kwon](https://github.com/Byeolah-Kwon), [Sally Go](https://github.com/yugo9081), Columbia University · [repo](https://github.com/Lion-Latency/AssetOpsBench)\n- **Profiling and Optimizing the AssetOpsBench Plan-Execute Pipeline** - Provides the first systematic performance characterization of the AssetOpsBench plan-execute pipeline to quantify the latency-accuracy tradeoff of thinking mode on Gemma 4 26B for industrial asset operations tasks. Implemented and evaluated scenario-based routing optimizations to balance the tradeoff. [Shen Li](https://github.com/jasonlee-1024), [Charles Xu](https://github.com/Char15Xu), [Ann Li](https://github.com/anncli), [Caroline Cahill](https://github.com/caroline-cahill), Columbia University · [repo](https://github.com/jasonlee-1024/AssetOpsBench)\n- **Performance Optimzation of the TSFM Agent in an Industrial Agentic Benchmark** - Developed an optimization framework for IBM's TinyTimeMixer(TTM) model by implementing model pre-loading, torch.compile graph fusion, and replacing Huggingface abstractions with direct batched model calls. We achieved 3.3X reduction in workflow latency and 68% decrease in total execution time while maintaining zero-shot forecast quality on industrial sensor data. [Alisha Vinod](https://github.com/alishavinod), [Jonathan Ang](https://github.com/mao1e), [Sanjaii Vijayakumar](https://github.com/sanjaiiv04), [Thomas Ajai](https://github.com/thomasajai), Columbia University . [repo](https://github.com/alishavinod/AssetOpsBench)\n- **Visual Inspection Agent for AssetOpsBench** - Adds a vision modality to AssetOpsBench via an MCP-connected Visual Inspection Agent and 22 hand-authored visual inspection scenarios across pumps, induction motors, power transformers, and wind turbine blades. Benchmarks AWQ W4A16 quantization and vLLM serving optimizations on Qwen2.5-VL-7B and Llama-3-LLaVA-NeXT-8B, with an LLM-as-a-judge scoring pipeline for accuracy evaluation. [Amaan Sheikh](https://github.com/amaan784), [Aman Upganlawar](https://github.com/amanupg), [Madhav Rajkondawar](https://github.com/madhavrajk), [Yang-Jung (Eric) Chen](https://github.com/ericyangchen), Columbia University · [repo](https://github.com/amaan784/hpml-final-project)\n- **Agentic AI Workflows for Naval Operations and Maintenance** — Exploring AssetOpsBench for evaluating agentic AI workflows, with future extensions using digital-twin-generated synthetic data. [Priyam Dalmia](https://github.com/priyamDalmia), [Chin-Teng Lin](https://profiles.uts.edu.au/Chin-Teng.Lin), [Fred Chang](https://profiles.uts.edu.au/Fred.Chang), University of Technology Sydney\n - **Knowledge Graphs as the Missing Data Layer for LLM-Based Industrial Asset Operations** — Treats a typed knowledge graph as the *data layer* for AssetOpsBench agents: holding the model and orchestration fixed, the same GPT-4 rises from 65% to 82–83% with LLM-generated Cypher and to 99% with deterministic graph handlers on the 139-scenario snapshot, plus Generation-Augmented Knowledge (GAK) — provenance-tagged enrichment — for the non-deterministic FMSR scenarios. Accepted at Agents+Graph @ VLDB 2026. Madhulatha Mandarapu, Sandeep Kunkunuru (VaidhyaMegha / Samyama) · [paper](https://arxiv.org/abs/2605.26874) · [repo](https://github.com/samyama-ai/assetops-kg)\n---\n\n## Call for Scenario Contribution\n\nWe are expanding **AssetOpsBench** to cover a broader range of industrial challenges. We invite researchers and practitioners to contribute new scenarios, particularly in:\n\n- **Asset Classes:** Turbines, HVAC systems, Pumps, Transformers, CNC Machines, Robotics, Engines\n- **Task Domains:** Prognostics and Health Management, Remaining Useful Life (RUL) estimation, Root Cause Analysis (RCA), Diagnostic Analysis, Predictive Maintenance\n\n**How to contribute:**\n\n1. **Define** your scenario following our [Utterance Guideline](docs/guideline/utterance_design_guideline.md) and [Ground Truth Guideline](docs/guideline/ground_truth_design_guideline.md)\n2. **Explore** the [Hugging Face dataset](https://huggingface.co/datasets/ibm-research/AssetOpsBench) for examples\n   - For external public sources and starter asset-class mappings, see [External Industrial Dataset Guide](docs/external-industrial-datasets.md)\n3. **Submit** a Pull Request or open an [Issue](https://github.com/IBM/AssetOpsBench/issues) with the tag `new-scenario`\n4. **Contact us** with questions:\n   - Dhaval Patel — [pateldha@us.ibm.com](mailto:pateldha@us.ibm.com)\n   - Nianjun Zhou — [jzhou@us.ibm.com](mailto:jzhou@us.ibm.com)\n\n---\n\n## Infrastructure Support\n\nModel API access for AssetOpsBench 2.0 is enabled by [TokenRouter](https://tokenrouter.com) (PaleBlueDot AI), a unified API platform providing access to leading AI models through a single API endpoint.\n\n---\n\n## Contributors\n\nThanks to these wonderful people ✨\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/ShuxinLin\">\n          <img src=\"https://github.com/ShuxinLin.png?s=50\" width=\"30px;\" alt=\"ShuxinLin\"/><br />\n          <sub><b>ShuxinLin</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=ShuxinLin\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/DhavalRepo18\">\n          <img src=\"https://github.com/DhavalRepo18.png?s=50\" width=\"30px;\" alt=\"DhavalRepo18\"/><br />\n          <sub><b>DhavalRepo18</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=DhavalRepo18\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/ChathurangiShyalika\">\n          <img src=\"https://github.com/ChathurangiShyalika.png?s=50\" width=\"30px;\" alt=\"ChathurangiShyalika\"/><br />\n          <sub><b>ChathurangiShyalika</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=ChathurangiShyalika\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/nianjunz\">\n          <img src=\"https://github.com/nianjunz.png?s=50\" width=\"30px;\" alt=\"nianjunz\"/><br />\n          <sub><b>nianjunz</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=nianjunz\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/PUSHPAK-JAISWAL\">\n          <img src=\"https://github.com/PUSHPAK-JAISWAL.png?s=50\" width=\"30px;\" alt=\"PUSHPAK-JAISWAL\"/><br />\n          <sub><b>PUSHPAK-JAISWAL</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=PUSHPAK-JAISWAL\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/LGDiMaggio\">\n          <img src=\"https://github.com/LGDiMaggio.png?s=50\" width=\"30px;\" alt=\"LGDiMaggio\"/><br />\n          <sub><b>LGDiMaggio</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=LGDiMaggio\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/DeveloperMindset123\">\n          <img src=\"https://github.com/DeveloperMindset123.png?s=50\" width=\"30px;\" alt=\"Ayan Das\"/><br />\n          <sub><b>Ayan Das</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=DeveloperMindset123\" title=\"Code\">💻</a>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/jdsheehan\">\n          <img src=\"https://github.com/jdsheehan.png?s=50\" width=\"30px;\" alt=\"jdsheehan\"/><br />\n          <sub><b>jdsheehan</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=jdsheehan\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/bradleyjeck\">\n          <img src=\"https://github.com/bradleyjeck.png?s=50\" width=\"30px;\" alt=\"bradleyjeck\"/><br />\n          <sub><b>bradleyjeck</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=bradleyjeck\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/jtrayfield\">\n          <img src=\"https://github.com/jtrayfield.png?s=50\" width=\"30px;\" alt=\"jtrayfield\"/><br />\n          <sub><b>jtrayfield</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=jtrayfield\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/florenzi002\">\n          <img src=\"https://github.com/florenzi002.png?s=50\" width=\"30px;\" alt=\"florenzi002\"/><br />\n          <sub><b>florenzi002</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=florenzi002\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/flamehaven01\">\n          <img src=\"https://github.com/flamehaven01.png?s=50\" width=\"30px;\" alt=\"flamehaven01\"/><br />\n          <sub><b>flamehaven01</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=flamehaven01\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/kushwaha001\">\n          <img src=\"https://github.com/kushwaha001.png?s=50\" width=\"30px;\" alt=\"kushwaha001\"/><br />\n          <sub><b>kushwaha001</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=kushwaha001\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/Rohith-Kanathur\">\n          <img src=\"https://github.com/Rohith-Kanathur.png?s=50\" width=\"30px;\" alt=\"Rohith-Kanathur\"/><br />\n          <sub><b>Rohith-Kanathur</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=Rohith-Kanathur\" title=\"Code\">💻</a>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/Mohit-15\">\n          <img src=\"https://github.com/Mohit-15.png?s=50\" width=\"30px;\" alt=\"Mohit Gupta\"/><br />\n          <sub><b>Mohit Gupta</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=Mohit-15\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/jellyfishing2346\">\n          <img src=\"https://github.com/jellyfishing2346.png?s=50\" width=\"30px;\" alt=\"jellyfishing2346\"/><br />\n          <sub><b>jellyfishing2346</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=jellyfishing2346\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/anncli\">\n          <img src=\"https://github.com/anncli.png?s=50\" width=\"30px;\" alt=\"anncli\"/><br />\n          <sub><b>anncli</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=anncli\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/ozatamago\">\n          <img src=\"https://github.com/ozatamago.png?s=50\" width=\"30px;\" alt=\"ozatamago\"/><br />\n          <sub><b>ozatamago</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=ozatamago\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/tomaspasie\">\n          <img src=\"https://github.com/tomaspasie.png?s=50\" width=\"30px;\" alt=\"tomaspasie\"/><br />\n          <sub><b>tomaspasie</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=tomaspasie\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/Sans-Shej\">\n          <img src=\"https://github.com/Sans-Shej.png?s=50\" width=\"30px;\" alt=\"Sans-Shej\"/><br />\n          <sub><b>Sans-Shej</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=Sans-Shej\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/sanjaiiv04\">\n          <img src=\"https://github.com/sanjaiiv04.png?s=50\" width=\"30px;\" alt=\"sanjaiiv04\"/><br />\n          <sub><b>sanjaiiv04</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=sanjaiiv04\" title=\"Code\">💻</a>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/SajalGoyla\">\n          <img src=\"https://github.com/SajalGoyla.png?s=50\" width=\"30px;\" alt=\"SajalGoyla\"/><br />\n          <sub><b>SajalGoyla</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=SajalGoyla\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/priyamDalmia\">\n          <img src=\"https://github.com/priyamDalmia.png?s=50\" width=\"30px;\" alt=\"priyamDalmia\"/><br />\n          <sub><b>priyamDalmia</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=priyamDalmia\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/krishrveera\">\n          <img src=\"https://github.com/krishrveera.png?s=50\" width=\"30px;\" alt=\"krishrveera\"/><br />\n          <sub><b>krishrveera</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=krishrveera\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/kmn01\">\n          <img src=\"https://github.com/kmn01.png?s=50\" width=\"30px;\" alt=\"kmn01\"/><br />\n          <sub><b>kmn01</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=kmn01\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/Coderlicr\">\n          <img src=\"https://github.com/Coderlicr.png?s=50\" width=\"30px;\" alt=\"Coderlicr\"/><br />\n          <sub><b>Coderlicr</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=Coderlicr\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/BrianBai093\">\n          <img src=\"https://github.com/BrianBai093.png?s=50\" width=\"30px;\" alt=\"BrianBai093\"/><br />\n          <sub><b>BrianBai093</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=BrianBai093\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/AyalYakobe\">\n          <img src=\"https://github.com/AyalYakobe.png?s=50\" width=\"30px;\" alt=\"AyalYakobe\"/><br />\n          <sub><b>AyalYakobe</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=AyalYakobe\" title=\"Code\">💻</a>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/amaan784\">\n          <img src=\"https://github.com/amaan784.png?s=50\" width=\"30px;\" alt=\"amaan784\"/><br />\n          <sub><b>amaan784</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=amaan784\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/Dev-Scodes5\">\n          <img src=\"https://github.com/Dev-Scodes5.png?s=50\" width=\"30px;\" alt=\"Dev-Scodes5\"/><br />\n          <sub><b>Dev-Scodes5</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=Dev-Scodes5\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/jack-pfeifer\">\n          <img src=\"https://github.com/jack-pfeifer.png?s=50\" width=\"30px;\" alt=\"jack-pfeifer\"/><br />\n          <sub><b>jack-pfeifer</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=jack-pfeifer\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/sandeepkunkunuru\">\n          <img src=\"https://github.com/sandeepkunkunuru.png?s=50\" width=\"30px;\" alt=\"sandeepkunkunuru\"/><br />\n          <sub><b>sandeepkunkunuru</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=sandeepkunkunuru\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/srutanik\">\n          <img src=\"https://github.com/srutanik.png?s=50\" width=\"30px;\" alt=\"srutanik\"/><br />\n          <sub><b>srutanik</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=srutanik\" title=\"Code\">💻</a>\n      </td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\">\n        <a href=\"https://github.com/thedgarg31\">\n          <img src=\"https://github.com/thedgarg31.png?s=50\" width=\"30px;\" alt=\"thedgarg31\"/><br />\n          <sub><b>thedgarg31</b></sub>\n        </a><br />\n        <a href=\"https://github.com/IBM/AssetOpsBench/commits?author=thedgarg31\" title=\"Code\">💻</a>\n      </td>\n      <td></td>\n    </tr>\n  </tbody>\n</table>\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n---\n\n## Star History\n\n<a href=\"https://www.star-history.com/?repos=ibm%2Fassetopsbench&type=date&legend=top-left\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/chart?repos=ibm/assetopsbench&type=date&theme=dark&legend=top-left\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/chart?repos=ibm/assetopsbench&type=date&legend=top-left\" />\n   <img alt=\"Star History Chart\" src=\"https://api.star-history.com/chart?repos=ibm/assetopsbench&type=date&legend=top-left\" />\n </picture>\n</a>\n\n---\n\n<div align=\"center\">\n\n**If AssetOpsBench is useful to your work, please ⭐ star the repo, 🍴 fork it, and tell us what you're building.**\n\n</div>\n\n---\n\n<div align=\"center\">\n\n[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/ibm-assetopsbench-badge.png)](https://mseep.ai/app/ibm-assetopsbench)\n"}