AI_Assistant_for_Finance / llm /explaination.py
ChinarQ-AI's picture
Upload 7 files
c24bfc8 verified
raw
history blame contribute delete
896 Bytes
import torch
def generate_explanation(transaction, tokenizer, model, device=torch.device("cpu")):
if tokenizer is None or model is None:
return "Explanation service unavailable"
try:
text = (
f"Amount: ${transaction['amount']:.2f}, "
f"Credit Limit: ${transaction['credit_limit']:.2f}, "
f"Ratio: {transaction['amount_ratio']:.2f}, "
f"Chip Usage: {transaction.get('use_chip', 'N/A')}"
)
inputs = tokenizer([text], return_tensors="pt", truncation=True, padding=True).to(device)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
return f"Risk assessment: {probs[0][1]*100:.1f}% suspicious activity likelihood"
except Exception as e:
return f"Error generating explanation: {e}"