Interface NaruModelProvider

All Known Implementing Classes:
AbstractNaruModelProvider

public interface NaruModelProvider
Abstraction over any LLM backend (Ollama, OpenAI, Anthropic, …). Implement this interface to add a new provider.
  • Method Details

    • getProtocol

      net.thevpc.nuts.util.NOptional<NaruModelProtocol> getProtocol(NaruModelConfig model, NaruSession session)
    • name

      String name()
      Provider name for display purposes.
    • findModelIds

      List<String> findModelIds(NaruSession session)
      Fetch the list of available models from this provider.
      Returns:
      a list of model names
    • setParam

      void setParam(String name, String value)
    • getParam

      net.thevpc.nuts.util.NOptional<String> getParam(String name)
    • getParamNames

      Set<String> getParamNames()
    • isEnabled

      boolean isEnabled()
    • setEnabled

      void setEnabled(boolean enabled)
    • isSupportedInstallModel

      default boolean isSupportedInstallModel()
    • installModel

      default void installModel(NaruModelKey key, NaruSession session)
    • isSupportedUninstallModel

      default boolean isSupportedUninstallModel()
    • uninstallModel

      default void uninstallModel(NaruModelKey key, NaruSession session)
    • isSupportedUnloadModel

      default boolean isSupportedUnloadModel()
    • unloadModel

      default void unloadModel(NaruModelKey key, NaruSession session)
    • isSupportedPsModel

      default boolean isSupportedPsModel()
    • psModel

      default List<NaruModelPsResult> psModel(NaruSession session)