Caching-ul este automat, fără cod suplimentar și fără taxă. Când o cerere începe cu același prefix ca o cerere recentă (prompt de sistem, definiții de unelte, exemple few-shot, imagini), Groq reutilizează calculul pentru acel prefix. Intrările din cache stau doar în memorie volatilă și expiră după 2 ore fără utilizare. Groq încearcă să maximizeze potrivirile, dar nu le garantează. Caching-ul nu se poate dezactiva și nu schimbă calitatea răspunsului.
În octombrie 2026, caching-ul funcționează pentru openai/gpt-oss-20b, openai/gpt-oss-120b și openai/gpt-oss-safeguard-20b. Tokenii din cache au reducere de 50% (de exemplu $0,075 în loc de $0,15 pe 1M la GPT-OSS 120B) și nu intră în limitele de rată; ei sunt totuși scăzuți din limite după procesare, deci multe cereri paralele mari pot atinge limita. Lungimea minimă care se poate pune în cache este între 128 și 1024 de tokeni, în funcție de model. Reducerea nu se cumulează cu cea din Batch API.
Potrivirea este exactă, de la începutul promptului. Pune conținutul static la început (instrucțiuni, exemple, unelte, scheme, documente mari) și conținutul variabil la sfârșit (întrebarea, datele utilizatorului, data și ora, ID-uri). Schimbarea lui tool_choice, a uneltelor sau a imaginilor invalidează cache-ul.
Concepte cheie și caracteristici
| Concept / Parametru | Descriere practică |
|---|---|
usage.prompt_tokens |
Toți tokenii de intrare, inclusiv cei din cache. |
usage.prompt_tokens_details.cached_tokens |
Tokenii de intrare serviți din cache. |
Rata de potrivire |
cached_tokens / prompt_tokens × 100%. |
Expirare |
După 2 ore fără utilizare. |
Lungime minimă |
Între 128 și 1024 de tokeni, după model. |
Exemple practice și scenarii reale
Exemplul 1: Prompt de sistem static, întrebare variabilă
La a doua cerere, prefixul (documentul din mesajul de sistem) poate fi servit din cache; verifici în usage.
from groq import Groq
client = Groq()
DOCUMENT = open("regulament.txt", encoding="utf-8").read() # text lung, același la fiecare cerere
def intreaba(intrebare):
r = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[
{"role": "system", "content": "Răspunde doar din documentul următor.\n\n" + DOCUMENT},
{"role": "user", "content": intrebare},
],
)
detalii = r.usage.prompt_tokens_details
cache = detalii.cached_tokens if detalii else 0
print(f"{cache} din {r.usage.prompt_tokens} tokeni din cache")
return r.choices[0].message.content
intreaba("Care este termenul de retur?")
intreaba("Cine suportă costul transportului?")
Greșeli frecvente și capcane
- Pui data curentă sau ID-ul utilizatorului la începutul promptului de sistem. Prefixul diferă la fiecare cerere și nu se mai potrivește nimic.
- Aștepți reducerea pe modele care nu au caching (de exemplu
qwen/qwen3.8-27bîn octombrie 2026). - Schimbi ordinea uneltelor sau
tool_choicede la o cerere la alta. Orice modificare în prefix creează un cache nou.