defmodule Noizu.OpenAI.Assistant do
@derive Jason.Encoder
defstruct [
:id,
:object,
:created_at,
:name,
:description,
:model,
:instructions,
:tools,
:file_ids,
:metadata
]
@type t :: %__MODULE__{
id: String.t(),
object: String.t(),
created_at: integer(),
name: String.t(),
description: String.t(),
model: String.t(),
instructions: String.t(),
tools: list(),
file_ids: list(String.t()),
metadata: map()
}
def from_json(json) do
%__MODULE__{
id: json[:id],
object: json[:object],
created_at: json[:created_at],
name: json[:name],
description: json[:description],
model: json[:model],
instructions: json[:instructions],
tools: json[:tools],
file_ids: json[:file_ids],
metadata: json[:metadata]
}
end
end