File size: 2,454 Bytes
d877f5a |
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
import requests
import json
from datetime import datetime
import gradio
from gradio_client import Client
function_list1 = [
"angry birds",
'snake',
"greet",
"list AI backend functionality",
"show json",
"game"
# "flappy birds",
]
function_list1 = [
"angry birds",
'snake',
]
function_list2 = [
"greet",
"list AI backend functionality",
"show json",
"game"
# "flappy birds",
]
# function_list.pop()
space = 'stevez-abc123'
# space = 'stevez-test-public'
# url = f'https://{space}.hf.space/run/predict'
# url = f'https://{space}.hf.space/api/predict'
url = f'https://{space}.hf.space'
def run(hf_token, game, r, nlp_command):
if hf_token is None or hf_token == '':
return 'please specify hf token'
if game is None:
return "please specify which game"
if r is None:
return "please choose the AI functionality"
try:
print(f"{datetime.today()}\t{nlp_command}")
myobj = {
'data': [game, r, nlp_command],
}
# myauth = ('Bearer', hf_token)
# x = requests.post(
# url,
# auth = myauth,
# json = myobj,
# )
# print(f"x: {x}")
# x2 = json.loads(x.text)
# res = x2['data'][0]
# res2 = json.loads(res)
client = Client(
url,
hf_token=hf_token,
)
res = client.predict(
r, nlp_command,
api_name='/predict',
)
res2 = json.loads(res[0])
# print(json.dumps(res2, indent=4))
# if (r == 'greet') or (r == 'angry birds'):
# res2['demo-version'] = "2.0.0.2023-08-04-a" # use gradio_client
return json.dumps(res2, indent=4)
except Exception as e:
return f"{type(e)}, {str(e)}. \nyou many want to make sure your hf_token is correct"
demo = gradio.Interface(
fn=run,
inputs=[
"text",
gradio.Radio(
function_list1,
value='angry birds',
label = "Which game?",
# info = "Greet for testing server",
info = "Only 'angry birds' is implemented as of now",
),
gradio.Radio(
function_list2,
value='game',
label = "What do you want to do?",
info = "Greet for testing server",
),
"text"],
outputs="text",
title = "Demo",
)
demo.launch()
|