Views
No views yet

facebook/mbart-large-50 to generate concise, coherent, and context‑aware summaries of Thai‑language content.| Item | Value |
|---|---|
| Model | KordAI/summer |
| Base Model | facebook/mbart-large-50 |
| Architecture | MBartForConditionalGeneration |
| Task | Text Summarization |
| Language | Thai (th_TH) |
| Fine‑tuning | Supervised Fine‑Tuning (SFT) |
1import torch
2from transformers import AutoTokenizer, MBartForConditionalGeneration
3
4# 1. Configuration
5MODEL_NAME = "KordAI/summer"
6THAI_LANG_CODE = "th_TH"
7
8print(f"Loading model and tokenizer from {MODEL_NAME}...")
9
10# Load tokenizer and explicitly enforce Thai language tokens
11tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
12tokenizer.src_lang = THAI_LANG_CODE
13tokenizer.tgt_lang = THAI_LANG_CODE
14
15# Load the merged model weights
16device = "cuda" if torch.cuda.is_available() else "cpu"
17model = MBartForConditionalGeneration.from_pretrained(
18 MODEL_NAME,
19 torch_dtype=torch.float16 if device == "cuda" else torch.float32
20).to(device)
21
22# 2. Input Thai Text
23thai_article = (
24 "กรมอุตุนิยมวิทยา ร่วมกับสถาบันวิจัยสภาวะแวดล้อม ได้เปิดเผยรายงานดัชนีความร้อนสะสมและสถานการณ์ "
25 "เอลนีโญที่มีแนวโน้มรุนแรงขึ้นอย่างต่อเนื่องในภูมิภาคเอเชียตะวันออกเฉียงใต้ โดยส่งผลกระทบโดยตรงต่อ "
26 "ปริมาณน้ำฝนเฉลี่ยในประเทศไทยที่ลดต่ำลงกว่าเกณฑ์ปกติถึงร้อยละ 15 ในช่วงต้นปีที่ผ่านมา ส่งผลให้ "
27 "เขื่อนหลักในภาคเหนือและภาคกลาง อาทิ เขื่อนภูมิพลและเขื่อนสิริกิต์ มีปริมาณน้ำใช้การได้จริงเหลือเพียง "
28 "ประมาณร้อยละ 30 ของความจุเท่านั้น ซึ่งถือเป็นระดับวิกฤตที่ต้องเฝ้าระวังอย่างใกล้ชิด "
29 "นักวิชาการด้านสิ่งแวดล้อมเตือนว่า ปรากฏการณ์นี้จะไม่เพียงแต่ส่งผลกระทบต่อภาคการเกษตรและการเพาะปลูก "
30 "ข้าวนาปรังเท่านั้น แต่ยังส่งผลกระทบต่อเนื่องไปถึงระบบนิเวศชายฝั่ง เนื่องจากปริมาณน้ำจืดที่ไหลลงสู่ "
31 "อ่าวไทยมีปริมาณลดลง ทำให้เกิดปัญหาป่าชายเลนเสื่อมโทรมและน้ำเค็มรุกคืบเข้าสู่พื้นที่เกษตรกรรมในแถบ "
32 "สมุทรปราการและฉะเชิงเทรา รัฐบาลจึงเตรียมประกาศมาตรการขอความร่วมมือจากทุกภาคส่วนให้ช่วยกันประหยัดน้ำ "
33 "และปรับเปลี่ยนพฤติกรรมการใช้น้ำ รวมถึงวางแผนระบบการจัดสรรน้ำแบบขั้นบันไดเพื่อสำรองน้ำไว้ใช้ในการ "
34 "อุปโภคบริโภคที่จำเป็นตลอดช่วงฤดูแล้งนี้"
35)
36
37print("\n--- Input Article ---")
38print(thai_article)
39
40# 3. Tokenize input text
41inputs = tokenizer(
42 thai_article,
43 return_tensors="pt",
44 max_length=1024,
45 truncation=True
46).to(device)
47
48# 4. Generate Summary
49print("\nGenerating summary...")
50with torch.no_grad():
51 summary_ids = model.generate(
52 inputs["input_ids"],
53 attention_mask=inputs["attention_mask"],
54 max_length=512,
55 num_beams=4,
56 no_repeat_ngram_size=3,
57 early_stopping=True,
58 # Force mBART to start generating with the Thai language token identifier
59 forced_bos_token_id=tokenizer.lang_code_to_id[THAI_LANG_CODE]
60 )
61
62# 5. Decode and Print Output
63summary_text = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
64
65print("\n--- Generated Summary ---")
66print(summary_text)facebook/mbart-large-50 using supervised instruction tuning on a curated, large‑scale Thai summarisation corpus.num_beams=4–8 for improved quality.min_length and max_length based on your use case.no_repeat_ngram_size=3 to avoid repetition.mbart-large-50 base model1@misc{summer2026,
2 title={Summer – Thai Text Summarization AI},
3 author={KordAI},
4 year={2026},
5 publisher={Hugging Face},
6 howpublished={https://huggingface.co/KordAI/summer}
7}