Skip to main content
Challenge

Orchestrate MTP Module Data Integration with LlamaIndex and Portia

Process modular plants struggle to seamlessly integrate heterogeneous Module Type Package (MTP) definitions into centralized SCADA systems. Build an automated MTP schema parser and orchestration pipeline using LlamaIndex and Portia to achieve plug-and-produce data mapping within 30 seconds.

EngineeringHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Build an intelligent process automation agent using LlamaIndex RAG and Portia to auto-generate SCADA tag mappings from MTP manifest XMLs.

Delivery guide

How work is evaluated

Evaluation

Evaluates MTP manifest processing accuracy and generated SCADA mapping correctness.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

schema_conformance

Ensures generated OPC UA mapping contains mandatory fields.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

mapping_accuracy

Percentage of correctly extracted and normalized OPC UA tags • target: 0.98 • range: 0-1

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Index complex MTP XML/AML file structures using LlamaIndex VectorStoreIndex

  • Use Portia agent capabilities to execute dynamic SCADA tag creation workflows

  • Map process services (e.g., dosing, mixing) directly to OPC UA nodes

  • Validate plug-and-produce integration speed and compliance with NAMUR NE 148

Resources and assets

Reference links and supporting material

Dataset notes

Collection of standard NAMUR MTP XML manifests representing dosing modules, reactors, and filtration units.

Challenge setup

Evaluates MTP manifest processing accuracy and generated SCADA mapping correctness.

Challenge input

XML string containing MTP service and interface definitions

LlamaIndex

Framework for RAG and document index structuring

Portia

Orchestration tool system for enterprise tool binding

Evaluated output

JSON array of { service_name, opc_node_id, data_type, access_level }

Evaluation checks
  • Ensures generated OPC UA mapping contains mandatory fields.
  • Percentage of correctly extracted and normalized OPC UA tags • target: 0.98 • range: 0-1
Configured evaluation evidence
  • Benchmark: MTP-PlugProduce-Bench
  • Mapping Accuracy target: 0.98
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Llama Index · Required
  • LlamaIndex · Optional
  • Portia · Optional

Evaluation contract

  • schema_conformance · Weight 1
  • mapping_accuracy · Weight 1

Metrics

  • mapping_accuracy · Target 0.98

Benchmarks

  • MTP-PlugProduce-Bench
  • general

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: XML string containing MTP service and interface definitions

    Output: JSON array of { service_name, opc_node_id, data_type, access_level }

    Execution harness: Python

Evaluation tools

  • LlamaIndex · agent_framework
  • Portia · agent_systems

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Orchestrate MTP Module Data Integration with LlamaIndex and Portia