Class NaruCustomProvider

All Implemented Interfaces:
NaruModelProvider, net.thevpc.nuts.spi.NComponent

public class NaruCustomProvider extends AbstractOpenAICompatProvider
Generic config-driven provider: lets users point NARU at any wire-compatible endpoint (OpenAI-compatible, Anthropic Messages, ...) with zero code.

Configuration (per named endpoint):

 custom.endpoints=<name1>,<name2>,...
 custom.endpoints.<name>.url=https://my-server
 custom.endpoints.<name>.type=openapi|anthropic   (optional, default: openapi)
 custom.endpoints.<name>.apiKey=sk-...
 custom.endpoints.<name>.models=model-a,model-b
 custom.endpoints.<name>.chatPath=v1/chat/completions   (optional)
 custom.endpoints.<name>.contextLength=32768             (optional)
 custom.endpoints.<name>.tools=true                      (optional)
 custom.endpoints.<name>.probe=true                      (optional, default: true)
 

Models are addressed as custom/&lt;endpoint&gt;/&lt;model&gt;.

By default each endpoint is probed (short-timeout GET on its url + TTL cache) before its models show up in listings; set probe=false to opt out.