File size: 1,522 Bytes
7472a45 691416f 7472a45 691416f 7472a45 691416f 7472a45 691416f 7472a45 691416f 7472a45 b951b0b 691416f 7472a45 3585ee9 7472a45 3585ee9 7472a45 691416f 061af0a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import gradio as gr
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
# Load model and tokenizer
model_name = "cross-encoder/ms-marco-MiniLM-L-12-v2"
print("Loading model and tokenizer...")
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
model.eval() # Set model to evaluation mode
print("Model and tokenizer loaded successfully.")
# Function to compute relevance score
def get_relevance_score(query, paragraph):
if not query.strip() or not paragraph.strip():
return "Please provide both a query and a document paragraph."
print(f"Received inputs -> Query: {query}, Paragraph: {paragraph}")
# Tokenize inputs
inputs = tokenizer(query, paragraph, return_tensors="pt", truncation=True, padding=True)
# Perform inference without gradient tracking
with torch.no_grad():
score = model(**inputs).logits.squeeze().item()
print(f"Calculated score: {score}")
return round(score, 4)
def test_function(query, paragraph):
return f"Received query: {query}, paragraph: {paragraph}"
# Define Gradio interface
interface = gr.Interface(
fn=test_function,
inputs=[gr.Textbox(label="Query"), gr.Textbox(label="Document Paragraph")],
outputs=gr.Textbox(label="Output"),
title="Test App",
description="Testing if UI responds to input."
)
if __name__ == "__main__":
print("Launching Gradio app...")
interface.launch(share=True) |