Tokenii sunt unitățile fundamentale de text pe care modelele de limbaj (LLM) le procesează, funcționând similar cu „cuvintele” sau chiar părțile de cuvinte, în funcție de algoritmul de tokenizare. Context window-ul reprezintă limita maximă de tokeni pe care modelul îi poate „vedea” simultan într-o conversație sau cerere. Înțelegerea acestor concepte este crucială deoarece influențează direct costurile, viteza de răspuns și capacitatea modelului de a reține informația relevantă din istoricul discuției. Dacă depășești limita, modelul uită informațiile anterioare, ceea ce poate duce la pierderea contextului necesar pentru un răspuns coerent.
Ce trebuie să știi
- Tokenizarea nu este egală cu cuvintele: Un singur token poate fi o cuvânt întreg, un prefix, un sufix sau chiar un caracter special. De exemplu, „university” poate fi un singur token, iar „unhappiness” poate fi împărțit în mai multe.
- Limita de context este rigidă: Fiecare model are o capacitate maximă (de ex., 8k, 32k sau 128k tokeni). Aceasta include atât promptul tău, cât și răspunsul generat de model.
- Costul este proporțional cu volumul: Majoritatea API-urilor facturează per 1.000 de tokeni. Un context window mai mare înseamnă costuri mai ridicate pentru fiecare interacțiune.
- Pierderea contextului („Lost in the Middle”): Chiar dacă ai un context mare, modelul tinde să acorde mai puțină atenție informațiilor plasate la mijlocul textului lung comparativ cu începutul și sfârșitul.
- Managementul memoriei: În aplicații complexe, trebuie să decizi ce mesaje din istoricul conversației să trimiți către model pentru a optimiza spațiul disponibil.
# Exemplu conceptual de gestionare a contextului
def process_message(user_input, history):
# Tokenizează inputul pentru a verifica lungimea
tokens = tokenizer.encode(user_input)
if len(tokens) > MAX_CONTEXT_LIMIT:
return "Input prelungit. Te rog să îl simplifici."
# Trimite doar ultimele N mesaje pentru a respecta limita
recent_history = history[-5:]
response = llm.generate(prompt=user_input, context=recent_history)
return response
Cum să înveți
- Experimentează cu diverse modele: Testează aceeași cerere pe modele cu contexte diferite (ex. GPT-4 vs. un model mic local) pentru a observa diferențele de comportament și limitări.
- Jocuri de rol cu tokenizatoare online: Folosește instrumente interactive care arată cum se tokenizează textul pentru a înțelege relația dintre caractere, cuvinte și tokeni.
- Optimizează prompturile: Exersează scrierea de prompturi concise și structurate, eliminând informațiile redundante pentru a economisi spațiu în context window.