Abhishek
Add all folders and files
f9a9b47
Raw
History Blame Contribute Delete
2.26 kB
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())