Class GPTChatRequest
- java.lang.Object
-
- com.composum.ai.backend.base.service.chat.GPTChatRequest
-
public class GPTChatRequest extends Object
A request to ChatGPT.
-
-
Constructor Summary
Constructors Constructor Description GPTChatRequest()GPTChatRequest(GPTConfiguration configuration)GPTChatRequest(List<GPTChatMessage> messages)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description GPTChatRequestaddMessage(GPTChatMessage message)Builder style adding of messages.GPTChatRequestaddMessage(GPTMessageRole role, String content)Builder style adding of messages.GPTChatRequestaddMessages(List<GPTChatMessage> messages)Builder style adding of messages.GPTChatRequestcopy()Returns a copy; the messages list is shallowly copied, but configuration is the same object.booleanequals(Object o)GPTConfigurationgetConfiguration()Sets the LLM configurationIntegergetMaxTokens()Optionally the maximum number of tokens (approx.List<GPTChatMessage>getMessages()Returns the chat messages set withaddMessage(GPTMessageRole, String).inthashCode()voidmergeIn(GPTChatRequest additionalParameters)Merges in additional parameters: maxtokens overwrites, if there is a system message it's appended to the current one, and the other messages are added at the back.static GPTChatRequestofMaxTokens(Integer maxTokens)Returns a new request with either maxTokens set if that's given, or just an empty request.GPTChatRequestsetConfiguration(GPTConfiguration configuration)Optionally, sets the configuration.GPTChatRequestsetMaxTokens(Integer maxTokens)Optionally, sets the maximum number of tokens (approx.StringtoString()
-
-
-
Constructor Detail
-
GPTChatRequest
public GPTChatRequest()
-
GPTChatRequest
public GPTChatRequest(List<GPTChatMessage> messages)
-
GPTChatRequest
public GPTChatRequest(GPTConfiguration configuration)
-
-
Method Detail
-
copy
public GPTChatRequest copy()
Returns a copy; the messages list is shallowly copied, but configuration is the same object.
-
addMessage
public GPTChatRequest addMessage(GPTMessageRole role, String content)
Builder style adding of messages.- Returns:
- this
-
addMessage
public GPTChatRequest addMessage(GPTChatMessage message)
Builder style adding of messages.- Returns:
- this
-
addMessages
public GPTChatRequest addMessages(List<GPTChatMessage> messages)
Builder style adding of messages.- Returns:
- this
-
getMessages
@Nonnull public List<GPTChatMessage> getMessages()
Returns the chat messages set withaddMessage(GPTMessageRole, String).
-
setMaxTokens
public GPTChatRequest setMaxTokens(Integer maxTokens)
Optionally, sets the maximum number of tokens (approx. 0.75 words).
-
ofMaxTokens
@Nonnull public static GPTChatRequest ofMaxTokens(@Nullable Integer maxTokens)
Returns a new request with either maxTokens set if that's given, or just an empty request.
-
setConfiguration
public GPTChatRequest setConfiguration(@Nullable GPTConfiguration configuration)
Optionally, sets the configuration.
-
getConfiguration
@Nullable public GPTConfiguration getConfiguration()
Sets the LLM configuration
-
getMaxTokens
public Integer getMaxTokens()
Optionally the maximum number of tokens (approx. 0.75 words).
-
mergeIn
public void mergeIn(@Nullable GPTChatRequest additionalParameters)
Merges in additional parameters: maxtokens overwrites, if there is a system message it's appended to the current one, and the other messages are added at the back.- Throws:
IllegalArgumentException- if we already have a configuration and the additional parameters have a different one
-
-