from fastapi import FastAPI from pydantic import BaseModel import gradio as gr import uvicorn from fastapi.middleware.cors import CORSMiddleware import threading app = FastAPI() origins = [ "http://localhost", "http://localhost:8000", ] # Erlaube alle Ursprünge app.add_middleware( CORSMiddleware, allow_origins=origins allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) class Item(BaseModel): prompt: str zeitstempel: int @app.post("/items/") async def create_item(item: Item): global prompt prompt = item.prompt zeitstempel = item.zeitstempel return {"prompt": prompt, "zeitstempel": zeitstempel} # Initialer Wert für prompt prompt = "" def get_prompt(): return prompt gr_interface = gr.Interface(fn=get_prompt, inputs=[], outputs="text", live=True) def start_gradio(): gr_interface.launch() @app.get("/") def read_root(): return {"message": "Willkommen am Root-Endpunkt."} if __name__ == "__main__": # Starte Gradio in einem separaten Thread threading.Thread(target=start_gradio).start() uvicorn.run(app, host="0.0.0.0", port=8000)