from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "Simonc44/Cygnis-A3"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.float16,
device_map="auto",
trust_remote_code=True,
)
messages = [
{"role": "user", "content": "Écris une fonction Python qui calcule le PGCD de deux nombres."}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
ids = tokenizer(text, return_tensors="pt").to(model.device)
with torch.no_grad():
out = model.generate(
**ids,
max_new_tokens=300,
do_sample=True,
temperature=0.6,
top_p=0.95,
repetition_penalty=1.05,
eos_token_id=[tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|im_end|>")],
pad_token_id=tokenizer.eos_token_id,
)
response = tokenizer.decode(out[0][ids["input_ids"].shape[1]:], skip_special_tokens=True)
print(response)