{"record":{"id":"15b9bf5d9b18289b","repo":"huggingface/transformers","slug":"missing-dependencies-for-serving-install-with-pi","errorCode":null,"errorMessage":"Missing dependencies for serving. Install with `pip install transformers[serving]`","messagePattern":"Missing dependencies for serving\\. Install with `pip install transformers\\[serving\\]`","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"src/transformers/cli/serve.py","lineNumber":109,"sourceCode":"        ] = None,\n        cb_max_memory_percent: Annotated[\n            float | None, typer.Option(help=\"Max GPU memory fraction for KV cache (0.0-1.0).\")\n        ] = None,\n        cb_use_cuda_graph: Annotated[\n            bool | None, typer.Option(help=\"Enable CUDA graphs for continuous batching.\")\n        ] = None,\n        # Server options\n        host: Annotated[str, typer.Option(help=\"Server listen address.\")] = \"localhost\",\n        port: Annotated[int, typer.Option(help=\"Server listen port.\")] = 8000,\n        enable_cors: Annotated[bool, typer.Option(help=\"Enable permissive CORS.\")] = False,\n        log_level: Annotated[str, typer.Option(help=\"Logging level (e.g. 'info', 'warning').\")] = \"warning\",\n        default_seed: Annotated[int | None, typer.Option(help=\"Default torch seed.\")] = None,\n        non_blocking: Annotated[\n            bool, typer.Option(hidden=True, help=\"Run server in a background thread. Used by tests.\")\n        ] = False,\n    ) -> None:\n        if not is_serve_available():\n            raise ImportError(\"Missing dependencies for serving. Install with `pip install transformers[serving]`\")\n\n        import uvicorn\n\n        from .serving.chat_completion import ChatCompletionHandler\n        from .serving.completion import CompletionHandler\n        from .serving.model_manager import ModelManager\n        from .serving.response import ResponseHandler\n        from .serving.server import build_server\n        from .serving.transcription import TranscriptionHandler\n        from .serving.utils import GenerationState\n\n        # Seed\n        if default_seed is not None:\n            set_torch_seed(default_seed)\n\n        # Logging\n        transformers_logger = logging.get_logger(\"transformers\")\n        transformers_logger.setLevel(logging.log_levels[log_level.lower()])","sourceCodeStart":91,"sourceCodeEnd":127,"githubUrl":"https://github.com/huggingface/transformers/blob/a597f974857b3d92939971296bc0deb93d33d780/src/transformers/cli/serve.py#L91-L127","documentation":"The `transformers serve` command implements an OpenAI-compatible HTTP server using uvicorn and friends, which live behind the optional 'serving' extra. serve() checks is_serve_available() first and raises ImportError with the pip extra hint when the dependencies are missing, before any import of uvicorn happens.","triggerScenarios":"Running `transformers serve` in an install without the serving extras (plain `pip install transformers`); trimmed Docker images; lock files that stripped optional groups; partial upgrade that removed fastapi/uvicorn.","commonSituations":"Fresh venvs with base transformers only; CI images minimizing size; users upgrading transformers but not the extras; deploying to slim containers.","solutions":["pip install \"transformers[serving]\"","Or add uvicorn/fastapi (plus sse-starlette etc.) manually: pip install uvicorn fastapi","Rebuild deployment images with the serving extra included"],"exampleFix":"# before\npip install transformers\ntransformers serve ...  # ImportError\n\n# after\npip install \"transformers[serving]\"\ntransformers serve ...","handlingStrategy":"validation","validationCode":"try:\n    import uvicorn, fastapi  # noqa\nexcept ImportError:\n    raise SystemExit(\"pip install 'transformers[serving]' before running serve\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Install transformers[serving] by default in deployment images","Add a dependency check step in container entrypoints","Keep extras pinned in requirements/lock files"],"tags":["cli","serving","missing-dependency","importerror","extras"],"backgroundTag":null,"analyzedSha":"a597f974857b3d92939971296bc0deb93d33d780","analyzedAt":"2026-08-14T18:24:08.354Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}