fastapi / app.py
mgokg's picture
Update app.py
0bc6d47 verified
raw
history blame
1.61 kB
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from pydantic import BaseModel
import gradio as gr
import uvicorn
from fastapi.middleware.cors import CORSMiddleware
import threading
app = FastAPI()
# Erlaube alle Ursprünge
app.add_middleware(
CORSMiddleware,
allow_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}
# Initialer Wert für prompt
prompt = ""
def get_prompt(prompt):
return prompt
@app.get("/fa.html")
async def read_index():
with open("index.html", "r") as f:
return HTMLResponse(content=f.read(), status_code=200)
@app.get("/")
def read_root():
return {"message": "Willkommen am Root-Endpunkt."}
with gr.Blocks() as demo:
gr.HTML(src="http://localhost:8000/fa.html", width="100%", height="600px")
with gr.Row():
details_output = gr.Textbox(label="Ausgabe")
with gr.Row():
ort_input = gr.Textbox(label="", placeholder="ask anything...")
with gr.Row():
button = gr.Button("Senden")
# Connect the button to the function
button.click(fn=get_prompt, inputs=ort_input, outputs=details_output)
# Launch the Gradio application
demo.launch()
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)