from transformers import AutoTokenizer, AutoModelForCausalLMfrom peft import PeftModelimport torch tokenizer = AutoTokenizer.from_pretrained("poseidon1113/gpt2-lora-financial-sentiment-v2")model = PeftModel.from_pretrained( AutoModelForCausalLM.from_pretrained("gpt2", torch_dtype=torch.float16), "poseidon1113/gpt2-lora-financial-sentiment-v2").eval() def predict(sentence): inputs = tokenizer(f"### Sentence:\n{sentence}\n\n### Sentiment:\n", return_tensors="pt") with torch.no_grad(): out = model.generate(**inputs, max_new_tokens=10, do_sample=False, pad_token_id=tokenizer.eos_token_id) result = tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True).strip().lower() return next((w for w in result.split() if w in ("positive", "negative", "neutral")), "neutral") predict("Operating profit rose to EUR 13.1 mn from EUR 21.1 mn.") # → positivepredict("The company reported a loss for the third consecutive quarter.") # → negative