import gradio as gr from transformers import pipeline, AutoTokenizer, AutoConfig, AutoModelForSequenceClassification from gradio.themes.utils import sizes theme = gr.themes.Default(radius_size=sizes.radius_none).set( block_label_text_color = '#4D63FF', block_title_text_color = '#4D63FF', button_primary_text_color = '#4D63FF', button_primary_background_fill='#FFFFFF', button_primary_border_color='#4D63FF', button_primary_background_fill_hover='#EDEFFF', ) modelName="finiteautomata/bertweet-base-sentiment-analysis" sentimentPipeline = pipeline("sentiment-analysis", model=modelName) def sentiment_analysis(text): results = sentimentPipeline(text) return f"Sentiment: {results[0].get('label')}, Score: {results[0].get('score'):.2f}" with gr.Blocks(theme=theme, css="footer {visibility: hidden}") as demo: gr.Markdown("""
文本情感分析
""") with gr.Row(): with gr.Column(): box1 = gr.Textbox(label="文本") with gr.Row(): button = gr.Button("提交", variant="primary") clear = gr.Button("清除", variant="primary") box2 = gr.Textbox(label="文本") button.click(fn=sentiment_analysis, inputs=box1, outputs=box2) clear.click(lambda x: gr.update(value=''), [], [box1]) examples = gr.Examples(examples=[['I am happy.'], ['I am sad].'], ['This is a cat.']], inputs=[box1], label="例子") if __name__ == "__main__": demo.queue(concurrency_count=3) demo.launch(server_name = "0.0.0.0", server_port = 7028)