All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.xebia.functional.openai.generated.model.AssistantObject.kt Maven / Gradle / Ivy

The newest version!
/**
 *
 * Please note:
 * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * Do not edit this file manually.
 *
 */

@file:Suppress(
    "ArrayInDataClass",
    "EnumEntryName",
    "RemoveRedundantQualifierName",
    "UnusedImport"
)

package com.xebia.functional.openai.generated.model

import com.xebia.functional.openai.generated.model.AssistantObjectToolResources
import com.xebia.functional.openai.generated.model.AssistantObjectToolsInner
import com.xebia.functional.openai.generated.model.AssistantsApiResponseFormatOption



import kotlinx.serialization.Serializable
import kotlinx.serialization.SerialName
import kotlinx.serialization.Contextual
import kotlin.js.JsName
import kotlinx.serialization.json.*

/**
* Represents an `assistant` that can call the model and use tools.
*
    * @param id The identifier, which can be referenced in API endpoints.
    * @param `object` The object type, which is always `assistant`.
    * @param createdAt The Unix timestamp (in seconds) for when the assistant was created.
    * @param name The name of the assistant. The maximum length is 256 characters. 
    * @param description The description of the assistant. The maximum length is 512 characters. 
    * @param model ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them. 
    * @param instructions The system instructions that the assistant uses. The maximum length is 256,000 characters. 
    * @param 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`. 
    * @param 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. Keys can be a maximum of 64 characters long and values can be a maxium of 512 characters long. 
    * @param toolResources 
    * @param 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. 
    * @param 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. 
    * @param responseFormat 
*/
@Serializable


data class AssistantObject (
        /* The identifier, which can be referenced in API endpoints. */
    @SerialName(value = "id") val id: kotlin.String,
        /* The object type, which is always `assistant`. */
    @SerialName(value = "object") val `object`: AssistantObject.`Object`,
        /* The Unix timestamp (in seconds) for when the assistant was created. */
    @SerialName(value = "created_at") val createdAt: kotlin.Int,
        /* The name of the assistant. The maximum length is 256 characters.  */
    @SerialName(value = "name") val name: kotlin.String?,
        /* The description of the assistant. The maximum length is 512 characters.  */
    @SerialName(value = "description") val description: kotlin.String?,
        /* ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.  */
    @SerialName(value = "model") val model: kotlin.String,
        /* The system instructions that the assistant uses. The maximum length is 256,000 characters.  */
    @SerialName(value = "instructions") val instructions: kotlin.String?,
        /* 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`.  */
    @SerialName(value = "tools") val tools: kotlin.collections.List = arrayListOf(),
        /* 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. Keys can be a maximum of 64 characters long and values can be a maxium of 512 characters long.  */
    @SerialName(value = "metadata") val metadata: kotlinx.serialization.json.JsonObject?,
        @SerialName(value = "tool_resources") val toolResources: AssistantObjectToolResources? = null,
        /* 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.  */
    @SerialName(value = "temperature") val temperature: kotlin.Double? = (1).toDouble(),
        /* 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.  */
    @SerialName(value = "top_p") val topP: kotlin.Double? = (1).toDouble(),
        @SerialName(value = "response_format") val responseFormat: AssistantsApiResponseFormatOption? = null
) {

            /**
            * The object type, which is always `assistant`.
            *
            * Values: assistant
            */
            @Serializable
            enum class `Object`(val value: kotlin.String) {
                @SerialName(value = "assistant") assistant("assistant");
                }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy