QuratulainButt's picture
Update app.py
9ac1acf verified
raw
history blame contribute delete
No virus
1.35 kB
import gradio as gr
from transformers import pipeline
from gpt4all import GPT4All
model = GPT4All("orca-mini-3b-gguf2-q4_0.gguf")
model_name = "distilbert/distilbert-base-uncased-finetuned-sst-2-english"
sentiment_analysis = pipeline("text-classification", model=model_name)
def get_sentiment(text):
analysed_text = str(sentiment_analysis (text)[0]["label"])
return analysed_text
def generate_prompt(user_input):
sentiment = get_sentiment(user_input)
if sentiment == 'POSITIVE':
response = f"User is happy and said: {user_input}. Tell the user that it is good to know that they are happy and also write a two line poetry to celebrate their happiness."
else:
response = f"User is sad and said: {user_input}. Respond with a comforting message and tell them to share their issues if they would like, also write a poem to cheer them on."
return response
def chatbot_response(input_text):
text_prompt = generate_prompt(input_text)
tokens = []
with model.chat_session() as session:
for token in model.generate(text_prompt, streaming=True):
tokens.append(token)
response = ''.join(tokens)
return response
iface = gr.Interface(
fn=chatbot_response,
inputs=gr.components.Textbox(lines=2, placeholder="......."),
outputs="text",
)
iface.launch(debug=True)