Question

Adqura
IN
Last activity: 4 Aug 2025 0:28 EDT
Unable to import ONNX model in Prediction studio
Product Version: Pega Platform 24.2.1
Environment: On-premise deployment
Issue Summary: I am experiencing multiple issues when attempting to import an ONNX model trained on AWS into Pega Prediction Studio. The model import process shows "Success" but returns no content, followed by various errors in the system logs.
Detailed Description:
I trained a loan default prediction model using scikit-learn on AWS and exported it to ONNX format. When importing through Prediction Studio > Models > Import, the system displays a success message but returns no content, and I encounter the following issues:
1. GLIBC Version Compatibility Error:
java.lang.UnsatisfiedLinkError: /var/cache/tomcat/temp/onnxruntime-java13099469389858444973/libonnxruntime.so: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /var/cache/tomcat/temp/onnxruntime-java13099469389858444973/libonnxruntime.so)
Product Version: Pega Platform 24.2.1
Environment: On-premise deployment
Issue Summary: I am experiencing multiple issues when attempting to import an ONNX model trained on AWS into Pega Prediction Studio. The model import process shows "Success" but returns no content, followed by various errors in the system logs.
Detailed Description:
I trained a loan default prediction model using scikit-learn on AWS and exported it to ONNX format. When importing through Prediction Studio > Models > Import, the system displays a success message but returns no content, and I encounter the following issues:
1. GLIBC Version Compatibility Error:
java.lang.UnsatisfiedLinkError: /var/cache/tomcat/temp/onnxruntime-java13099469389858444973/libonnxruntime.so: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /var/cache/tomcat/temp/onnxruntime-java13099469389858444973/libonnxruntime.so)
2. Rule Creation Errors:
com.pega.pegarules.pub.database.BadClassDefinitionException: Attempting to access a rule with a bad defined-on class: Trying to open rule "" of class "Rule-Decision-PredictiveModel", but no defined-on class (pyClassName) was specified.
3. Model Configuration Errors: The system indicates the following mandatory fields are missing:
- pyFileSource
- pyClassName
- pyObjective
- pyOutcomeType
- pyPredictMethodUsesNameValuePair
- pyFramework
- pyModelingTechnique
- pyModelID
- pyMachineLearningServiceID
- pyServiceType
- pyPurpose
- pyRuleSet
- pyRuleSetVersion
Technical Environment:
- Pega Platform Version: 24.2.1
- Operating System: [Your OS - likely CentOS/RHEL with GLIBC < 2.27]
- ONNX Runtime Version: Attempting to use 1.18.0 (appears incompatible)
- Model Framework: scikit-learn converted to ONNX format
Questions:
- GLIBC Compatibility: What is the minimum GLIBC version requirement for ONNX model support in Pega 24.2.1? Is there a way to use older ONNX Runtime versions (e.g., 1.10.x) that are compatible with older GLIBC versions?
- Model Import Process: When importing an ONNX model through Prediction Studio, should I provide:
- Just the .onnx file?
- A complete package with metadata files?
- What is the expected file structure for ONNX model imports?
- Required Configuration: Which of the missing mandatory fields should be automatically populated during import vs. manually configured? Is there documentation for the complete ONNX model import configuration requirements?
- Error Resolution: How can I resolve the "BadClassDefinitionException" error where pyClassName is not being specified during the model rule creation?
Expected Outcome: Successful import and deployment of the predictive model in Pega with proper configuration for binary classification (loan default prediction).
Files Available:
- ONNX model file (.onnx)
- Model training code
- Sample input data
- System logs with complete error traces
Please advise on the best approach to resolve these issues
- Screenshots of the import process and error messages