Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import AutoModelForSequenceClassification | |
| import torch | |
| # Load the pre-trained model | |
| model = AutoModelForSequenceClassification.from_pretrained( | |
| 'jinaai/jina-reranker-v2-base-multilingual', | |
| torch_dtype="auto", | |
| trust_remote_code=True, | |
| ) | |
| device = 'cuda' if torch.cuda.is_available() else 'cpu' | |
| model.to(device) # Move model to GPU if available, otherwise CPU | |
| model.eval() | |
| def compute_scores(query, documents): | |
| """ | |
| Compute scores between a query and multiple documents using the loaded model. | |
| Args: | |
| query (str): The input query string. | |
| documents (list of str): List of document strings to compare against the query. | |
| Returns: | |
| list of float: Scores representing the relevance of each document to the query. | |
| """ | |
| documents_list = documents.split('\n') | |
| sentence_pairs = [[query, doc] for doc in documents_list] | |
| scores = model.compute_score(sentence_pairs, max_length=1024) | |
| return scores | |
| # Define Gradio interface | |
| iface = gr.Interface( | |
| fn=compute_scores, | |
| inputs=[ | |
| gr.Textbox(lines=2, placeholder="Enter your query here..."), | |
| gr.Textbox(lines=8, placeholder="Enter your documents separated by newlines...") | |
| ], | |
| outputs="json", | |
| title="Sentence Pair Scoring with Jina Reranker Model", | |
| description="This tool computes the relevance scores between a given query and a set of documents using the Jina Reranker model." | |
| ) | |
| # Launch the interface | |
| if __name__ == "__main__": | |
| iface.launch() | |