Spaces:
Runtime error
Runtime error
| from __future__ import annotations | |
| from pathlib import Path | |
| import os | |
| from .config import load_app_config | |
| from .demo_packs import load_demo_pack | |
| from .logging_utils import setup_logging | |
| from .model_registry import load_model_registry | |
| from .storage import SQLiteStore | |
| THEME_CSS_PATH = Path(__file__).resolve().parents[2] / "assets" / "theme.css" | |
| def build_index_page() -> str: | |
| return """ | |
| <h1>P1 Elder Paperwork Co-Pilot</h1> | |
| <p>Select the P1 project and click a load button to seed a bundled demo pack.</p> | |
| <ul> | |
| <li>P1: Elder Paperwork Co-Pilot</li> | |
| </ul> | |
| """ | |
| def create_launcher(): | |
| import gradio as gr | |
| root = Path(os.environ.get('APP_ROOT_DIR', Path.cwd())).resolve() | |
| config = load_app_config('p1') | |
| registry = load_model_registry(config.model_registry_path) | |
| logger = setup_logging('app_kit.server') | |
| logger.info('app kit server started: %s', list(registry.get('projects', {}).keys())) | |
| store = SQLiteStore(config.sqlite_path, config.artifact_dir) | |
| with gr.Blocks(title='P1 Elder Paperwork Co-Pilot', css_paths=THEME_CSS_PATH) as demo: | |
| gr.HTML(build_index_page()) | |
| project = gr.Dropdown(choices=['p1'], value='p1', label='Project') | |
| pack = gr.Textbox(label='Demo pack path', placeholder=str(root / 'data' / 'demo_packs' / 'p1_elder_paperwork')) | |
| output = gr.JSON(label='Latest result') | |
| status = gr.Textbox(label='Status') | |
| def load_pack(path: str): | |
| demo_pack = load_demo_pack(path) | |
| return demo_pack.manifest, f'loaded {demo_pack.pack_id}' | |
| def show_history(proj: str): | |
| return store.history(proj) | |
| load_button = gr.Button('Load demo pack') | |
| history_button = gr.Button('Refresh history') | |
| load_button.click(load_pack, inputs=[pack], outputs=[output, status]) | |
| history_button.click(show_history, inputs=[project], outputs=[output]) | |
| return demo | |
| def main() -> int: | |
| launcher = create_launcher() | |
| launcher.launch( | |
| server_name=os.environ.get('GRADIO_SERVER_NAME', '0.0.0.0'), | |
| server_port=int(os.environ.get('PORT', '7860')), | |
| show_error=True, | |
| share=False, | |
| ) | |
| return 0 | |
| if __name__ == '__main__': | |
| raise SystemExit(main()) | |