Commit 4a2f7481 authored by novelailab's avatar novelailab

return SSE hack

parent 52b9aea8
from fastapi import FastAPI, Request from fastapi import FastAPI, Request
from pydantic import BaseModel from pydantic import BaseModel
from fastapi.responses import HTMLResponse, PlainTextResponse from fastapi.responses import HTMLResponse, PlainTextResponse, Response
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from sentry_sdk import capture_exception from sentry_sdk import capture_exception
from sentry_sdk import capture_message from sentry_sdk import capture_message
...@@ -70,7 +70,7 @@ class GenerationOutput(BaseModel): ...@@ -70,7 +70,7 @@ class GenerationOutput(BaseModel):
class ErrorOutput(BaseModel): class ErrorOutput(BaseModel):
error: str error: str
@app.post('/generate', response_model=Union[GenerationOutput, ErrorOutput]) @app.post('/generate', response_model=Union[Response, ErrorOutput])
def generate(request: GenerationRequest): def generate(request: GenerationRequest):
t = time.perf_counter() t = time.perf_counter()
print(request) print(request)
...@@ -91,7 +91,17 @@ def generate(request: GenerationRequest): ...@@ -91,7 +91,17 @@ def generate(request: GenerationRequest):
process_time = time.perf_counter() - t process_time = time.perf_counter() - t
logger.info(f"Request took {process_time:0.3f} seconds") logger.info(f"Request took {process_time:0.3f} seconds")
return GenerationOutput(output=images) data = ""
ptr = 0
for x in images:
ptr += 1
data += ("""event: newImage
id: {}
data:{}
""").format(ptr, x)
return Response(content=data, media_type="text/event-stream")
#return GenerationOutput(output=images)
except Exception as e: except Exception as e:
capture_exception(e) capture_exception(e)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment