File size: 1,610 Bytes
3c3db31 7161ebe 9179cf3 1a1b3a8 9179cf3 4e4e893 1a1b3a8 4e4e893 d7b5b8e 4e4e893 3dfd27d dc8a913 9179cf3 7161ebe 3a574e2 7161ebe 1a1b3a8 7161ebe b0228a2 7161ebe 3c3db31 0fcfd7e 3c3db31 0fcfd7e 0da9415 0bc6d47 0da9415 af2239a 0da9415 7161ebe 0da9415 4e4e893 7161ebe 1a1b3a8 |
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 60 61 62 63 64 65 66 |
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)
|