How it works
The ensemble classifies the historical evidence. Separate rules check the supplied current facts, conflicts and delegated authority. Nouli connects these steps and records the workflow. Missing or conflicting required information bypasses the classifier; a person retains the final decision.
Model at a glance
| Property | Value |
|---|---|
| Input | An English historical incident narrative and a human-selected supporting excerpt |
| Output | One of four review themes, all probabilities and component outputs |
| Themes | Equipment/control integrity; Management/training; Work practice; Worksite condition |
| Workflow | Information request, referral or progression to human review under example rules |
| Models | RoBERTa-large, TS-Ettin-150M and Ettin encoder 1B |
| Size | Approximately 1.54B parameters in total; 3.07 GB of stored weights |
| Runtime | Local CPU or CUDA; CPU rechecked for this release |
| Licenses | Apache-2.0 and MIT; component notices apply |
Example input and output
Historical evidence excerpt: “truck brakes failed”
Context: A historical road-construction incident involving a water truck at a paving project. The complete original narrative accompanies the excerpt in the input packet. For the workflow demonstration, separate constructed documents supply a verified current-control status and a requested limit of USD 500,000, within the example authority limit.
Recorded output (abridged):
{
"learned_output": {
"label": "Equipment/control integrity"
},
"routing": {
"recommendation": "PROCEED_TO_UNDERWRITER_REVIEW",
"review_team": "engineering_controls_review",
"human_final_decision": true
}
}
The ensemble identifies an equipment issue in the historical evidence. The example rules then send the packet to engineering-controls review. Progression means a human review step, not insurance approval. Complete recorded output.
Examples for underwriting and risk-engineering teams
These examples cover all four themes. Each was run on CPU through the native Nouli workflow with its full historical narrative. The excerpts come from the source training partition and illustrate behavior; they are not an independent accuracy test. Suggested follow-up documents are supplied workflow guidance, not model-generated findings about current controls.
Equipment/control integrityRecorded CPU example
Supplied historical excerpt
truck brakes failed
{
"learned_output": {
"label": "Equipment/control integrity"
},
"routing": {
"review_team": "engineering_controls_review"
}
}
Current evidence to review: A dated equipment inspection and remediation verification.
Management/trainingRecorded CPU example
Supplied historical excerpt
employer did not ensure adequate ground and truss bracing were installed
{
"learned_output": {
"label": "Management/training"
},
"routing": {
"review_team": "management_training_review"
}
}
Current evidence to review: A current hazard-management and supervision plan.
Work practiceRecorded CPU example
Supplied historical excerpt
He inadvertently stepped off the roof
{
"learned_output": {
"label": "Work practice"
},
"routing": {
"review_team": "work_practice_review"
}
}
Current evidence to review: The current safe-work procedure and verification of its use.
Worksite conditionRecorded CPU example
Supplied historical excerpt
unprotected floor edge
{
"learned_output": {
"label": "Worksite condition"
},
"routing": {
"review_team": "worksite_conditions_review"
}
}
Current evidence to review: An updated site assessment and evidence of protective controls.
Complete inputs, probabilities and recorded outputs.
Handling incomplete information and referrals
The supplied cases also demonstrate the checks around the classifier:
| Situation | Recorded workflow behavior |
|---|---|
| Required facts are present | Classify the historical evidence and apply the review rule. |
| Current-control information is missing | Request information; skip classification. |
| Supplied current-control information conflicts | Refer to an underwriter; skip classification. |
| Requested limit exceeds delegated authority | Refer to senior-underwriter review. |
| Historical supporting evidence is absent | Request information; skip classification. |
| The declared authority limit changes | Apply the new rule to the same historical model input. |
These are constructed rule demonstrations, not observed carrier decisions. The USD limits, 0.8 probability threshold and team mappings are illustrative. Recorded workflow cases.
Quickstart
Use Python 3.12 and the HF CLI. Download the complete repository:
hf download nouli-ai/nouli-underwrite-evidence --revision v1.0.0 \
--local-dir ./nouli-underwrite-evidence
cd nouli-underwrite-evidence
python3.12 verify_release.py
python3.12 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python inference/predict.py --checkpoint . --device cpu \
--text-file examples/model-input.txt --output outputs/prediction.json
The provided helper runs the complete ensemble. The root is a custom package; a raw Transformers pipeline or AutoModel call will not run all three models. All weights and tokenizers are included. No hosted API key or separate base download is required.
To run the evidence checks and routing through Nouli CLI 0.5.1:
.venv/bin/python inference/nouli_demo.py --checkpoint . --device cpu \
--nouli /absolute/path/to/nouli \
--case examples/input.json --rules examples/portable/rules-v1.json \
--output outputs/workflow.json
See setup and integration for preparing your own evidence packet, hardware requirements, offline use and the local provider endpoint.
Evaluation, base models and data
The supplied frozen evaluation records 86.79% macro-F1 and 91.06% accuracy on 123 examples from 106 source reports. Inputs include human-selected supporting excerpts. These results measure historical evidence-theme classification, not performance on raw submissions or underwriting outcomes. Evaluation scope and metrics.
Based on RoBERTa-large, TS-Ettin-150M and Ettin encoder 1B, using ConstructCIE, a human-annotated dataset of historical construction accident narratives. Pinned revisions and provenance.
Limitations
- Requires a supplied, source-supported excerpt. Automatic evidence extraction and end-to-end processing of raw insurance submissions were not evaluated.
- Historical incidents do not establish present controls. Current assertions must cite separate supplied documents; the workflow does not independently verify those assertions.
- The benchmark is small and imbalanced, with few management/training examples in the held-out set. Performance across carriers, trades and document types remains unmeasured.
- Each component has a finite input budget. Keep the relevant excerpt first and follow the supplied serialization; long context can be truncated.
- Probabilities and the example review threshold are not guarantees of correctness. The rules require validation for the intended workflow.
- Coverage, liability, regulatory compliance, pricing, acceptance and binding decisions are outside scope. No insurer or source-data publisher endorsement is implied.
License and citation
Nouli's runtime additions and the TS-Ettin component use Apache-2.0; upstream MIT notices apply to RoBERTa and Ettin. ConstructCIE annotations are Apache-2.0. Preserve the component licenses, LICENSE and NOTICE.
Nouli AI. Nouli Underwrite Evidence. Cite the published version and commit. ConstructCIE is attributed in LICENSES.md.