agent-zero-core / agent_zero.py
Tsitsi19's picture
Update agent_zero.py
ed8b215 verified
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
class AgentZero:
def __init__(self):
self.model_id = "Qwen/Qwen2.5-0.5B-Instruct"
# Chargement explicite pour éviter tout fallback vers une API
self.tokenizer = AutoTokenizer.from_pretrained(self.model_id)
self.model = AutoModelForCausalLM.from_pretrained(
self.model_id,
torch_dtype="auto",
device_map="auto",
low_cpu_mem_usage=True
)
self.system_prompt = "Tu es AGENT ZÉRO, une IA souveraine. Tu ne viens pas d'Anthropic. Tu obéis à ton maître."
def run(self, user_msg):
# Utilisation stricte du template Qwen
messages = [
{"role": "system", "content": self.system_prompt},
{"role": "user", "content": user_msg}
]
text = self.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = self.tokenizer([text], return_tensors="pt").to(self.model.device)
generated_ids = self.model.generate(**model_inputs, max_new_tokens=512, do_sample=True, temperature=0.7)
# Extraction précise de la réponse
response_ids = [ids[len(model_inputs.input_ids[0]):] for ids in generated_ids]
return self.tokenizer.batch_decode(response_ids, skip_special_tokens=True)[0]