Class Assistant.Builder

    • Constructor Detail

    • Method Detail

      • metadata

         final Assistant.Builder metadata(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<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(JsonField<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.

      • 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, or function.

      • addTool

         final Assistant.Builder addTool(AssistantTool tool)

        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, or function.

      • addTool

         final Assistant.Builder addTool(CodeInterpreterTool codeInterpreter)

        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, or function.

      • addTool

         final Assistant.Builder addTool(FileSearchTool fileSearch)

        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, or function.

      • addTool

         final Assistant.Builder addTool(FunctionTool function)

        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, or function.

      • 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 exceeded max_tokens or the conversation exceeded the max context length.

      • responseFormat

         final Assistant.Builder responseFormat(Optional<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 exceeded max_tokens or the conversation exceeded the max context length.

      • responseFormat

         final Assistant.Builder responseFormat(JsonField<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 exceeded max_tokens or the conversation exceeded the max context length.

      • responseFormat

         final Assistant.Builder responseFormat(ResponseFormatText responseFormatText)

        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 exceeded max_tokens or the conversation exceeded the max context length.

      • responseFormat

         final Assistant.Builder responseFormat(ResponseFormatJsonObject responseFormatJsonObject)

        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 exceeded max_tokens or the conversation exceeded the max context length.

      • responseFormat

         final Assistant.Builder responseFormat(ResponseFormatJsonSchema responseFormatJsonSchema)

        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 exceeded max_tokens or the conversation exceeded the max context length.

      • 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)

        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(Optional<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(JsonField<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.

      • 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 the file_search tool requires a list of vector store IDs.

      • toolResources

         final Assistant.Builder toolResources(Optional<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 the file_search tool requires a list of vector store IDs.

      • toolResources

         final Assistant.Builder toolResources(JsonField<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 the file_search tool requires a list of vector store IDs.

      • 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)

        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(Optional<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(JsonField<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.