main
py 29 lines 758 Bytes
Raw
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4
5 from fastapi import APIRouter, FastAPI, Request
6 from fastapi.responses import JSONResponse
7
8 from vllm.entrypoints.openai.models.serving import OpenAIServingModels
9 from vllm.logger import init_logger
10
11 logger = init_logger(__name__)
12
13 router = APIRouter()
14
15
16 def models(request: Request) -> OpenAIServingModels:
17 return request.app.state.openai_serving_models
18
19
20 @router.get("/v1/models")
21 async def show_available_models(raw_request: Request):
22 handler = models(raw_request)
23
24 models_ = await handler.show_available_models()
25 return JSONResponse(content=models_.model_dump())
26
27
28 def attach_router(app: FastAPI):
29 app.include_router(router)