File size: 1,526 Bytes
c2f1466
722ab73
c2f1466
 
 
cf7a07e
da9b438
7192ffe
d79f686
da9b438
c4b962a
c2f1466
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0898ec8
4287daf
 
 
42002f6
37d9a7a
0898ec8
4287daf
 
 
4ab452c
f8156e8
c2f1466
5be15aa
d79f686
5be15aa
3104338
0898ec8
5be15aa
6872135
0898ec8
1979413
d32111b
8bd8f14
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
import gradio as gr
from gradio_client import Client as GrClient
import inspect
from gradio import routes
from typing import List, Type

import requests, os, re, asyncio


loop = asyncio.get_event_loop()
gradio_client = GrClient(os.environ['GrClient_url'])
# Monkey patch
def get_types(cls_set: List[Type], component: str):
    docset = []
    types = []
    if component == "input":
        for cls in cls_set:
            doc = inspect.getdoc(cls)
            doc_lines = doc.split("\n")
            docset.append(doc_lines[1].split(":")[-1])
            types.append(doc_lines[1].split(")")[0].split("(")[-1])
    else:
        for cls in cls_set:
            doc = inspect.getdoc(cls)
            doc_lines = doc.split("\n")
            docset.append(doc_lines[-1].split(":")[-1])
            types.append(doc_lines[-1].split(")")[0].split("(")[-1])
    return docset, types
routes.get_types = get_types

# App code
def chat(x, id, url):    
    result = gradio_client.predict(
        x,
        # str representing input in 'User input' Textbox component
		50,
        id,
        url,
		fn_index=0
    )
    result = str(result)
    print(x, id, url, result)
    return result

with gr.Blocks() as demo:
    count = 0
    aa = gr.Interface(
      fn=chat,
      inputs=["text","text", "text"],
      outputs="text",
      description="chat",
      examples= [[f"λ„ˆλŠ” 꿈이 뭐야?", "771171", ""],[f"λ„ˆλŠ” 무슨 색을 κ°€μž₯ μ’‹μ•„ν•΄?", "772122", ""]]
    )

    demo.queue(max_size=32).launch(enable_queue=True)