Cei mai mulți dezvoltatori tratează un API de LLM ca pe orice alt serviciu web: trimiți o cerere, primești un răspuns „corect". Apoi se lovesc de primul răspuns care sună impecabil dar e fals, de primul document care taie brusc răspunsul la jumătate de propoziție, de prima factură surprinzător de mare — și își dau seama că modelul mental cu care au pornit era greșit. Un LLM nu caută răspunsuri într-o bază de date; el prezice, token cu token, cea mai plauzibilă continuare a textului. Din această singură idee decurg variabilitatea, halucinațiile, costul pe tokeni și limitele de context — tot ce trebuie să înțelegi înainte de a scrie prima linie de cod.
Vom învăța aici trei lucruri esențiale: (1) ce este un model de limbaj din perspectiva celui care îl folosește prin API, (2) ciclul fundamental request → model → răspuns și rolul tokenilor în acest ciclu, și (3) de ce folosim SDK-urile oficiale Python în loc de apeluri HTTP scrise de mână. Pe parcurs vom contura, doar cât e necesar pentru orientare, peisajul de provideri și modele al anului 2026.
Ce înseamnă „LLM" pentru un dezvoltator de API
LLM înseamnă Large Language Model — model de limbaj de mari dimensiuni. Pentru un cercetător în învățare automată, aceasta deschide o discuție despre arhitecturi, atenție și antrenament. Pentru noi, dezvoltatorii care construim aplicații, definiția practică este mult mai simplă și mai utilă:
Un LLM este un serviciu căruia îi trimiți un text (sau o conversație) și care îți returnează o continuare plauzibilă a acelui text, generată cuvânt cu cuvânt.
Mecanismul de bază, redus la esență, este predicția token-ului următor. Modelul a fost antrenat să răspundă la o întrebare aparent banală: „dat fiind textul de până acum, care este cea mai probabilă bucată de text care urmează?" Repetând această predicție de mii de ori, una după alta, modelul produce propoziții, paragrafe și răspunsuri întregi.
Este crucial să interiorizezi această idee: modelul nu caută răspunsuri într-o bază de date și nu „știe" lucruri în sensul în care le știe un index de căutare. El generează text statistic plauzibil pe baza tiparelor învățate. Aceasta explică direct două comportamente pe care le vei întâlni mereu:
- Variabilitate: la aceeași întrebare poți primi formulări ușor diferite, pentru că generarea implică o componentă probabilistică.
- Halucinații: modelul poate produce afirmații care sună corect, dar sunt false, pentru că obiectivul lui este plauzibilitatea, nu adevărul verificat.
Acest curs te va învăța tehnici concrete pentru a controla variabilitatea și a reduce riscul de halucinație (prompturi clare, parametri precum temperatura, ieșiri structurate), dar punctul de plecare este să accepți natura generativă a instrumentului.
Prompt și completare: cele două capete ale conversației
În jargonul API-urilor de LLM apar constant doi termeni:
- Prompt (sau input): textul pe care îl trimiți tu către model. Poate fi o întrebare, un set de instrucțiuni, o conversație întreagă sau un document care trebuie procesat.
- Completare (sau completion / output): textul pe care modelul îl generează ca răspuns.
În API-urile moderne de chat — atât la OpenAI, cât și la Anthropic — promptul nu este un singur șir de caractere monolitic, ci o listă de mesaje cu roluri. Cele mai frecvente roluri sunt:
| Rol | Scop |
|---|---|
system |
Instrucțiuni globale de comportament (cine este asistentul, ce ton are, ce reguli respectă) |
user |
Ce spune utilizatorul / aplicația ta |
assistant |
Ce a răspuns modelul în tururi anterioare (necesar pentru conversații cu mai multe schimburi) |