1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3
4MODEL_ID = "ZombitX64/Hanuman"
5
6tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
7model = AutoModelForCausalLM.from_pretrained(MODEL_ID)
8
9def generate_thai_text(prompt, max_length=100):
10 inputs = tokenizer(prompt, return_tensors="pt")
11 with torch.no_grad():
12 outputs = model.generate(
13 **inputs,
14 max_length=max_length,
15 temperature=0.7,
16 top_p=0.9,
17 do_sample=True,
18 pad_token_id=tokenizer.eos_token_id
19 )
20 return tokenizer.decode(outputs[0], skip_special_tokens=True)
21
22print(generate_thai_text("Artificial intelligence technology"))
1prompts = ["Hello", "Thailand has an area of", "Education in the digital era"]
2for p in prompts:
3 print(generate_thai_text(p, max_length=80))
4 print("-"*50)
1training_args = {
2 "per_device_train_batch_size": 2,
3 "per_device_eval_batch_size": 2,
4 "gradient_accumulation_steps": 4,
5 "num_train_epochs": 2,
6 "learning_rate": 5e-5,
7 "warmup_steps": 10,
8 "logging_steps": 10,
9 "eval_steps": 50,
10 "save_steps": 50,
11 "fp16": False, # CPU training
12 "dataloader_num_workers": 0
13}
This project is part of ongoing Thai NLP research.
Feedback, issues, and contributions are welcome!
1@misc{Hanuman2025,
2 title = {Hanuman: Thai Small Language Model},
3 author = {JonusNattapong and Koichi Yasuoka},
4 year = {2025},
5 howpublished = {\url{https://huggingface.co/ZombitX64/Hanuman}},
6 note = {Tokenizer advisor: Koichi Yasuoka}
7}