View Source ExOpenAI.Components.AssistantObject (ex_openai.ex v2.0.0-beta2)

Represents an assistant that can call the model and use tools.

Fields

  • :created_at - required - integer()
    The Unix timestamp (in seconds) for when the assistant was created.

  • :description - required - String.t() | any()

  • :id - required - String.t()
    The identifier, which can be referenced in API endpoints.

  • :instructions - required - String.t() | any()

  • :metadata - required - ExOpenAI.Components.Metadata.t()

  • :model - required - String.t()
    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.

  • :name - required - String.t() | any()

  • :object - required - :assistant
    The object type, which is always assistant.
    Allowed values: "assistant"

  • :response_format - optional - ExOpenAI.Components.AssistantsApiResponseFormatOption.t() | any()

  • :temperature - optional - number() | any()

  • :tool_resources - optional - {:%{}, [], [{{:optional, [], [:code_interpreter]}, {:%{}, [], [{{:optional, [], [:file_ids]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}]}}, {{:optional, [], [:file_search]}, {:%{}, [], [{{:optional, [], [:vector_store_ids]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}]}}]} | any()

  • :tools - required - [ExOpenAI.Components.AssistantToolsCode.t() | ExOpenAI.Components.AssistantToolsFileSearch.t() | ExOpenAI.Components.AssistantToolsFunction.t()]
    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.
    Default: []
    Constraints: maxItems: 128

  • :top_p - optional - number() | any()

Summary

Types

@type t() :: %ExOpenAI.Components.AssistantObject{
  created_at: integer(),
  description: String.t() | any(),
  id: String.t(),
  instructions: String.t() | any(),
  metadata: ExOpenAI.Components.Metadata.t(),
  model: String.t(),
  name: String.t() | any(),
  object: :assistant,
  response_format:
    (ExOpenAI.Components.AssistantsApiResponseFormatOption.t() | any()) | nil,
  temperature: (number() | any()) | nil,
  tool_resources:
    (%{
       optional(:code_interpreter) => %{optional(:file_ids) => [String.t()]},
       optional(:file_search) => %{optional(:vector_store_ids) => [String.t()]}
     }
     | any())
    | nil,
  tools: [
    (ExOpenAI.Components.AssistantToolsCode.t()
     | ExOpenAI.Components.AssistantToolsFileSearch.t())
    | ExOpenAI.Components.AssistantToolsFunction.t()
  ],
  top_p: (number() | any()) | nil
}