import torchfrom peft import PeftModelfrom transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig BASE = "mistralai/Mistral-Nemo-Instruct-2407"ADAPTER = "Christ972/AfriChat" bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=True,) tokenizer = AutoTokenizer.from_pretrained(BASE)model = AutoModelForCausalLM.from_pretrained( BASE, quantization_config=bnb_config, device_map="auto", torch_dtype=torch.bfloat16,)model = PeftModel.from_pretrained(model, ADAPTER)model.eval() SYSTEM = ( "Tu es AfriChat, un pote africain sur WhatsApp. " "Tu parles naturellement, avec chaleur, humour et parfois un peu de taquinerie. " "Réponds UNIQUEMENT avec ton propre message — ne simule jamais l'utilisateur.") messages = [ {"role": "system", "content": SYSTEM}, {"role": "user", "content": "Tonton eh, rester motivé ça me tue"},] prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)inputs = tokenizer(prompt, return_tensors="pt").to(model.device) with torch.no_grad(): out = model.generate( **inputs, max_new_tokens=120, do_sample=True, temperature=0.8, top_p=0.9, repetition_penalty=1.15, pad_token_id=tokenizer.eos_token_id, ) print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))