public final class ChatRequest

  1. Object
  2. ChatRequest

The full request to LlmClient.chat(ChatRequest) / LlmClient.chatStream(ChatRequest, StreamingListener). Built via builder(); immutable once constructed so the same request can be re-used across retries.

Numeric tuning fields are boxed so a null means “don’t send” – the provider’s own default is used instead of one we picked.

Nested types

class ChatRequest.BuilderMutable fluent builder for ChatRequest.

Methods

public static ChatRequest.Builder builder()Starts an empty request builder.
public String getModel()
public List<ChatMessage> getMessages()
public Float getTemperature()
public Integer getMaxTokens()
public Float getTopP()
public List<String> getStopSequences()
public Long getSeed()
public ResponseFormat getResponseFormat()
public List<Tool> getTools()
public ToolChoice getToolChoice()
public Map<String, String> getMetadata()
public SafetyFilter getSafetyFilter()
public ChatRequest.Builder toBuilder()Returns a builder pre-populated with the values of this request.

Inherited methods

Method details

builder

public static ChatRequest.Builder builder()
Starts an empty request builder. At least one message is required.

Returns

a new builder

getModel

public String getModel()

Returns

requested provider model, or null for the client default

getMessages

public List<ChatMessage> getMessages()

Returns

immutable conversation messages in provider order

getTemperature

public Float getTemperature()

Returns

sampling temperature, or null for the provider default

getMaxTokens

public Integer getMaxTokens()

Returns

maximum generated tokens, or null for the provider default

getTopP

public Float getTopP()

Returns

nucleus-sampling probability, or null when unspecified

getStopSequences

public List<String> getStopSequences()

Returns

immutable stop sequences; empty when none were requested

getSeed

public Long getSeed()

Returns

deterministic sampling seed, or null when unspecified

getResponseFormat

public ResponseFormat getResponseFormat()

Returns

requested text/JSON response format, or null

getTools

public List<Tool> getTools()

Returns

immutable tools offered to the model

getToolChoice

public ToolChoice getToolChoice()

Returns

tool-selection policy, or null for provider behavior

getMetadata

public Map<String, String> getMetadata()

Returns

immutable provider metadata attached to this request

getSafetyFilter

public SafetyFilter getSafetyFilter()

Returns

client-side preflight filter, or null when disabled

toBuilder

public ChatRequest.Builder toBuilder()
Returns a builder pre-populated with the values of this request. Useful for replaying a request with one field changed.