Metoda model.generate() & TextStreamer în Hugging Face Hub & Transformers

Execută bucla autoregresivă de generare a răspunsului, oferind control fin asupra strategiei de decodare (Greedy, Sampling, Beam Search) și afișare în timp real.

Sintaxă & invocare Python
from transformers import TextStreamer

streamer = TextStreamer(tokenizer, skip_prompt=True)
output_ids = model.generate(
    **inputs,
    max_new_tokens=512,
    do_sample=True,
    temperature=0.7,
    top_p=0.9,
    streamer=streamer
)

Descriere & Utilizare

După ce ai încărcat tokenizatorul și modelul, metoda model.generate() este cea care produce efectiv textul nou. Parametrul esențial pe care trebuie să îl setezi întotdeauna este max_new_tokens (câți tokeni noi are voie să scrie modelul peste lungimea promptului).

Strategia de alegere a cuvintelor este controlată de do_sample:

– Dacă do_sample=False (Greedy Decoding), modelul alege mecanic doar cuvântul cu probabilitatea maximă (determinist, ideal pentru extragere de date sau matematică).

– Dacă do_sample=True, activezi eșantionarea creativă controlată de temperature (ex: 0.7), top_p (ex: 0.9) și repetition_penalty (ex: 1.1 pentru a preveni repetarea acelorași fraze).

Atașând un obiect TextStreamer(tokenizer), vezi cuvintele curgând în consolă pe măsură ce sunt calculate.

Cum să o reții ușor

💡 Ca reglajele de cutie de viteze ale mașinii: poți merge pe șine fixe fără nicio abatere (`do_sample=False`) sau poți activa modul dinamic (`do_sample=True` cu `temperature`), ajustând cât de spontan să vireze conversația.

Opțiuni și parametri tehnici

  • Rulează pasul de Prefill pe tensorul input_ids și populează memoria KV Cache.
  • La fiecare pas de decodare, calculează distribuția de probabilitate peste vocabular, aplică filtrele (Temperature, Top-P, Top-K) și adaugă noul token la secvență.
  • Se oprește când întâlnește tokenul eos_token_id sau când atinge max_new_tokens.

Exemple practice și cazuri de utilizare

  • Extragere doar a tokenilor noi generați (fără promptul de intrare): generated_ids = output_ids[0][inputs['input_ids'].shape[-1]:]
    raspuns = tokenizer.decode(generated_ids, skip_special_tokens=True)
  • Generare deterministă reproductibilă: model.generate(**inputs, max_new_tokens=200, do_sample=False)

Sfaturi de configurare & capcane

Folosește întotdeauna max_new_tokens în locul vechiului parametru max_length. max_length include și lungimea promptului tău, ceea ce duce la tăierea bruscă a răspunsului când trimiți un prompt lung!

Comenzi și ghiduri înrudite

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Metoda model.generate() & TextStreamer

Ai o întrebare despre Metoda model.generate() & TextStreamer sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.