Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| import time | |
| import os | |
| import traceback | |
| HF_TOKEN = os.getenv("HF_TOKEN") | |
| if not HF_TOKEN: | |
| raise ValueError("HF_TOKEN not found in Secrets. Please set it in Space settings.") | |
| print(f"HF_TOKEN loaded: {len(HF_TOKEN) if HF_TOKEN else 0} characters") | |
| try: | |
| summary_client = InferenceClient(model="google/pegasus-xsum", token=HF_TOKEN) | |
| translation_client = InferenceClient(model="facebook/m2m100_418M", token=HF_TOKEN) | |
| def generate_summary(text): | |
| for _ in range(3): | |
| try: | |
| # 首先生成英文摘要 | |
| response = summary_client.summarization(text) | |
| print(f"Summary API Response: {response}") | |
| summary_text = response.generated_text if hasattr(response, 'generated_text') and response.generated_text else response.summary_text if hasattr(response, 'summary_text') and response.summary_text else None | |
| if not summary_text: | |
| return "摘要生成失败,属性缺失。" | |
| # 将英文摘要翻译为中文 | |
| translated_response = translation_client.text_generation( | |
| summary_text, | |
| src_lang="en", | |
| tgt_lang="zh", | |
| max_length=100 | |
| ) | |
| print(f"Translation API Response: {translated_response}") | |
| return translated_response if translated_response else "翻译失败,请重试。" | |
| except Exception as e: | |
| error_details = traceback.format_exc() | |
| print(f"尝试失败,错误类型: {type(e).__name__}, 错误详情: {str(e)}, 堆栈: {error_details}") | |
| time.sleep(1) | |
| return "网络错误,请稍后重试。" | |
| interface = gr.Interface( | |
| fn=generate_summary, | |
| inputs=gr.Textbox(lines=5, placeholder="输入文档内容..."), | |
| outputs="text", | |
| title="MySmartSummary", | |
| description="在线智能文档摘要工具,支持中文", | |
| examples=[ | |
| ["今天我们讨论了2025年的项目计划,包括产品发布、市场推广和预算分配。"] | |
| ], | |
| css="body {background-color: #f0f0f0; font-family: Arial;}" | |
| ) | |
| except Exception as e: | |
| error_details = traceback.format_exc() | |
| print(f"初始化错误,错误类型: {type(e).__name__}, 错误详情: {str(e)}, 堆栈: {error_details}") | |
| interface = gr.Interface( | |
| fn=lambda x: f"服务暂不可用,错误: {str(e)}", | |
| inputs="text", | |
| outputs="text", | |
| title="MySmartSummary", | |
| description="服务初始化失败" | |
| ) | |
| interface.launch() |