from flask import Flask, request, render_template_string, jsonify, send_from_directory import requests import pandas as pd import re import time from random import randint, choice import os from transformers import XLMRobertaForSequenceClassification, XLMRobertaTokenizer from peft import PeftModel, PeftConfig # Ensure peft library is installed import torch from collections import defaultdict # Define the Flask app flask_app = Flask(__name__) #Load the base XLM-RoBERTa model with the correct number of labels (3 labels for classification) tokenizer = XLMRobertaTokenizer.from_pretrained("letijo03/lora-adapter-32",use_fast=True, trust_remote_code=True) base_model = XLMRobertaForSequenceClassification.from_pretrained("xlm-roberta-base", num_labels=3) config = PeftConfig.from_pretrained("letijo03/lora-adapter-32") model = PeftModel.from_pretrained(base_model, "letijo03/lora-adapter-32") model.eval() # Set the model to evaluation mode def classify_sentiment(text): inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=512) outputs = model(**inputs) prediction = torch.argmax(outputs.logits, dim=-1) return prediction.item() # HTML template for user input html_template = """