import gradio as gr from transformers import pipeline # 直接引用 Hugging Face Hub 上的模型 MODEL_REPO = "tabularisai/multilingual-sentiment-analysis" # 初始化情感分析 pipeline classifier = pipeline("sentiment-analysis", model=MODEL_REPO) def analyze_sentiment(text): try: results = classifier(text) # 处理单条和多条输入 if isinstance(results, list): output_lines = [] for result in results: label = result.get('label', '') score = result.get('score', 0) output_lines.append(f"Label: {label}, Confidence: {score:.2%}") return "\n".join(output_lines) else: label = results.get('label', '') score = results.get('score', 0) return f"Label: {label}, Confidence: {score:.2%}" except Exception as e: return f"Error: {str(e)}" # Gradio Web 界面 with gr.Blocks(title="Multilingual Sentiment Analysis") as app: gr.Markdown("## 🌍 Multilingual Sentiment Analysis\nAnalyze sentiment for texts in multiple languages using [tabularisai/multilingual-sentiment-analysis](https://huggingface.co/tabularisai/multilingual-sentiment-analysis).") prompt_input = gr.Textbox(label="Enter your text here", lines=3, placeholder="Type or paste your sentence...") output = gr.Textbox(label="Sentiment Result", lines=2) btn = gr.Button("Analyze Sentiment") btn.click( fn=analyze_sentiment, inputs=prompt_input, outputs=output ) if __name__ == "__main__": app.launch()