Record Class ZhiPuAiApi.ChatCompletionRequest
java.lang.Object
java.lang.Record
org.springframework.ai.zhipuai.api.ZhiPuAiApi.ChatCompletionRequest
- Record Components:
messages- A list of messages comprising the conversation so far.model- ID of the model to use.maxTokens- The maximum number of tokens to generate in the chat completion. The total length of input tokens and generated tokens is limited by the model's context length.stop- Up to 4 sequences where the API will stop generating further tokens.stream- If set, partial message deltas will be sent.Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.temperature- What sampling temperature to use, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both.topP- An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.tools- A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for.toolChoice- Controls which (if any) function is called by the model. none means the model will not call a function and instead generates a message. auto means the model can pick between generating a message or calling a function. Specifying a particular function via {"type: "function", "function": {"name": "my_function"}} forces the model to call that function. none is the default when no functions are present. auto is the default if functions are present. Use theZhiPuAiApi.ChatCompletionRequest.ToolChoiceBuilderto create the tool choice value.user- A unique identifier representing your end-user, which can help ZhiPuAI to monitor and detect abuse.requestId- A unique identifier for the request. If set, the request will be logged and can be used for debugging purposes.doSample- If set, the model will use sampling to generate the next token. If not set, the model will use greedy decoding to generate the next token.
- Enclosing class:
- ZhiPuAiApi
public static record ZhiPuAiApi.ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Integer maxTokens, List<String> stop, Boolean stream, Double temperature, Double topP, List<ZhiPuAiApi.FunctionTool> tools, Object toolChoice, String user, String requestId, Boolean doSample)
extends Record
Creates a model response for the given chat conversation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordAn object specifying the format that the model must output.static classHelper factory that creates a tool_choice of type 'none', 'auto' or selected function by name. -
Constructor Summary
ConstructorsConstructorDescriptionChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, Boolean stream) Shortcut constructor for a chat completion request with the given messages, model, tools and tool choice.ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Double temperature) Shortcut constructor for a chat completion request with the given messages and model.ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Double temperature, boolean stream) Shortcut constructor for a chat completion request with the given messages, model and control for streaming.ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Integer maxTokens, List<String> stop, Boolean stream, Double temperature, Double topP, List<ZhiPuAiApi.FunctionTool> tools, Object toolChoice, String user, String requestId, Boolean doSample) Creates an instance of aChatCompletionRequestrecord class.ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, List<ZhiPuAiApi.FunctionTool> tools, Object toolChoice) Shortcut constructor for a chat completion request with the given messages, model, tools and tool choice. -
Method Summary
Modifier and TypeMethodDescriptiondoSample()Returns the value of thedoSamplerecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of themaxTokensrecord component.messages()Returns the value of themessagesrecord component.model()Returns the value of themodelrecord component.Returns the value of therequestIdrecord component.stop()Returns the value of thestoprecord component.stream()Returns the value of thestreamrecord component.Returns the value of thetemperaturerecord component.Returns the value of thetoolChoicerecord component.tools()Returns the value of thetoolsrecord component.topP()Returns the value of thetopPrecord component.final StringtoString()Returns a string representation of this record class.user()Returns the value of theuserrecord component.
-
Constructor Details
-
ChatCompletionRequest
public ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Double temperature) Shortcut constructor for a chat completion request with the given messages and model.- Parameters:
messages- A list of messages comprising the conversation so far.model- ID of the model to use.temperature- What sampling temperature to use, between 0 and 1.
-
ChatCompletionRequest
public ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Double temperature, boolean stream) Shortcut constructor for a chat completion request with the given messages, model and control for streaming.- Parameters:
messages- A list of messages comprising the conversation so far.model- ID of the model to use.temperature- What sampling temperature to use, between 0 and 1.stream- If set, partial message deltas will be sent.Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.
-
ChatCompletionRequest
public ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, List<ZhiPuAiApi.FunctionTool> tools, Object toolChoice) Shortcut constructor for a chat completion request with the given messages, model, tools and tool choice. Streaming is set to false, temperature to 0.8 and all other parameters are null.- Parameters:
messages- A list of messages comprising the conversation so far.model- ID of the model to use.tools- A list of tools the model may call. Currently, only functions are supported as a tool.toolChoice- Controls which (if any) function is called by the model.
-
ChatCompletionRequest
Shortcut constructor for a chat completion request with the given messages, model, tools and tool choice. Streaming is set to false, temperature to 0.8 and all other parameters are null.- Parameters:
messages- A list of messages comprising the conversation so far.stream- If set, partial message deltas will be sent.Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.
-
ChatCompletionRequest
public ChatCompletionRequest(List<ZhiPuAiApi.ChatCompletionMessage> messages, String model, Integer maxTokens, List<String> stop, Boolean stream, Double temperature, Double topP, List<ZhiPuAiApi.FunctionTool> tools, Object toolChoice, String user, String requestId, Boolean doSample) Creates an instance of aChatCompletionRequestrecord class.- Parameters:
messages- the value for themessagesrecord componentmodel- the value for themodelrecord componentmaxTokens- the value for themaxTokensrecord componentstop- the value for thestoprecord componentstream- the value for thestreamrecord componenttemperature- the value for thetemperaturerecord componenttopP- the value for thetopPrecord componenttools- the value for thetoolsrecord componenttoolChoice- the value for thetoolChoicerecord componentuser- the value for theuserrecord componentrequestId- the value for therequestIdrecord componentdoSample- the value for thedoSamplerecord component
-
-
Method Details
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
messages
Returns the value of themessagesrecord component.- Returns:
- the value of the
messagesrecord component
-
model
Returns the value of themodelrecord component.- Returns:
- the value of the
modelrecord component
-
maxTokens
Returns the value of themaxTokensrecord component.- Returns:
- the value of the
maxTokensrecord component
-
stop
Returns the value of thestoprecord component.- Returns:
- the value of the
stoprecord component
-
stream
Returns the value of thestreamrecord component.- Returns:
- the value of the
streamrecord component
-
temperature
Returns the value of thetemperaturerecord component.- Returns:
- the value of the
temperaturerecord component
-
topP
Returns the value of thetopPrecord component.- Returns:
- the value of the
topPrecord component
-
tools
Returns the value of thetoolsrecord component.- Returns:
- the value of the
toolsrecord component
-
toolChoice
Returns the value of thetoolChoicerecord component.- Returns:
- the value of the
toolChoicerecord component
-
user
Returns the value of theuserrecord component.- Returns:
- the value of the
userrecord component
-
requestId
Returns the value of therequestIdrecord component.- Returns:
- the value of the
requestIdrecord component
-
doSample
Returns the value of thedoSamplerecord component.- Returns:
- the value of the
doSamplerecord component
-