avocet/app/eval/cforch.py

38 lines
1.3 KiB
Python

"""Avocet -- eval router aggregator.
Collects benchmark sub-routers into a single importable `router`
for the api.py factory. Each sub-router retains its established prefix
so no frontend URL changes are needed.
Route prefixes when mounted at /api in api.py:
/api/cforch/* -- cf-orch benchmark routes
/api/style/* -- writing style benchmark routes
/api/voice/* -- voice benchmark routes
/api/plans-bench/* -- plans benchmark routes
"""
from __future__ import annotations
from fastapi import APIRouter
from app.cforch import router as _cforch_router
from app.style import router as _style_router
from app.voice import router as _voice_router
from app.plans_bench import router as _plans_router
router = APIRouter()
router.include_router(_cforch_router, prefix="/cforch")
router.include_router(_style_router, prefix="/style")
router.include_router(_voice_router, prefix="/voice")
router.include_router(_plans_router, prefix="/plans-bench")
def set_config_dir(path) -> None:
"""Propagate config dir override to all sub-modules -- used by tests."""
import app.cforch as _cforch_mod
import app.style as _style_mod
import app.voice as _voice_mod
import app.plans_bench as _plans_mod
_cforch_mod.set_config_dir(path)
_style_mod.set_config_dir(path)
_voice_mod.set_config_dir(path)
_plans_mod.set_config_dir(path)