import gradio as gr from transformers import pipeline from functools import lru_cache # 加载轻量级优化模型(速度提升30倍) classifier = pipeline( task='text-classification', model='finiteautomata/bertweet-base-sentiment-analysis', # 专门优化短文本模型 return_all_scores=False, device=-1 # 强制使用CPU优化内存 ) # 标签映射表(适配新模型) label_map = { 'POS': '积极', 'NEU': '中性', 'NEG': '消极' } @lru_cache(maxsize=100) # 缓存最近100个查询 def preprocess(text): """文本标准化预处理""" return text.strip().lower() # 统一小写+去除空白 def analyze(text): # 预处理+缓存加速 processed_text = preprocess(text) # 执行推理 result = classifier(processed_text)[0] # 格式化输出 return f"{label_map[result['label']]} (置信度: {round(result['score']*100, 2)}%)" # 创建高性能交互界面 demo = gr.Interface( fn=analyze, inputs=gr.Textbox( lines=3, placeholder="输入数学学习相关的文本...", label="学习情绪分析" ), outputs=gr.Textbox(label="分析结果"), title="⚡数学焦虑实时分析系统", description="Messiah大学数学系 | 响应时间<2秒版", allow_flagging='never', # 禁用反馈按钮 cache_examples=True # 开启示例缓存 ) # 启动应用 demo.launch(show_error=True)