| title | Parsers |
|---|---|
| description | Output-fixing and retry parsers for when an LLM emits dirty JSON. |
| sidebarTitle | Parsers |
Parser examples enact what happens when the LLM gets the JSON contract slightly wrong. Sources under examples/parsers/.
| Name | Scenario | Source |
|---|---|---|
parsers_fixing |
LLM emits malformed JSON — OutputFixingParser re-prompts with the parse error, the model usually fixes it on the second try. |
src |
parsers_retry |
When one fix isn't enough — RetryParser loops the fixer + parse cycle up to N times until parsing succeeds, surfacing the last error if all attempts fail. |
src |
cargo run -p cognis-examples --example parsers_fixing
cargo run -p cognis-examples --example parsers_retryOutputFixingParser— model is capable of valid JSON but slipped this time. Cheaper: one repair attempt with the parse error in the prompt.RetryParser— one repair pass isn't enough; loop fixer + parse up to N times. More expensive but more robust against models that produce different-but-still-broken JSON each attempt.
In production, layer them: RetryParser::with_retries(OutputFixingParser::new(inner, fixer), 3).