Views
No views yet
facebook/mbart-large-50.facebook/mbart-large-50seq2seq-generation)pt_XX1import torch
2from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
3
4model_name = "your-username/mBART50-Summarization-Council-PT"
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
7
8# Define language codes for mBART
9LANGUAGE_CODE = "pt_XX"
10tokenizer.src_lang = LANGUAGE_CODE
11tokenizer.tgt_lang = LANGUAGE_CODE
12
13def chunk_text(text, tokenizer, max_length=1024, stride=512):
14 tokens = tokenizer.encode(text, truncation=False)
15 chunks = []
16 start = 0
17 while start < len(tokens):
18 end = min(start + max_length, len(tokens))
19 chunks.append(tokenizer.decode(tokens[start:end], skip_special_tokens=True))
20 if end == len(tokens): break
21 start += stride
22 return chunks
23
24text = "17. PROCESSO DE OBRAS N.º... [Insert long meeting text here]"
25
26# Process long text through chunks
27chunks = chunk_text(text, tokenizer)
28full_context = " ".join(chunks)
29
30inputs = tokenizer(full_context, return_tensors="pt", max_length=1024, truncation=True)
31summary_ids = model.generate(
32 **inputs,
33 max_length=128,
34 num_beams=4,
35 early_stopping=True,
36 forced_bos_token_id=tokenizer.lang_code_to_id[LANGUAGE_CODE]
37)
38
39print(tokenizer.decode(summary_ids[0], skip_special_tokens=True))
40facebook/mbart-large-50pt_XXpredict_with_generate=Truenum_beams=4