eroha-agentapi / app.py
Yermek68's picture
Update app.py
bf42b73 verified
raw
history blame
1.53 kB
import gradio as gr
from transformers import pipeline
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
# 1. Модель суммаризации
summarizer = None
def summarize_text(text: str):
"""Функция суммаризации текста"""
global summarizer
if summarizer is None:
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
result = summarizer(text, max_length=180, min_length=50, do_sample=False)
return result[0]["summary_text"]
# 2. FastAPI-приложение (для REST API)
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
@app.post("/api/summarize")
async def summarize_api(data: dict):
"""REST API для суммаризации"""
text = data.get("text", "")
return {"summary": summarize_text(text)}
# 3. Gradio интерфейс (веб-интерфейс)
iface = gr.Interface(
fn=summarize_text,
inputs=gr.Textbox(lines=10, label="Введите текст для суммаризации"),
outputs=gr.Textbox(label="Результат"),
title="Eroha Summarizer PRO",
description="AI-инструмент для анализа и суммаризации текста (рус/англ)."
)
# 4. Запуск сервера (чтобы контейнер Hugging Face не завершался)
if __name__ == "__main__":
iface.launch(server_name="0.0.0.0", server_port=7860, share=False)