diff --git a/src/app/endpoints/models.py b/src/app/endpoints/models.py new file mode 100644 index 00000000..6fc2830f --- /dev/null +++ b/src/app/endpoints/models.py @@ -0,0 +1,18 @@ +"""Handler for REST API call to provide info.""" + +import asyncio +import logging +from typing import Any, Optional + +from fastapi import APIRouter, Request +from llama_stack_client import Agent, AgentEventLogger, RAGDocument, LlamaStackClient + +logger = logging.getLogger(__name__) +router = APIRouter(tags=["models"]) + + +@router.get("/models") +def models_endpoint_handler(request: Request) -> list[dict]: + client = LlamaStackClient(base_url="http://localhost:8321") + models = client.models.list() + return [dict(m) for m in models] diff --git a/src/app/routers.py b/src/app/routers.py index f071347c..22078528 100644 --- a/src/app/routers.py +++ b/src/app/routers.py @@ -2,9 +2,7 @@ from fastapi import FastAPI -from app.endpoints import ( - info, -) +from app.endpoints import info, models def include_routers(app: FastAPI) -> None: @@ -14,3 +12,4 @@ def include_routers(app: FastAPI) -> None: app: The `FastAPI` app instance. """ app.include_router(info.router, prefix="/v1") + app.include_router(models.router, prefix="/v1")