Interface ModelProvider

  • All Implemented Interfaces:
    com.embabel.common.core.types.HasInfoString

    
    public interface ModelProvider
     implements HasInfoString
                        

    Provide AI models for requested roles, and expose data about available models.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public class ModelProvider.Companion

      Well-known roles for models Useful but not exhaustive: users are free to define their own roles

    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract LlmService<?> getLlm(ModelSelectionCriteria criteria)
      abstract EmbeddingService getEmbeddingService(ModelSelectionCriteria criteria)
      abstract List<String> listRoles(Class<out AiModel<?>> modelClass) List the roles available for this class of model
      abstract List<String> listModelNames(Class<out AiModel<?>> modelClass)
      abstract List<ModelMetadata> listModels()
      • Methods inherited from class com.embabel.common.core.types.HasInfoString

        infoString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait