File size: 2,331 Bytes
e598102
08bacf4
 
de57008
4a07312
08bacf4
 
 
 
e598102
72ecf70
 
 
e6b327f
096633b
b2f3eb6
e598102
 
 
e6b327f
46a75dc
e6b327f
0ca3c8c
a884ae1
e6b327f
 
d26b817
de4a9bf
d26b817
 
 
e6b327f
46a75dc
e6b327f
a23fb06
e6b327f
 
d26b817
72ecf70
d26b817
 
72ecf70
 
3abfbb6
72ecf70
 
 
08bacf4
3abfbb6
 
35ba9e8
e6b327f
 
 
 
 
 
 
e09a781
e6b327f
 
 
f8bf3fe
35ba9e8
10b0e75
4ac0888
10b0e75
 
 
4a07312
4ac0888
72ecf70
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
67
68
69
70
71
72
73
from gradio_client import Client
import time
import os
import gradio as gr
from threading import Thread

print("RAN")
hf_token_id = os.environ['TOKEN']

client = Client("https://reverent-atlei2.hf.space/",hf_token=hf_token_id)
def warmer():
    while True:
        try:
            start_time = time.time()
            text_output,image_output = client.predict(
				"atleiwarm0001",	# str  in 'message' Textbox component
				"",	# str (filepath or URL to image) in 'Upload any Image' Image component
				api_name="/predict"
            )
            end_time = time.time()
            duration = end_time - start_time
            print("Time elapsed for Pygmalion model : ", duration)
            if duration > 90: # Check if duration to generate tokens exceeds 1 minutes
                restart()
                
            start_time = time.time()
            text_output_2,image_output_2 = client.predict(
				"atleiwarm0002",	# str  in 'message' Textbox component
				"",	# str (filepath or URL to image) in 'Upload any Image' Image component
				api_name="/predict"
            )
            end_time = time.time()
            duration = end_time - start_time
            print("Time elapsed for WizardLM model : ", duration)
            if duration > 90: # Check if duration to generate tokens exceeds 1.4 minutes
                restart()
                
            if (text_output != None) and (text_output_2 != None):
                    print("ALIVE")
                    print("pygmalion response : ", text_output)
                    print("qna response : ", text_output_2)
            else:
                    print("DISCONNECTED")
            
        except Exception as e:
            print("NO INTERNET")
            print(str(e))

        time.sleep(300)

def restart():
    try:
        text_output,image_output = client.predict(
			"atleiwarm0003",	# str  in 'message' Textbox component
			"",	# str (filepath or URL to image) in 'Upload any Image' Image component
			api_name="/predict"
        )
        print("RESTARTED")
            
    except Exception as e:
        print("NO INTERNET")
        print(str(e))
    return
            
def placeholder(dummy):
    return "lol"
    
t = Thread(target=warmer)
t.start()

iface = gr.Interface(fn=placeholder, inputs="text", outputs="text")
iface.launch()