I’ve been experimenting with Zephyr and pretty surprised by the great performance. One problem I have with Zephyr is the difficulty to build structured outputs. For example if I ask it to return only True or False, it will return a lengthy explanation. This makes it tough to use Zephyr as part of a production system, since incorrectly structured outputs have huge implications.
Has anyone found some tricks to make Zephyr produce outputs in a defined format and do so deterministically?


The correct answer here is reading logprobs/logits over the true/false tokens after parsing the input.
Using a grammar is overkill and a classification model might not get you the fidelity you want.