import torchfrom model import MemoGPTfrom tokenizers import Tokenizer device = "cuda" if torch.cuda.is_available() else "cpu"tokenizer = Tokenizer.from_file("memogpt_tokenizer.json") checkpoint = torch.load("memogpt_30m.pt", map_location=device, weights_only=False)model = MemoGPT(checkpoint["config"]).to(device)model.load_state_dict(checkpoint["model_state_dict"])model.eval() soru = "sen kimsin"prompt = f"Kullanıcı: {soru}\nAsistan:"input_ids = torch.tensor([tokenizer.encode(prompt).ids], device=device) with torch.no_grad(): out = input_ids.clone() for _ in range(50): logits, _ = model(out[:, -512:]) next_t = torch.argmax(logits[:, -1, :], dim=-1, keepdim=True) if next_t.item() == tokenizer.token_to_id("<|eos|>"): break out = torch.cat([out, next_t], dim=1) if "\n" in tokenizer.decode(out[0].tolist()).split("Asistan:")[-1]: break cevap = tokenizer.decode(out[0].tolist()).split("Asistan:")[-1].strip()print("MemoGPT:", cevap)