Coverage for packages/server/src/langgate/server/api/api_v1/endpoints/models_ep.py: 79%

19 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-08-02 18:47 +0000

1from fastapi import APIRouter 

2 

3from langgate.core.logging import get_logger 

4from langgate.registry.models import ImageModelInfo, LLMInfo 

5from langgate.server.api.services.registry_api import ModelRegistryAPI 

6 

7logger = get_logger(__name__) 

8router = APIRouter() 

9registry_service = ModelRegistryAPI() 

10 

11 

12# LLM endpoints 

13@router.get("/llms", response_model=list[LLMInfo]) 

14async def list_llms(): 

15 return await registry_service.list_llms() 

16 

17 

18@router.get("/llms/{model_id:path}", response_model=LLMInfo) 

19async def get_llm_info( 

20 *, 

21 model_id: str, 

22): 

23 return await registry_service.get_llm_info(model_id) 

24 

25 

26# Image model endpoints 

27@router.get("/images", response_model=list[ImageModelInfo]) 

28async def list_image_models(): 

29 return await registry_service.list_image_models() 

30 

31 

32@router.get("/images/{model_id:path}", response_model=ImageModelInfo) 

33async def get_image_model_info( 

34 *, 

35 model_id: str, 

36): 

37 return await registry_service.get_image_model_info(model_id)