Spaces:
Sleeping
Sleeping
File size: 2,115 Bytes
e05abd0 672fa81 edadbff ffacbee edadbff e05abd0 edadbff 5f40d23 edadbff 0c6360c edadbff 8fccea5 edadbff e05abd0 edadbff e05abd0 5e49ced edadbff 6794548 8fccea5 a6eaf64 |
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
from transformers import BertTokenizerFast,TFBertForSequenceClassification,TextClassificationPipeline
import numpy as np
import tensorflow as tf
import gradio as gr
import openai
import os
# Sentiment Analysis Pre-Trained Model
model_path = "leadingbridge/sentiment-analysis"
tokenizer = BertTokenizerFast.from_pretrained(model_path)
model = TFBertForSequenceClassification.from_pretrained(model_path, id2label={0: 'negative', 1: 'positive'} )
def sentiment_analysis(text):
pipe = TextClassificationPipeline(model=model, tokenizer=tokenizer)
result = pipe(text)
return result
# Open AI Chatbot Model
openai.api_key = "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"
start_sequence = "\nAI:"
restart_sequence = "\nHuman: "
prompt = "You can discuss any topic with the Chatbot assistant in Chinese by typing it in here"
def openai_create(prompt):
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
temperature=0.9,
max_tokens=1024,
top_p=1,
frequency_penalty=0,
presence_penalty=0.6,
stop=[" Human:", " AI:"]
)
return response.choices[0].text
def chatgpt_clone(input, history):
history = history or []
s = list(sum(history, ()))
s.append(input)
inp = ' '.join(s)
output = openai_create(inp)
history.append((input, output))
return history, history
# Gradio Output Model
with gr.Blocks() as demo:
gr.Markdown("Choose the Chinese NLP model you want to use from the tabs")
with gr.Tab("OpenAI Chatbot"):
chatbot = gr.Chatbot()
message = gr.Textbox(placeholder=prompt)
state = gr.State()
submit = gr.Button("SEND")
submit.click(chatgpt_clone, inputs=[message, state], outputs=[chatbot, state])
with gr.Tab("Sentiment Analysis"):
inputs = gr.Textbox(placeholder="Enter a Chinese positive or negative sentence here")
outputs = gr.Textbox(label="Sentiment Analysis")
proceed_button = gr.Button("proceed")
proceed_button.click(fn=sentiment_analysis, inputs=inputs, outputs=outputs)
demo.launch(inline=False) |