File size: 1,165 Bytes
5653716
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
875d37f
 
 
 
 
 
 
 
 
5653716
 
 
875d37f
5653716
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
import os
import sys
import time
import signal
import io

from fastapi import FastAPI, Request, status, Form, UploadFile
from fastapi.staticfiles import StaticFiles
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field
from fastapi.exceptions import RequestValidationError
from fastapi.responses import JSONResponse, StreamingResponse
import fn
import gradio as gr
from app import demo

app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=['*'],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

gr.mount_gradio_app(app, demo, path="/gradio")

@app.post("/set_config")
async def api_set_config(args: dict):
    content = fn.set_config_args(args)
    return {'content': content}

@app.post("/infer")
async def api_infer(args: dict):
    content = fn.infer(args=args)
    return {'content': content}

@app.post("/stream")
async def api_stream(args: dict):
    return StreamingResponse(
        fn.chat(args=args),
        media_type="text/event-stream",
    )

@app.post("/numel")
async def api_numel(args: dict):
    content = fn.numel(args=args)
    return {'numel': content}