Views
No views yet
constraints (list[Constraint]): Advanced constraints, e.g., PhrasalConstraint, DisjunctiveConstraintforce_words_ids (list[list[int]] | list[list[list[int]]]): Simple way to specify words/phrases or disjunctive setsnum_beams (int): Beam widthlength_penalty, early_stopping, num_return_sequences, max_lengthdo_sample=False1from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
2
3tokenizer = AutoTokenizer.from_pretrained("t5-base")
4model = AutoModelForSeq2SeqLM.from_pretrained("t5-base")
5
6encoder_input_str = "translate English to German: How old are you?"
7input_ids = tokenizer(encoder_input_str, return_tensors="pt").input_ids
8
9force_words = ["Sie"]
10force_words_ids = tokenizer(force_words, add_special_tokens=False).input_ids
11
12outputs = model.generate(
13 input_ids,
14 custom_generate="transformers-community/constrained-beam-search",
15 force_words_ids=force_words_ids,
16 num_beams=5,
17 num_return_sequences=1,
18 no_repeat_ngram_size=1,
19 remove_invalid_values=True,
20 trust_remote_code=True,
21)
22
23print(tokenizer.decode(outputs[0], skip_special_tokens=True))Wie alt sind Sie?1from transformers import GPT2LMHeadModel, GPT2Tokenizer
2
3model = GPT2LMHeadModel.from_pretrained("gpt2")
4tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
5
6force_word = "scared"
7force_flexible = ["scream", "screams", "screaming", "screamed"]
8
9force_words_ids = [
10 tokenizer([force_word], add_prefix_space=True, add_special_tokens=False).input_ids,
11 tokenizer(force_flexible, add_prefix_space=True, add_special_tokens=False).input_ids,
12]
13
14starting_text = ["The soldiers", "The child"]
15input_ids = tokenizer(starting_text, return_tensors="pt").input_ids
16
17outputs = model.generate(
18 input_ids,
19 custom_generate="transformers-community/constrained-beam-search",
20 force_words_ids=force_words_ids,
21 num_beams=10,
22 num_return_sequences=1,
23 no_repeat_ngram_size=1,
24 remove_invalid_values=True,
25 trust_remote_code=True,
26)
27
28print(tokenizer.decode(outputs[0], skip_special_tokens=True))
29print(tokenizer.decode(outputs[1], skip_special_tokens=True))