Abstention
Abstention
Section titled “Abstention”When Bivia isn’t confident enough to give a reliable answer, it abstains instead of guessing. This is a feature, not a failure — you always know whether to trust the answer.
How it works
Section titled “How it works”Every response includes a status field:
answered— the model is confident.valuecontains the answer.abstained— the model is not confident.valueisnull.
{ "status": "abstained", "value": null, "abstain_reason": "low_confidence", "distribution": { "yes": 0.52, "no": 0.48 }}Even on abstention, the distribution is still returned so you can see how the probability mass was spread.
Abstention reasons
Section titled “Abstention reasons”| Reason | Meaning |
|---|---|
low_confidence | Probability mass was too spread across options |
readout_disagreement | Deep-mode verification found a conflict |
insufficient_evidence | Not enough context to decide |
unresolved_after_thinking | Reasoning did not resolve ambiguity |
Controlling abstention
Section titled “Controlling abstention”By default, allow_abstain is true. Set it to false to force a best-effort answer:
{ "question": "...", "allow_abstain": false }In deep mode, abstention is always possible (the verification step may trigger it regardless of allow_abstain).