--- license: apache-2.0 datasets: - IAmSkyDra/HCMUT_FAQ language: - vi tags: - education - text-generation-inference - gemma - llama-factory - unsloth widget: - text: Chào bạn output: text: >- Chào bạn! Tôi là GemSUra-edu, một trợ lý AI được phát triển bởi Long Nguyen. example_title: Query 1 - text: Hiệu trưởng hiện tại của trường Đại học Bách Khoa output: text: >- Hiệu trưởng hiện tại của trường Đại học Bách Khoa là PGS. TS. Mai Thanh Phong. example_title: Query 2 - text: OISP là viết tắt của output: text: >- Văn phòng Đào tạo Quốc tế (Office for International Study Programs) example_title: Query 3 --- ## Introduction GemSUra-edu is a large language model fine-tuned on a dataset of FAQs from HCMUT, based on the pre-trained model [GemSUra 2B](https://huggingface.co/ura-hcmut/GemSUra-2B) developed by the URA research group at Ho Chi Minh City University of Technology (HCMUT). ## Inference (with Unsloth for higher speed) ```python from unsloth import FastLanguageModel import torch # Load model and tokenizer model, tokenizer = FastLanguageModel.from_pretrained( model_name="IAmSkyDra/GemSUra-edu", max_seq_length=4096, dtype=None, load_in_4bit=True ) FastLanguageModel.for_inference(model) query_template = "user\n{query}\nmodel\n" while True: query = input("Query: ") if query.lower() == "exit": break query = query_template.format(query=query) inputs = tokenizer(query, return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=4096, use_cache=True) generated_text = tokenizer.batch_decode(outputs, skip_special_tokens=True) answer = generated_text[0].split("model\n")[1].strip() print(answer) ``` ## Inference (with Transformers) ```python import transformers from transformers import AutoModelForCausalLM, AutoTokenizer pipeline_kwargs = { "temperature": 0.1, "max_new_tokens": 4096, "do_sample": True } if __name__ == "__main__": # Load model model = AutoModelForCausalLM.from_pretrained( "IAmSkyDra/GemSUra-edu", device_map="auto" ) model.eval() # Load tokenizer tokenizer = AutoTokenizer.from_pretrained( "IAmSkyDra/GemSUra-edu", trust_remote_code=True ) pipeline = transformers.pipeline( model=model, tokenizer=tokenizer, return_full_text=False, task='text-generation', **pipeline_kwargs ) query_template = "user\n{query}\nmodel\n" while True: query = input("Query: ") if query.lower() == "exit": break query = query_template.format(query=query) answer = pipeline(query)[0]["generated_text"] answer = answer.split("model\n")[1].strip() print(answer) ``` ## Notation If you want to quantize the model for deployment on local devices, it should be quantized to at least 8 bits.