"""Start the RAG-cut backend API server.""" from __future__ import annotations import argparse import sys from pathlib import Path BACKEND_DIR = Path(__file__).resolve().parent def main() -> None: parser = argparse.ArgumentParser(description="Start RAG-cut backend API") parser.add_argument("--host", default="127.0.0.1", help="Bind host (default: 127.0.0.1)") parser.add_argument("--port", type=int, default=8000, help="Bind port (default: 8000)") parser.add_argument( "--reload", action=argparse.BooleanOptionalAction, default=True, help="Auto-reload on code changes (default: on)", ) args = parser.parse_args() backend = str(BACKEND_DIR) if backend not in sys.path: sys.path.insert(0, backend) import uvicorn uvicorn.run( "api.main:app", host=args.host, port=args.port, reload=args.reload, reload_dirs=[backend] if args.reload else None, ) if __name__ == "__main__": main()