# Prompt caching

> Tokens de entrada em cache têm tarifa própria. O que gera um cache hit e o que é ignorado.


Algumas requisições reaproveitam um prefixo longo: um system prompt, um arquivo grande, uma parte anterior da conversa. Quando o lado que serve o modelo encontra esse prefixo em cache, esses tokens de entrada são cobrados pela tarifa de entrada em cache mostrada na [página de modelos](https://notholy.com/pt-br/models).

- O cache é automático. Você não precisa marcar nada.
- `cache_control` no Messages é aceito e ignorado.
- O uso mostra a parte em cache: `prompt_tokens_details.cached_tokens` em chat completions, `input_tokens_details.cached_tokens` no Responses, `cache_read_input_tokens` no Messages.
- Um cache hit não é garantido. Para aumentar as chances, deixe o conteúdo estável no começo do prompt e o que muda no final.

```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))
```

## Próximos passos

- [Boas práticas de custo](/pt-br/guides/cost)
