File size: 885 Bytes
4d32cd6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import gradio as gr

# Load model and tokenizer
model_name = 'cross-encoder/ms-marco-MiniLM-L6-v2'
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model.eval()

# Define inference function
def get_similarity(question, answer):
    features = tokenizer(question, answer, padding=True, truncation=True, return_tensors="pt")
    with torch.no_grad():
        score = model(**features).logits
        return float(score[0][0])  # Convert tensor to float

# Create Gradio interface
iface = gr.Interface(
    fn=get_similarity,
    inputs=[
        gr.Textbox(label="Question"),
        gr.Textbox(label="Answer")
    ],
    outputs=gr.Number(label="Similarity Score"),
    title="Cross-Encoder QA Relevance"
)

iface.launch()