ExAthena.Response (ExAthena v0.3.0)

Copy Markdown View Source

A normalised inference response.

:text is the concatenated assistant text. :tool_calls holds any tool calls the model wants the runtime to execute (empty when the model just replied with text). :usage carries token accounting when the provider reports it; :raw keeps the provider's original payload for debugging.

Summary

Types

t()

@type t() :: %ExAthena.Response{
  finish_reason: :stop | :length | :tool_calls | :content_filter | :error | nil,
  model: String.t() | nil,
  provider: atom() | module() | nil,
  raw: term() | nil,
  text: String.t() | nil,
  tool_calls: [ExAthena.Messages.ToolCall.t()],
  usage: usage() | nil
}

usage()

@type usage() :: %{
  optional(:input_tokens) => non_neg_integer(),
  optional(:output_tokens) => non_neg_integer(),
  optional(:total_tokens) => non_neg_integer()
}