Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import time | |
| from transformers import pipeline, TFAutoModelForSeq2SeqLM, AutoTokenizer | |
| import torch, os | |
| if torch.backends.mps.is_available(): | |
| device = torch.device("mps") | |
| elif torch.cuda.is_available(): | |
| device = torch.device("cuda") | |
| else: | |
| device = torch.device("cpu") | |
| print(device) | |
| modelName = "scott12355/Qwen-Menatl-Health-3BV2" #Qwen/Qwen2.5-1.5B-Instruct | |
| chatbot_model = pipeline("text-generation", model=modelName, device=device, batch_size=16) | |
| sentiment_model = pipeline("sentiment-analysis", device=device) | |
| def echo(message, history, system_prompt, tokens): | |
| conversation_history = [] | |
| for item in history: | |
| conversation_history.append( | |
| {"role": "user", "content": item[0]}, | |
| ) | |
| conversation_history.append( | |
| {"role": "assistant", "content": item[1]}, | |
| ) | |
| sentiment = sentiment_model(message)[0] | |
| if sentiment['label'] == 'NEGATIVE': | |
| prompt = f"The user is upset, respond with empathy and support: {message}" | |
| else: | |
| prompt = f"Respond to the following query: {message}" | |
| conversation_history.append( | |
| {"role": "user", "content": prompt}, | |
| ) | |
| print(conversation_history) | |
| result = chatbot_model(conversation_history, num_return_sequences=1, max_new_tokens=tokens) | |
| return result[0]['generated_text'][-1]['content'] | |
| demo = gr.ChatInterface( | |
| echo, | |
| additional_inputs=[ | |
| gr.Textbox(value="You are a friendly Chatbot.", label="System prompt"), | |
| gr.Slider(minimum=1, maximum=500, value=225, step=1, label="Max new tokens"), | |
| ], | |
| title="Scotts Chatbot", | |
| description="A friendly, AI-powered chatbot designed to respond to user queries based on the Qwen model.", | |
| # css="footer {visibility: hidden}" | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |