import gradio as gr from transformers import pipeline 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', ) sentimentPipeline = pipeline("zero-shot-classification", model="cross-encoder/nli-distilroberta-base") def sentiment_analysis(text, labels): candidate_labels = labels.split(',') results = sentimentPipeline(text, candidate_labels) total_results = "" index = 0 for candidate_label in candidate_labels: total_results += f"Sentiment: {results.get('labels')[index]}, Score: {results.get('scores')[index]}" total_results += '\r\n' index += 1 return total_results with gr.Blocks(theme=theme, css="footer {visibility: hidden}") as demo: gr.Markdown("""
文本情感分析
""") with gr.Row(): with gr.Column(): text = gr.Textbox(label="文本") label = gr.Textbox(label="标签") with gr.Row(): button = gr.Button("提交", variant="primary") box2 = gr.Textbox(label="文本") button.click(fn=sentiment_analysis, inputs=[text, label], outputs=box2) examples = gr.Examples(examples=[['Apple just announced the newest iPhone X', 'technology, sports, politics'], ['Last week I upgraded my iOS version and ever since then my phone has been overheating whenever I use your app.', 'mobile, website, billing, account access']], inputs=[text, label], label="例子") if __name__ == "__main__": demo.queue(concurrency_count=3) demo.launch(server_name = "0.0.0.0")