Class Assistant.Builder
-
- All Implemented Interfaces:
public final class Assistant.Builder
A builder for Assistant.
-
-
Method Summary
Modifier and Type Method Description final Assistant.Builder
id(String id)
The identifier, which can be referenced in API endpoints. final Assistant.Builder
id(JsonField<String> id)
Sets Builder.id to an arbitrary JSON value. final Assistant.Builder
createdAt(Long createdAt)
The Unix timestamp (in seconds) for when the assistant was created. final Assistant.Builder
createdAt(JsonField<Long> createdAt)
Sets Builder.createdAt to an arbitrary JSON value. final Assistant.Builder
description(String description)
The description of the assistant. final Assistant.Builder
description(Optional<String> description)
Alias for calling Builder.description with description.orElse(null)
.final Assistant.Builder
description(JsonField<String> description)
Sets Builder.description to an arbitrary JSON value. final Assistant.Builder
instructions(String instructions)
The system instructions that the assistant uses. final Assistant.Builder
instructions(Optional<String> instructions)
Alias for calling Builder.instructions with instructions.orElse(null)
.final Assistant.Builder
instructions(JsonField<String> instructions)
Sets Builder.instructions to an arbitrary JSON value. final Assistant.Builder
metadata(Assistant.Metadata metadata)
Set of 16 key-value pairs that can be attached to an object. final Assistant.Builder
metadata(Optional<Assistant.Metadata> metadata)
Alias for calling Builder.metadata with metadata.orElse(null)
.final Assistant.Builder
metadata(JsonField<Assistant.Metadata> metadata)
Sets Builder.metadata to an arbitrary JSON value. final Assistant.Builder
model(String model)
ID of the model to use. final Assistant.Builder
model(JsonField<String> model)
Sets Builder.model to an arbitrary JSON value. final Assistant.Builder
name(String name)
The name of the assistant. final Assistant.Builder
name(Optional<String> name)
Alias for calling Builder.name with name.orElse(null)
.final Assistant.Builder
name(JsonField<String> name)
Sets Builder.name to an arbitrary JSON value. final Assistant.Builder
object_(JsonValue object_)
Sets the field to an arbitrary JSON value. final Assistant.Builder
tools(List<AssistantTool> tools)
A list of tool enabled on the assistant. final Assistant.Builder
tools(JsonField<List<AssistantTool>> tools)
Sets Builder.tools to an arbitrary JSON value. final Assistant.Builder
addTool(AssistantTool tool)
Adds a single AssistantTool to tools. final Assistant.Builder
addTool(CodeInterpreterTool codeInterpreter)
Alias for calling addTool with AssistantTool.ofCodeInterpreter(codeInterpreter)
.final Assistant.Builder
addTool(FileSearchTool fileSearch)
Alias for calling addTool with AssistantTool.ofFileSearch(fileSearch)
.final Assistant.Builder
addTool(FunctionTool function)
Alias for calling addTool with AssistantTool.ofFunction(function)
.final Assistant.Builder
addFunctionTool(FunctionDefinition function)
Alias for calling addTool with the following: FunctionTool.builder() .function(function) .build()
final Assistant.Builder
responseFormat(AssistantResponseFormatOption responseFormat)
Specifies the format that the model must output. final Assistant.Builder
responseFormat(Optional<AssistantResponseFormatOption> responseFormat)
Alias for calling Builder.responseFormat with responseFormat.orElse(null)
.final Assistant.Builder
responseFormat(JsonField<AssistantResponseFormatOption> responseFormat)
Sets Builder.responseFormat to an arbitrary JSON value. final Assistant.Builder
responseFormat(ResponseFormatText responseFormatText)
Alias for calling responseFormat with AssistantResponseFormatOption.ofResponseFormatText(responseFormatText)
.final Assistant.Builder
responseFormat(ResponseFormatJsonObject responseFormatJsonObject)
Alias for calling responseFormat with AssistantResponseFormatOption.ofResponseFormatJsonObject(responseFormatJsonObject)
.final Assistant.Builder
responseFormat(ResponseFormatJsonSchema responseFormatJsonSchema)
Alias for calling responseFormat with AssistantResponseFormatOption.ofResponseFormatJsonSchema(responseFormatJsonSchema)
.final Assistant.Builder
responseFormatAuto()
Alias for calling responseFormat with AssistantResponseFormatOption.ofAuto()
.final Assistant.Builder
temperature(Double temperature)
What sampling temperature to use, between 0 and 2. final Assistant.Builder
temperature(Double temperature)
Alias for Builder.temperature. final Assistant.Builder
temperature(Optional<Double> temperature)
Alias for calling Builder.temperature with temperature.orElse(null)
.final Assistant.Builder
temperature(JsonField<Double> temperature)
Sets Builder.temperature to an arbitrary JSON value. final Assistant.Builder
toolResources(Assistant.ToolResources toolResources)
A set of resources that are used by the assistant's tools. final Assistant.Builder
toolResources(Optional<Assistant.ToolResources> toolResources)
Alias for calling Builder.toolResources with toolResources.orElse(null)
.final Assistant.Builder
toolResources(JsonField<Assistant.ToolResources> toolResources)
Sets Builder.toolResources to an arbitrary JSON value. final Assistant.Builder
topP(Double topP)
An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. final Assistant.Builder
topP(Double topP)
Alias for Builder.topP. final Assistant.Builder
topP(Optional<Double> topP)
Alias for calling Builder.topP with topP.orElse(null)
.final Assistant.Builder
topP(JsonField<Double> topP)
Sets Builder.topP to an arbitrary JSON value. final Assistant.Builder
additionalProperties(Map<String, JsonValue> additionalProperties)
final Assistant.Builder
putAdditionalProperty(String key, JsonValue value)
final Assistant.Builder
putAllAdditionalProperties(Map<String, JsonValue> additionalProperties)
final Assistant.Builder
removeAdditionalProperty(String key)
final Assistant.Builder
removeAllAdditionalProperties(Set<String> keys)
final Assistant
build()
Returns an immutable instance of Assistant. -
-
Method Detail
-
id
final Assistant.Builder id(String id)
The identifier, which can be referenced in API endpoints.
-
id
final Assistant.Builder id(JsonField<String> id)
Sets Builder.id to an arbitrary JSON value.
You should usually call Builder.id with a well-typed String value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
createdAt
final Assistant.Builder createdAt(Long createdAt)
The Unix timestamp (in seconds) for when the assistant was created.
-
createdAt
final Assistant.Builder createdAt(JsonField<Long> createdAt)
Sets Builder.createdAt to an arbitrary JSON value.
You should usually call Builder.createdAt with a well-typed Long value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
description
final Assistant.Builder description(String description)
The description of the assistant. The maximum length is 512 characters.
-
description
final Assistant.Builder description(Optional<String> description)
Alias for calling Builder.description with
description.orElse(null)
.
-
description
final Assistant.Builder description(JsonField<String> description)
Sets Builder.description to an arbitrary JSON value.
You should usually call Builder.description with a well-typed String value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
instructions
final Assistant.Builder instructions(String instructions)
The system instructions that the assistant uses. The maximum length is 256,000 characters.
-
instructions
final Assistant.Builder instructions(Optional<String> instructions)
Alias for calling Builder.instructions with
instructions.orElse(null)
.
-
instructions
final Assistant.Builder instructions(JsonField<String> instructions)
Sets Builder.instructions to an arbitrary JSON value.
You should usually call Builder.instructions with a well-typed String value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
metadata
final Assistant.Builder metadata(Assistant.Metadata metadata)
Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
-
metadata
final Assistant.Builder metadata(Optional<Assistant.Metadata> metadata)
Alias for calling Builder.metadata with
metadata.orElse(null)
.
-
metadata
final Assistant.Builder metadata(JsonField<Assistant.Metadata> metadata)
Sets Builder.metadata to an arbitrary JSON value.
You should usually call Builder.metadata with a well-typed Metadata value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
model
final Assistant.Builder model(String model)
ID of the model to use. You can use the List models API to see all of your available models, or see our Model overview for descriptions of them.
-
model
final Assistant.Builder model(JsonField<String> model)
Sets Builder.model to an arbitrary JSON value.
You should usually call Builder.model with a well-typed String value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
name
final Assistant.Builder name(String name)
The name of the assistant. The maximum length is 256 characters.
-
name
final Assistant.Builder name(Optional<String> name)
Alias for calling Builder.name with
name.orElse(null)
.
-
name
final Assistant.Builder name(JsonField<String> name)
Sets Builder.name to an arbitrary JSON value.
You should usually call Builder.name with a well-typed String value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
object_
final Assistant.Builder object_(JsonValue object_)
Sets the field to an arbitrary JSON value.
It is usually unnecessary to call this method because the field defaults to the following:
JsonValue.from("assistant")
This method is primarily for setting the field to an undocumented or not yet supported value.
-
tools
final Assistant.Builder tools(List<AssistantTool> tools)
A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types
code_interpreter
,file_search
, orfunction
.
-
tools
final Assistant.Builder tools(JsonField<List<AssistantTool>> tools)
Sets Builder.tools to an arbitrary JSON value.
You should usually call Builder.tools with a well-typed
List<AssistantTool>
value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
addTool
final Assistant.Builder addTool(AssistantTool tool)
Adds a single AssistantTool to tools.
-
addTool
final Assistant.Builder addTool(CodeInterpreterTool codeInterpreter)
Alias for calling addTool with
AssistantTool.ofCodeInterpreter(codeInterpreter)
.
-
addTool
final Assistant.Builder addTool(FileSearchTool fileSearch)
Alias for calling addTool with
AssistantTool.ofFileSearch(fileSearch)
.
-
addTool
final Assistant.Builder addTool(FunctionTool function)
Alias for calling addTool with
AssistantTool.ofFunction(function)
.
-
addFunctionTool
final Assistant.Builder addFunctionTool(FunctionDefinition function)
Alias for calling addTool with the following:
FunctionTool.builder() .function(function) .build()
-
responseFormat
final Assistant.Builder responseFormat(AssistantResponseFormatOption responseFormat)
Specifies the format that the model must output. Compatible with GPT-4o, GPT-4 * Turbo, and all GPT-3.5 Turbo models since
gpt-3.5-turbo-1106
.Setting to
{ "type": "json_schema", "json_schema": {...} }
enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the Structured Outputs guide.Setting to
{ "type": "json_object" }
enables JSON mode, which ensures the message the model generates is valid JSON.Important: when using JSON mode, you must also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if
finish_reason="length"
, which indicates the generation exceededmax_tokens
or the conversation exceeded the max context length.
-
responseFormat
final Assistant.Builder responseFormat(Optional<AssistantResponseFormatOption> responseFormat)
Alias for calling Builder.responseFormat with
responseFormat.orElse(null)
.
-
responseFormat
final Assistant.Builder responseFormat(JsonField<AssistantResponseFormatOption> responseFormat)
Sets Builder.responseFormat to an arbitrary JSON value.
You should usually call Builder.responseFormat with a well-typed AssistantResponseFormatOption value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
responseFormat
final Assistant.Builder responseFormat(ResponseFormatText responseFormatText)
Alias for calling responseFormat with
AssistantResponseFormatOption.ofResponseFormatText(responseFormatText)
.
-
responseFormat
final Assistant.Builder responseFormat(ResponseFormatJsonObject responseFormatJsonObject)
Alias for calling responseFormat with
AssistantResponseFormatOption.ofResponseFormatJsonObject(responseFormatJsonObject)
.
-
responseFormat
final Assistant.Builder responseFormat(ResponseFormatJsonSchema responseFormatJsonSchema)
Alias for calling responseFormat with
AssistantResponseFormatOption.ofResponseFormatJsonSchema(responseFormatJsonSchema)
.
-
responseFormatAuto
final Assistant.Builder responseFormatAuto()
Alias for calling responseFormat with
AssistantResponseFormatOption.ofAuto()
.
-
temperature
final Assistant.Builder temperature(Double temperature)
What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
-
temperature
final Assistant.Builder temperature(Double temperature)
Alias for Builder.temperature.
This unboxed primitive overload exists for backwards compatibility.
-
temperature
final Assistant.Builder temperature(Optional<Double> temperature)
Alias for calling Builder.temperature with
temperature.orElse(null)
.
-
temperature
final Assistant.Builder temperature(JsonField<Double> temperature)
Sets Builder.temperature to an arbitrary JSON value.
You should usually call Builder.temperature with a well-typed Double value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
toolResources
final Assistant.Builder toolResources(Assistant.ToolResources toolResources)
A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the
code_interpreter
tool requires a list of file IDs, while thefile_search
tool requires a list of vector store IDs.
-
toolResources
final Assistant.Builder toolResources(Optional<Assistant.ToolResources> toolResources)
Alias for calling Builder.toolResources with
toolResources.orElse(null)
.
-
toolResources
final Assistant.Builder toolResources(JsonField<Assistant.ToolResources> toolResources)
Sets Builder.toolResources to an arbitrary JSON value.
You should usually call Builder.toolResources with a well-typed ToolResources value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
topP
final Assistant.Builder topP(Double 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.
-
topP
final Assistant.Builder topP(Double topP)
Alias for Builder.topP.
This unboxed primitive overload exists for backwards compatibility.
-
topP
final Assistant.Builder topP(Optional<Double> topP)
Alias for calling Builder.topP with
topP.orElse(null)
.
-
topP
final Assistant.Builder topP(JsonField<Double> topP)
Sets Builder.topP to an arbitrary JSON value.
You should usually call Builder.topP with a well-typed Double value instead. This method is primarily for setting the field to an undocumented or not yet supported value.
-
additionalProperties
final Assistant.Builder additionalProperties(Map<String, JsonValue> additionalProperties)
-
putAdditionalProperty
final Assistant.Builder putAdditionalProperty(String key, JsonValue value)
-
putAllAdditionalProperties
final Assistant.Builder putAllAdditionalProperties(Map<String, JsonValue> additionalProperties)
-
removeAdditionalProperty
final Assistant.Builder removeAdditionalProperty(String key)
-
removeAllAdditionalProperties
final Assistant.Builder removeAllAdditionalProperties(Set<String> keys)
-
-
-
-