Class OpenAiChatChain
java.lang.Object
com.github.hakenadu.javalangchains.chains.llm.LargeLanguageModelChain
com.github.hakenadu.javalangchains.chains.llm.openai.OpenAiChatChain
- Direct Known Subclasses:
AzureOpenAiChatChain
public class OpenAiChatChain extends LargeLanguageModelChain
LargeLanguageModelChain for usage with the OpenAI API-
Field Summary
-
Constructor Summary
Constructors Constructor Description OpenAiChatChain(String promptTemplate, OpenAiChatParameters parameters, String apiKey)OpenAiChatChain(String promptTemplate, OpenAiChatParameters parameters, String apiKey, String systemTemplate)OpenAiChatChain(String promptTemplate, OpenAiChatParameters parameters, String apiKey, String systemTemplate, com.fasterxml.jackson.databind.ObjectMapper objectMapper, org.springframework.web.reactive.function.client.WebClient webClient) -
Method Summary
Modifier and Type Method Description static com.fasterxml.jackson.databind.ObjectMappercreateDefaultObjectMapper()static org.springframework.web.reactive.function.client.WebClientcreateDefaultWebClient()protected org.springframework.web.reactive.function.client.WebClient.ResponseSpeccreateResponseSpec(OpenAiChatCompletionsRequest request, org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper)executes the request to the OpenAI API.protected StringgetApiKey()protected StringrequestToBody(OpenAiChatCompletionsRequest request, com.fasterxml.jackson.databind.ObjectMapper objectMapper)Serializes theOpenAiChatCompletionsRequestStringrun(Map<String,String> input)Execute thisChainMethods inherited from class com.github.hakenadu.javalangchains.chains.llm.LargeLanguageModelChain
getPromptTemplate
-
Constructor Details
-
OpenAiChatChain
public OpenAiChatChain(String promptTemplate, OpenAiChatParameters parameters, String apiKey, String systemTemplate, com.fasterxml.jackson.databind.ObjectMapper objectMapper, org.springframework.web.reactive.function.client.WebClient webClient)- Parameters:
promptTemplate-LargeLanguageModelChain.getPromptTemplate()parameters-parametersrapiKey-apiKeysystemTemplate-systemTemplateobjectMapper-objectMapperwebClient-webClient
-
OpenAiChatChain
public OpenAiChatChain(String promptTemplate, OpenAiChatParameters parameters, String apiKey, String systemTemplate)- Parameters:
promptTemplate-LargeLanguageModelChain.getPromptTemplate()parameters-parametersapiKey-apiKeysystemTemplate-systemTemplates
-
OpenAiChatChain
- Parameters:
promptTemplate-LargeLanguageModelChain.getPromptTemplate()parameters-parametersapiKey-apiKey
-
-
Method Details
-
createResponseSpec
protected org.springframework.web.reactive.function.client.WebClient.ResponseSpec createResponseSpec(OpenAiChatCompletionsRequest request, org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper)executes the request to the OpenAI API. Protected so that it may be overridden for other OpenAI API Providers.- Parameters:
request- theOpenAiChatCompletionsRequestwebClient- theWebClientto use for the requestobjectMapper- theObjectMapperused for body serialization- Returns:
- the
WebClient.ResponseSpec
-
run
Description copied from interface:ChainExecute thisChain- Parameters:
input- this chain's input- Returns:
- this chain's output
-
requestToBody
protected String requestToBody(OpenAiChatCompletionsRequest request, com.fasterxml.jackson.databind.ObjectMapper objectMapper)Serializes theOpenAiChatCompletionsRequest- Parameters:
request-OpenAiChatCompletionsRequestto serializeobjectMapper-ObjectMapperused for serialization- Returns:
- serialized
OpenAiChatCompletionsRequest
-
getApiKey
- Returns:
apiKeyp
-
createDefaultObjectMapper
public static com.fasterxml.jackson.databind.ObjectMapper createDefaultObjectMapper()- Returns:
- a default configured
ObjectMapper
-
createDefaultWebClient
public static org.springframework.web.reactive.function.client.WebClient createDefaultWebClient()- Returns:
- a default configured
WebClient
-