The severity needing to be at the end was an important insight. It made the results much better but not quite good enough.
We had it output a json with fields {comment: string, severity: string} in that order.
We had it output a json with fields {comment: string, severity: string} in that order.
Effectively you are turning a somewhat arbitrary numeric “rating” task , into a multi label classification problem with well defined labels.
The natural evolution is to then train a BERT based classifier or similar on the set of labels and comments, which will get you a model judge that is super fast and can achieve good accuracy.