()
| 184 | |
| 185 | |
| 186 | def main(): |
| 187 | parser = argparse.ArgumentParser(description="FunASR OpenAI-Compatible API Server") |
| 188 | parser.add_argument("--host", default="0.0.0.0", help="Bind host") |
| 189 | parser.add_argument("--port", type=int, default=8000, help="Bind port") |
| 190 | parser.add_argument("--device", default="cuda", help="Device: cuda, cpu, mps") |
| 191 | parser.add_argument("--model", default="sensevoice", help="Pre-load model at startup") |
| 192 | args = parser.parse_args() |
| 193 | |
| 194 | global DEVICE |
| 195 | DEVICE = args.device |
| 196 | |
| 197 | # Pre-load default model |
| 198 | load_model(args.model) |
| 199 | |
| 200 | logger.info(f"FunASR API server starting on http://{args.host}:{args.port}") |
| 201 | logger.info(f" Device: {DEVICE}") |
| 202 | logger.info(f" Models: {list(MODEL_CONFIGS.keys())}") |
| 203 | logger.info(f" Docs: http://{args.host}:{args.port}/docs") |
| 204 | uvicorn.run(app, host=args.host, port=args.port) |
| 205 | |
| 206 | |
| 207 | if __name__ == "__main__": |
no test coverage detected
searching dependent graphs…