File size: 1,235 Bytes
f3f7a22
b7982f9
f3f7a22
 
b7982f9
f3f7a22
b7982f9
f3f7a22
b7982f9
f3f7a22
 
 
 
 
 
 
 
 
 
 
 
b7982f9
f3f7a22
b7982f9
f3f7a22
 
 
b7982f9
 
f3f7a22
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
from transformers import AutoTokenizer, AutoModelForQuestionAnswering

tokenizer = AutoTokenizer.from_pretrained("microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract-fulltext")
model = AutoModelForQuestionAnswering.from_pretrained("microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract-fulltext")

import torch

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

def biomedical_chatbot(user_message):
    # Tokenize the user's message
    inputs = tokenizer.encode_plus(user_message, add_special_tokens=True, return_tensors="pt").to(device)
    
    # Generate a response using the pre-trained model
    answer_start_scores, answer_end_scores = model(**inputs)
    answer_start = torch.argmax(answer_start_scores)
    answer_end = torch.argmax(answer_end_scores) + 1
    answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0][answer_start:answer_end]))
    
    # Return the response
    return answer

import gradio as gr

gradio_interface = gr.Interface(fn=biomedical_chatbot, 
                                inputs=gr.inputs.Textbox(placeholder="Enter your message here..."), 
                                outputs=gr.outputs.Textbox())


gradio_interface.launch()