# Novita - gemma-4-31b grade card

OpenAI chat/completions · serves `google/gemma-4-31b-it` as gemma-4-31b · probed live 2026-08-29

HTML version: [https://inferencecanary.com/novita/gemma-4-31b](https://inferencecanary.com/novita/gemma-4-31b) · matrix: [https://inferencecanary.com/index.md](https://inferencecanary.com/index.md)

## Grades


| Axis | Grade | Basis |
|---|---|---|
| Inference | B | A − 1 high − 0 medium severity, per the published ladder |
| Billing | OK | Reported usage consistent with bytes on the wire. |
| Caching | No (0/8 hits) | No cold→warm trial hit - every call re-reads (and re-bills) the full context. Speed numbers: [https://inferencecanary.com/speed.md](https://inferencecanary.com/speed.md) |


## Flags

- **[high · inference] Several providers drop replayed reasoning: the model never sees its own prior thinking** - The gemma-4 chat template renders reasoning replayed on model turns, and the model card mandates preserving thinking across tool-call turns - the reference provider reproduces this live. These providers delete it before templating: on a continuation after a tool call, the model re-derives or invents instead of recalling, and no error is raised. AWS Bedrock's Responses dialect is the sharpest case: it defines an explicit input item for replayed reasoning, accepts it without error, and never renders it to the model. (details: [/replayed-reasoning-dropped.md](https://inferencecanary.com/replayed-reasoning-dropped.md))

