import gradio as gr import json import os # Load capability registry def load_registry(): registry_path = os.path.join(os.path.dirname(__file__), '..', 'data', 'capability_registry.json') with open(registry_path, 'r') as f: return json.load(f) registry = load_registry() capabilities = registry['capabilities'] # Extract unique values for filters all_categories = sorted(list(set([cap['category'] for cap in capabilities]))) all_spaces = sorted(list(set([space for cap in capabilities for space in cap['used_in_spaces']]))) all_models = sorted(list(set([model for cap in capabilities for model in cap['models']]))) all_datasets = sorted(list(set([dataset for cap in capabilities for dataset in cap['datasets']]))) def search_capabilities(search_text, category_filter, space_filter, model_filter, dataset_filter): """Search and filter capabilities based on user inputs""" filtered_caps = capabilities # Apply search text filter if search_text: search_lower = search_text.lower() filtered_caps = [ cap for cap in filtered_caps if search_lower in cap['capability_name'].lower() or search_lower in cap['category'].lower() or search_lower in ' '.join(cap['insurance_decisions']).lower() ] # Apply category filter if category_filter and category_filter != "All": filtered_caps = [cap for cap in filtered_caps if cap['category'] == category_filter] # Apply space filter if space_filter and space_filter != "All": filtered_caps = [cap for cap in filtered_caps if space_filter in cap['used_in_spaces']] # Apply model filter if model_filter and model_filter != "All": filtered_caps = [cap for cap in filtered_caps if model_filter in cap['models']] # Apply dataset filter if dataset_filter and dataset_filter != "All": filtered_caps = [cap for cap in filtered_caps if dataset_filter in cap['datasets']] # Generate HTML output if not filtered_caps: return "
Category: {cap['category']}
Used in Spaces: {', '.join(cap['used_in_spaces'])}
Models: {', '.join(cap['models'])}
Datasets: {', '.join(cap['datasets'])}
Insurance Decisions: {', '.join(cap['insurance_decisions'])}
Governance Required: {'✅ Yes' if cap['governance_required'] else '❌ No'}