Spaces:
Running
Running
| from app.models import * | |
| # # has named endpoint | |
| # if '/' == HF_SPACES[model]['function'][0]: | |
| # # audio sync function name | |
| # api_name = HF_SPACES[model]['function'] | |
| # end_parameters = _get_param_examples( | |
| # endpoints['named_endpoints'][api_name]['parameters'] | |
| # ) | |
| # # has unnamed endpoint | |
| # else: | |
| # # endpoint index is the first character | |
| # fn_index = int(HF_SPACES[model]['function']) | |
| # end_parameters = _get_param_examples( | |
| # endpoints['unnamed_endpoints'][str(fn_index)]['parameters'] | |
| # ) | |
| def _get_param_examples(parameters): | |
| # named or unnamed parameters | |
| try: | |
| param_name = parameters[0]['parameter_name'] | |
| # success => named params, use dict | |
| example_inputs = {} | |
| except: | |
| # unnamed params, use list | |
| example_inputs = [] | |
| pass | |
| for param_info in parameters: | |
| param_name = '' | |
| param_default_value = param_info['example_input'] | |
| try: | |
| # named params | |
| param_name = param_info['parameter_name'] | |
| param_default_value = param_info['parameter_default'] | |
| except: | |
| # unnamed params | |
| pass | |
| param_value = None | |
| if ( | |
| param_info['component'] == 'Radio' | |
| or param_info['component'] == 'Dropdown' | |
| or param_info['component'] == 'Audio' | |
| or param_info['python_type']['type'] == 'str' | |
| ): | |
| param_value = str(param_default_value) | |
| elif param_info['python_type']['type'] == 'int': | |
| param_value = int(param_default_value) | |
| elif param_info['python_type']['type'] == 'float': | |
| param_value = float(param_default_value) | |
| elif param_info['python_type']['type'] == 'bool': | |
| param_value = bool(param_default_value) | |
| if (param_name != ''): | |
| # named param | |
| example_inputs[param_info['parameter_name']] = param_value | |
| else: | |
| # just append unnamed param and hope | |
| example_inputs.append(param_value) | |
| return example_inputs | |
| def _override_params(inputs, modelname): | |
| try: | |
| for key,value in OVERRIDE_INPUTS[modelname].items(): | |
| # if override keys are integers, make the dict into a list | |
| if ( | |
| (type(inputs) is dict) | |
| and (type(key) is int) | |
| ): | |
| print("Converting unnamed override params to List") | |
| inputs = list(inputs.values()) | |
| inputs[key] = value | |
| print(f"{modelname}: Default inputs overridden by Arena") | |
| except: | |
| pass | |
| return inputs |