"""LLM providers and their models: ``/api/v1/providers/``."""from__future__importannotationsfromsmarter.models.miscimportProvider,ProviderModelfrom.baseimportSmarterAPIResource,resource_id
[docs]classProviders(SmarterAPIResource):"""The LLM providers that the platform is configured for, e.g. openai or anthropic."""path="providers/"
[docs]deflist(self)->list[Provider]:""" The providers. :returns: The providers. """returnself._http.request("GET",self.path,cast_to=list[Provider])
[docs]defretrieve(self,name:str)->Provider:""" A provider, by name. :param name: The provider's name, e.g. ``openai``. :returns: The provider. """returnself._http.request("GET",f"{self.path}{resource_id(name)}/",cast_to=Provider)
[docs]defmodels(self,name:str)->list[ProviderModel]:""" A provider's models. :param name: The provider's name. :returns: The models. """returnself._http.request("GET",f"{self.path}{resource_id(name)}/models/",cast_to=list[ProviderModel])