Doctor
Checks a whole LLM4S setup in one run and says what to change when a step fails.
The steps, in order: the JDK, the configuration, the default provider, its module on the classpath, its API key, its config, a local model server (only with DoctorOptions.local), one small request (only with DoctorOptions.live), and the configuration's other provider sections. A step that cannot run because an earlier one failed is reported as skipped, not as failed.
By default nothing leaves the machine and no server is contacted, not even a local one: the network is used only when a run asks for it. The configuration is read through Llm4sConfig, so its sections, the default and the shared llm4s.credentials mean exactly what they mean to an application. The API key's value is never put in the report: only the config path it came from is shown, and every key, header value and base-URL credential the configuration holds is hidden by value in every message as well. A URL is printed without its user info, query or fragment.
From code, run checks the configuration the application itself loads (application.conf on its classpath, -D overrides and every module's reference.conf) against the provider modules on its classpath; log the DoctorReport at startup, or fail a test on its DoctorReport.exitCode. From a shell, DoctorCli.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Doctor.type