Package net.thevpc.naru.api.model
Interface NaruModelProvider
- All Superinterfaces:
NComponent
- All Known Implementing Classes:
AbstractNaruModelProvider
Abstraction over any LLM backend (Ollama, OpenAI, Anthropic, …).
Implement this interface to add a new provider.
-
Method Summary
Modifier and TypeMethodDescriptionapiKey(NaruSession session) findModelIds(NaruSession session) Fetch the list of available models from this provider.getProtocol(NaruModelConfig model, NaruSession session) default voidinstallModel(NaruModelKey key, NaruSession session) default booleanisAvailable(NaruSession session) Whether this provider is currently reachable/usable.booleandefault booleandefault booleandefault booleandefault booleanname()Provider name for display purposes.default List<NaruModelPsResult>psModel(NaruSession session) voidsetEnabled(boolean enabled) voiddefault voiduninstallModel(NaruModelKey key, NaruSession session) default voidunloadModel(NaruModelKey key, NaruSession session)
-
Method Details
-
getProtocol
-
name
String name()Provider name for display purposes. -
apiKey
-
findModelIds
Fetch the list of available models from this provider.- Returns:
- a list of model names
-
isAvailable
Whether this provider is currently reachable/usable. Used to hide unavailable providers from model listings (e.g./model listshould not display a local server that is down).Default is
true(assume available). Providers backed by a remote/local HTTP server may override this to probe reachability. -
setParam
-
getParam
-
getParamNames
-
isEnabled
boolean isEnabled() -
setEnabled
void setEnabled(boolean enabled) -
isSupportedInstallModel
default boolean isSupportedInstallModel() -
installModel
-
isSupportedUninstallModel
default boolean isSupportedUninstallModel() -
uninstallModel
-
isSupportedUnloadModel
default boolean isSupportedUnloadModel() -
unloadModel
-
isSupportedPsModel
default boolean isSupportedPsModel() -
psModel
-