class Anthropic::Resources::Messages

def count_tokens(params)

Other tags:
    See: Anthropic::Models::MessageCountTokensParams -

Returns:
  • (Anthropic::Models::MessageTokensCount) -

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • tools (Array) --
  • tool_choice (Anthropic::Models::ToolChoiceAuto, Anthropic::Models::ToolChoiceAny, Anthropic::Models::ToolChoiceTool, Anthropic::Models::ToolChoiceNone) --
  • thinking (Anthropic::Models::ThinkingConfigEnabled, Anthropic::Models::ThinkingConfigDisabled) --
  • system_ (String, Array) --
  • model (Symbol, String, Anthropic::Models::Model) --
  • messages (Array) --

Overloads:
  • count_tokens(messages:, model:, system_: nil, thinking: nil, tool_choice: nil, tools: nil, request_options: {})
def count_tokens(params)
  parsed, options = Anthropic::Models::MessageCountTokensParams.dump_request(params)
  @client.request(
    method: :post,
    path: "v1/messages/count_tokens",
    body: parsed,
    model: Anthropic::Models::MessageTokensCount,
    options: options
  )
end

def create(params)

Other tags:
    See: Anthropic::Models::MessageCreateParams -

Returns:
  • (Anthropic::Models::Message) -

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • top_p (Float) --
  • top_k (Integer) --
  • tools (Array) --
  • tool_choice (Anthropic::Models::ToolChoiceAuto, Anthropic::Models::ToolChoiceAny, Anthropic::Models::ToolChoiceTool, Anthropic::Models::ToolChoiceNone) --
  • thinking (Anthropic::Models::ThinkingConfigEnabled, Anthropic::Models::ThinkingConfigDisabled) --
  • temperature (Float) --
  • system_ (String, Array) --
  • stop_sequences (Array) --
  • metadata (Anthropic::Models::Metadata) --
  • model (Symbol, String, Anthropic::Models::Model) --
  • messages (Array) --
  • max_tokens (Integer) --

Overloads:
  • create(max_tokens:, messages:, model:, metadata: nil, stop_sequences: nil, system_: nil, temperature: nil, thinking: nil, tool_choice: nil, tools: nil, top_k: nil, top_p: nil, request_options: {})
def create(params)
  parsed, options = Anthropic::Models::MessageCreateParams.dump_request(params)
  if parsed[:stream]
    message = "Please use `#stream_raw` for the streaming use case."
    raise ArgumentError.new(message)
  end
  @client.request(
    method: :post,
    path: "v1/messages",
    body: parsed,
    model: Anthropic::Models::Message,
    options: options
  )
end

def initialize(client:)

Parameters:
  • client (Anthropic::Client) --

Other tags:
    Api: - private
def initialize(client:)
  @client = client
  @batches = Anthropic::Resources::Messages::Batches.new(client: client)
end

def stream

def stream
  raise NotImplementedError.new("higher level helpers are coming soon!")
end

def stream_raw(params)

Other tags:
    See: Anthropic::Models::MessageCreateParams -

Returns:
  • (Anthropic::Internal::Stream) -

Parameters:
  • request_options (Anthropic::RequestOptions, Hash{Symbol=>Object}, nil) --
  • top_p (Float) --
  • top_k (Integer) --
  • tools (Array) --
  • tool_choice (Anthropic::Models::ToolChoiceAuto, Anthropic::Models::ToolChoiceAny, Anthropic::Models::ToolChoiceTool, Anthropic::Models::ToolChoiceNone) --
  • thinking (Anthropic::Models::ThinkingConfigEnabled, Anthropic::Models::ThinkingConfigDisabled) --
  • temperature (Float) --
  • system_ (String, Array) --
  • stop_sequences (Array) --
  • metadata (Anthropic::Models::Metadata) --
  • model (Symbol, String, Anthropic::Models::Model) --
  • messages (Array) --
  • max_tokens (Integer) --

Overloads:
  • stream_raw(max_tokens:, messages:, model:, metadata: nil, stop_sequences: nil, system_: nil, temperature: nil, thinking: nil, tool_choice: nil, tools: nil, top_k: nil, top_p: nil, request_options: {})
def stream_raw(params)
  parsed, options = Anthropic::Models::MessageCreateParams.dump_request(params)
  unless parsed.fetch(:stream, true)
    message = "Please use `#create` for the non-streaming use case."
    raise ArgumentError.new(message)
  end
  parsed.store(:stream, true)
  @client.request(
    method: :post,
    path: "v1/messages",
    headers: {"accept" => "text/event-stream"},
    body: parsed,
    stream: Anthropic::Internal::Stream,
    model: Anthropic::Models::RawMessageStreamEvent,
    options: options
  )
end