from fastapi import FastAPI, BackgroundTasks from transformers import pipeline import uuid app = FastAPI() # Загружаем легкую модель (она скачается сама при запуске) pipe = pipeline("text-generation", model="gpt2") tasks = {} @app.post("/generate") async def generate(prompt: str, background_tasks: BackgroundTasks): task_id = str(uuid.uuid4()) tasks[task_id] = {"status": "pending", "result": None} def run_ai(tid, p): try: # Генерация 50 новых токенов res = pipe(p, max_new_tokens=50, truncation=True) tasks[tid] = {"status": "ready", "result": res[0]['generated_text']} except Exception as e: tasks[tid] = {"status": "error", "result": str(e)} background_tasks.add_task(run_ai, task_id, prompt) return {"task_id": task_id} @app.get("/check/{task_id}") async def check(task_id: str): return tasks.get(task_id, {"status": "not_found", "result": None})