Spaces:
Sleeping
Sleeping
File size: 2,701 Bytes
d877f5a 761ae49 d877f5a 703e6fc d877f5a 761ae49 d877f5a 761ae49 d877f5a 761ae49 655703b d877f5a 761ae49 d877f5a 655703b d877f5a 761ae49 703e6fc 761ae49 655703b 761ae49 655703b 761ae49 d877f5a fbf93e6 d2df9da 761ae49 d877f5a d4cb960 d877f5a 655703b d877f5a 78c5616 d877f5a 761ae49 d877f5a 761ae49 6a7682d 761ae49 6a7682d 761ae49 d877f5a 761ae49 6a7682d 761ae49 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 99 100 101 102 103 104 105 106 | import requests
import json
from datetime import datetime
import gradio as gr
from gradio_client import Client
from extract import extract
functionality_shared = [
'games',
'greet',
'tokenization',
]
game_list = [
'angry birds',
'snake',
]
functionality_list = [
"AI",
"functionality",
"json dedup",
"json",
]
space = 'stevez-bbc123'
# 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, service, game, functionality, nlp_command):
if hf_token is None or hf_token == '':
return 'please specify hf token'
# reuse hf_token field as json string
token, user_name, _ = extract(hf_token)
if service not in functionality_shared[1:]:
if game is None:
return "please specify which game"
if functionality is None:
return "please choose the AI functionality"
if functionality == 'AI':
if nlp_command in ["", None]:
return "please make sure the command is not empty"
try:
if service not in functionality_shared[1:]:
print(f"{datetime.today()} [{game:<16}] {nlp_command}")
# myobj = {
# 'data': [service, 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,
verbose=False,
)
res = client.predict(
service, game, functionality, nlp_command,
api_name='/predict',
)
res2 = json.loads(res[0])
return json.dumps(res2, indent=4)
except Exception as e:
return f"{type(e)}, {str(e)}. \nyou may want to make sure your hf_token is correct"
demo = gr.Interface(
fn=run,
inputs=[
"text",
gr.Radio(
functionality_shared,
value=functionality_shared[0],
info = "Shared services",
),
gr.Radio(
game_list,
value=game_list[1],
info = "Which game you want the AI to support?",
),
gr.Radio(
functionality_list,
value=functionality_list[0],
# label = "What do you want to do?",
info = "What functionality?",
),
"text"],
outputs="text",
title = "Demo",
)
demo.launch()
|