package com.lincfusion.udyamlinc.ml; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * Where the inference service is, and how long we are willing to wait for it. * *

Timeouts are short on purpose. A scoring run over the whole book must finish * inside its window, and an inference service that has become slow is * operationally the same as one that is down — both mean "score this enterprise * on rules and move on". */ @Component @ConfigurationProperties(prefix = "udyam.ml") @Getter @Setter public class MlProperties { /** Off by default: a checkout with no Python running must still boot and score. */ private boolean enabled = false; private String baseUrl = "http://127.0.0.1:8000"; /** Per-enterprise call. */ private int timeoutMs = 2000; /** Batch call over the book — larger, because it is one call for 263 rows. */ private int batchTimeoutMs = 30000; }