diff --git a/Dockerfile b/Dockerfile index a6bb0c4..30dabd2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,13 @@ FROM python:3.12-slim +RUN pip install poetry + WORKDIR /app COPY ./poetry.lock /app COPY ./pyproject.toml /app -RUN pip install poetry -RUN poetry install +RUN poetry install --no-root COPY ./llm_api_server_mock /app/llm_api_server_mock diff --git a/llm_api_server_mock/main.py b/llm_api_server_mock/main.py index c9079df..c4d8514 100644 --- a/llm_api_server_mock/main.py +++ b/llm_api_server_mock/main.py @@ -1,7 +1,9 @@ from fastapi import FastAPI from .chat.routes import router as chat_router +from .models import router as models_router app = FastAPI(root_path="/v1") app.include_router(chat_router, tags=["chat"]) +app.include_router(models_router, tags=["models"]) diff --git a/llm_api_server_mock/models.py b/llm_api_server_mock/models.py new file mode 100644 index 0000000..b87697b --- /dev/null +++ b/llm_api_server_mock/models.py @@ -0,0 +1,22 @@ +from datetime import datetime +from fastapi import APIRouter + +from .chat.surrogates import available_surrogates + +router = APIRouter(prefix="/models") + +@router.get("/") +def models(): + return { + "object": "list", + "data": [ + { + "id": surrogate.name, + "object": "model", + "created": int(datetime.now().timestamp()), + "owned_by": "organization-owner" + } + for surrogate in available_surrogates + ], + "object": "list" + }