import gradio as gr from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_id = "Mohammed-Altaf/medical_chatbot-8bit" model = AutoModelForCausalLM.from_pretrained(model_id,ignore_mismatched_sizes=True) tokenizer = AutoTokenizer.from_pretrained(model_id) def get_clean_response(response): if type(response) == list: response = response[0].split("\n") else: response = response.split("\n") ans = '' cnt = 0 # to verify if we have seen Human before for answer in response: if answer.startswith("[|Human|]"): cnt += 1 elif answer.startswith('[|AI|]'): answer = answer.split(' ') ans += ' '.join(char for char in answer[1:]) ans += '\n' elif cnt: ans += answer + '\n' return ans def generate_text(input_text): input_ids = tokenizer(input_text, return_tensors="pt") output = model.generate( **input_ids, max_length=100, ) output_text = tokenizer.decode(output[0], skip_special_tokens=True) return get_clean_response(output_text) iface = gr.Interface(fn = generate_text, inputs = 'text', outputs = ['text'], title ='Medical ChatBot') iface.launch()