The Kladde assesses tenders with a language model. It reads the whole text, understands requirements in free words and explains its judgment. For that, every assessment costs tokens, takes seconds and may turn out a little differently the second time. For some questions there is an older, sober way: a small model that has learned from earlier decisions how numbers and categories relate to the result. This is called classic machine learning.
This lesson gives an overview of the way. With ML.NET, you train a model that predicts suitability from three invented features of a tender, and you compare it with the AI assessment on the same cases. After that, you place Azure Machine Learning and MLOps. Everything runs on your machine, without a model call and without the cloud.
| Package | Version | What for |
|---|---|---|
Microsoft.ML |
5.0.1 | pipeline, training, checking, saving |
Microsoft.Extensions.ML |
5.0.1 | only in overview: the model in a web application |
Two ways to a suitability
| Language model (T2.3) | trained classic model | |
|---|---|---|
| reads | the whole text of the tender | a few features as numbers and categories |
| needs beforehand | a prompt and a test set | hundreds of earlier decisions with a result |
| costs per assessment | tokens | practically nothing, a few microseconds of computing time |
| same input, same answer | not guaranteed | yes, as long as the model file is the same |
| explains | in words, for every case | not in words; it shows which features count |
| runs | at the provider or in Foundry Local | in the Kladde's process, without a network |
| new situation | adjust the prompt | train again |
A classic model is worthwhile when the question can be answered from a few fixed features and there are enough earlier decisions to learn from. Three properties then make it strong:
- Cheap. A prediction costs no tokens. At a thousand assessments a month, that's little money; at a million, it would be a lot.
- Consistent. The same model file always gives the same answer for the same input. A test that is green today is green tomorrow, too.
- Explainable. You can measure which feature counts how much. That is not an explanation for a single case, but a look inside that a language model doesn't offer.
It doesn't fit when what matters is in the free text. A tender that looks made for the office but demands at least 50 employees from the bidders is something a model will never recognize from industry, volume and deadline. Exactly such cases are in the test set from T9.1 as traps.
And it learns what's in the data, including what's wrong. If the office used to turn down tenders from one industry out of habit, the model learns that habit. Features about people, such as age or origin, therefore never belong in such a model; the principles from T1.4 apply here just the same.