Spaces:
Sleeping
Sleeping
File size: 2,943 Bytes
8c09497 6ef0b07 e31f82b 4a16b87 e31f82b 4a16b87 8c09497 6ef0b07 d9fa0df e4ec2ca 053b39e 4a16b87 6ef0b07 e4ec2ca 76c343a 29e63c4 e4ec2ca 29e63c4 bc83b7c 4a16b87 6ef0b07 d9fa0df 053b39e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
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="facebook/bart-large-cnn", 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.translation(summary_text, source="en", target="zh")
print(f"Translation API Response: {translated_response}")
if hasattr(translated_response, 'translation_text') and translated_response.translation_text:
return translated_response.translation_text
elif hasattr(translated_response, 'generated_text'):
return translated_response.generated_text
else:
return "翻译失败,请重试。"
except Exception as e:
error_details = traceback.format_exc()
print(f"尝试失败,错误类型: {type(e).__name__}, 错误详情: {str(e)}, 堆栈: {error_details}")
time.sleep(1)
return f"网络错误,请稍后重试。错误详情:{str(e)}"
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() |