File size: 1,059 Bytes
e0058ac
ea5b10f
e0058ac
ea5b10f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4d4a89a
 
ea5b10f
 
 
 
e0058ac
ea5b10f
e0058ac
 
ea5b10f
 
 
 
 
 
e0058ac
 
 
c3c5db1
e0058ac
 
 
c3c5db1
ea5b10f
1ecef01
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
from fastapi import FastAPI
from fastapi.responses import RedirectResponse
from fastrtc import Stream
from gradio.utils import get_space

try:
    from demo.llama_code_editor.handler import (
        CodeHandler,
    )
    from demo.llama_code_editor.ui import demo as ui
except (ImportError, ModuleNotFoundError):
    from handler import CodeHandler
    from ui import demo as ui


stream = Stream(
    handler=CodeHandler,
    modality="audio",
    mode="send-receive",
    concurrency_limit=10 if get_space() else None,
    time_limit=90 if get_space() else None,
)

stream.ui = ui

app = FastAPI()


@app.get("/")
async def _():
    url = "/ui" if not get_space() else "https://fastrtc-llama-code-editor.hf.space/ui/"
    return RedirectResponse(url)


if __name__ == "__main__":
    import os

    if (mode := os.getenv("MODE")) == "UI":
        stream.ui.launch(server_port=7860, ssr_mode=False)
    elif mode == "PHONE":
        stream.fastphone(host="0.0.0.0", port=7860)
    else:
        stream.ui.launch(server_port=7860, ssr_mode=False)