File size: 1,269 Bytes
53f0cc2 | 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 | """
Launch Component 8 local chat interface.
"""
from __future__ import annotations
import argparse
import sys
from pathlib import Path
import yaml
# Ensure src imports work when script is run directly.
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from src.chat_interface.gradio_chat_app import create_demo
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Launch Component 8 chat UI.")
parser.add_argument("--config", default="configs/component8_chat_config.yaml")
return parser.parse_args()
def main() -> None:
args = parse_args()
cfg_path = Path(args.config)
if not cfg_path.exists():
raise FileNotFoundError(f"Config not found: {cfg_path}")
cfg = yaml.safe_load(cfg_path.read_text(encoding="utf-8"))
host = str(cfg.get("server", {}).get("host", "127.0.0.1"))
port = int(cfg.get("server", {}).get("port", 7860))
share = bool(cfg.get("server", {}).get("share", False))
demo = create_demo(config_path=args.config)
demo.queue(default_concurrency_limit=1)
demo.launch(server_name=host, server_port=port, share=share, inbrowser=False)
if __name__ == "__main__":
main()
|