# Prompt caching

> I token di input in cache hanno una tariffa propria. Cosa produce un hit in cache e cosa viene ignorato.


Alcune richieste riusano un prefisso lungo: un prompt di sistema, un file grande, una parte precedente della conversazione. Quando chi serve il modello trova quel prefisso in cache, quei token di input si pagano alla tariffa dell'input in cache indicata nella [pagina dei modelli](https://notholy.com/it/models).

- La cache è automatica. Non devi segnare niente.
- `cache_control` in Messages viene accettato e ignorato.
- L'utilizzo mostra la parte in cache: `prompt_tokens_details.cached_tokens` nelle chat completions, `input_tokens_details.cached_tokens` in Responses, `cache_read_input_tokens` in Messages.
- Un hit in cache non è garantito. Per aumentare le probabilità, tieni i contenuti stabili all'inizio del prompt e quelli che cambiano alla fine.

```python test
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])

system = "You review web application code for an authorized assessment. Report findings with file, line, CWE and a fix."
r = client.chat.completions.create(
    model="notholy-specter",
    messages=[{"role": "system", "content": system}, {"role": "user", "content": "Review: res.send(req.query.name)"}],
)
print(r.usage.prompt_tokens, getattr(r.usage.prompt_tokens_details, "cached_tokens", 0))
```

## Prossimi passi

- [Contenere i costi](/it/guides/cost)
