private static Secret findApiKeyInSecretStore(String property, Secrets secretStore) {
        Secret apiKey = null;
        if (property != null && ! property.isEmpty()) {
            try {
                apiKey = secretStore.get(property);
            } catch (UnsupportedOperationException e) {
                log.warning("Secrets is not set up: " + e.getMessage() + "\n" +
                        "Will expect API key in request header");
                // Secret store is not available - silently ignore this
            } catch (Exception e) {
                log.warning("Secret store look up failed: " + e.getMessage() + "\n" +
                        "Will expect API key in request header");
            }
        }
        return apiKey;
    }
Base class for language models that can be configured with config definitions.

@author lesters
model-integration/src/main/java/ai/vespa/llm/clients/ConfigurableLanguageModel.java