Class ChatModelAIProvider
java.lang.Object
hudson.model.AbstractDescribableImpl<BaseAIProvider>
io.jenkins.plugins.explain_error.provider.BaseAIProvider
io.jenkins.plugins.explain_error.provider.ChatModelAIProvider
- All Implemented Interfaces:
ExtensionPoint,Describable<BaseAIProvider>
- Direct Known Subclasses:
AnthropicProvider,BedrockProvider,DeepSeekProvider,GeminiProvider,MicrosoftFoundryProvider,OllamaProvider,OpenAICompatibleProvider,OpenAIProvider,QwenProvider
Base class for providers whose backend is a langchain4j
ChatModel.
Subclasses implement only createChatModel(hudson.model.Item, org.springframework.security.core.Authentication, java.lang.Double): the assistant plumbing
lives here, and because the model factory receives the full request context
(credentials scope and temperature) in one signature, a provider cannot
accidentally drop a parameter the way the old per-provider overload copies
could. Providers that talk to their API directly (without a
ChatModel) extend BaseAIProvider instead.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jenkins.plugins.explain_error.provider.BaseAIProvider
BaseAIProvider.Assistant, BaseAIProvider.BaseProviderDescriptorNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
Fields inherited from class io.jenkins.plugins.explain_error.provider.BaseAIProvider
model, SYSTEM_PROMPT, url, USER_PROMPT_TEMPLATE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateAssistant(Item item, org.springframework.security.core.Authentication authentication, Double temperature) The single assistant factory providers implement.protected abstract dev.langchain4j.model.chat.ChatModelcreateChatModel(Item item, org.springframework.security.core.Authentication authentication, Double temperature) Creates the chat model for one request.createFixAssistant(Item item, org.springframework.security.core.Authentication authentication) The single fix-assistant factory providers implement; the no-argcreateFixAssistant()is final and delegates here.Methods inherited from class io.jenkins.plugins.explain_error.provider.BaseAIProvider
analyzeError, buildSystemPrompt, buildUserPrompt, createAssistant, createAssistant, createAssistant, createFixAssistant, explainError, explainError, explainError, explainError, explainError, getDescriptor, getEffectiveEndpointForDiagnostics, getModel, getProviderName, getProxyAuthorizationHeader, getUrl, isNotValid, isNotValid, newJenkinsHttpClientBuilder, newLangChainHttpClientBuilder
-
Constructor Details
-
ChatModelAIProvider
-
-
Method Details
-
createChatModel
protected abstract dev.langchain4j.model.chat.ChatModel createChatModel(@CheckForNull Item item, @CheckForNull org.springframework.security.core.Authentication authentication, @CheckForNull Double temperature) Creates the chat model for one request.- Parameters:
item- the item defining the credentials scope, ornullauthentication- the authentication for credentials lookup, ornulltemperature- the temperature to use, ornullfor the provider default- Returns:
- the configured chat model
-
createAssistant
public BaseAIProvider.Assistant createAssistant(@CheckForNull Item item, @CheckForNull org.springframework.security.core.Authentication authentication, @CheckForNull Double temperature) Description copied from class:BaseAIProviderThe single assistant factory providers implement. It receives the full request context — credentials scope and temperature — so that a provider cannot accidentally drop a parameter by overriding the wrong overload (the narrowercreateAssistantvariants are final and delegate here). Providers without item-scoped credentials simply ignoreitem/authentication.- Specified by:
createAssistantin classBaseAIProvider- Parameters:
item- the item defining the credentials scope, ornullauthentication- the authentication for credentials lookup, ornulltemperature- the temperature to use, ornullfor the provider default- Returns:
- the assistant
-
createFixAssistant
public FixAssistant createFixAssistant(@CheckForNull Item item, @CheckForNull org.springframework.security.core.Authentication authentication) Description copied from class:BaseAIProviderThe single fix-assistant factory providers implement; the no-argcreateFixAssistant()is final and delegates here.- Specified by:
createFixAssistantin classBaseAIProvider- Parameters:
item- the item defining the credentials scope, ornullauthentication- the authentication for credentials lookup, ornull- Returns:
- the fix assistant
-