enum

OpenAI::CreateChatCompletionResponseChoicesItemFinishReason

Inherits Enum < Comparable < Value < Object

The reason the model stopped generating tokens. This will be stop if the model hit a natural stop point or a provided stop sequence, length if the maximum number of tokens specified in the request was reached, content_filter if content was omitted due to a flag from our content filters, tool_calls if the model called a tool, or function_call (deprecated) if the model called a function.

Constants

Stop = 0
Length = 1
ToolCalls = 2
ContentFilter = 3
FunctionCall = 4

Constructors

new(pull : JSON::PullParser) : self
Source

Instance methods

content_filter?

Returns true if this enum value equals ContentFilter

Source
function_call?

Returns true if this enum value equals FunctionCall

Source
length?

Returns true if this enum value equals Length

Source
stop?

Returns true if this enum value equals Stop

Source
to_json(json : JSON::Builder) : Nil

Serializes this enum member by name.

For non-flags enums, the serialization is a JSON string. The value is the member name (see #to_s) transformed with String#underscore.

enum Stages
  INITIAL
  SECOND_STAGE
end

Stages::INITIAL.to_json      # => %("initial")
Stages::SECOND_STAGE.to_json # => %("second_stage")

For flags enums, the serialization is a JSON array including every flagged member individually serialized in the same way as a member of a non-flags enum. None is serialized as an empty array, All as an array containing all members.

@[Flags]
enum Sides
  LEFT
  RIGHT
end

Sides::LEFT.to_json                  # => %(["left"])
(Sides::LEFT | Sides::RIGHT).to_json # => %(["left","right"])
Sides::All.to_json                   # => %(["left","right"])
Sides::None.to_json                  # => %([])

ValueConverter.to_json offers a different serialization strategy based on the member value.

Source
tool_calls?

Returns true if this enum value equals ToolCalls

Source