Sha256: 864a719198d352a19a70c039a71d009b5b96861bd334f84af809e2c0db4135f5

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

module RubyAmazonBedrock
  module ResponseBuilders
    # The Anthropic class is responsible for parsing and building a structured response from a raw text response.
    # It converts the HTTP response for an Anthropic model into a structured format to make it easier to access
    # the response data.
    class Anthropic
      # Initializes a new instance of the Text class.
      #
      # @param response [Object] The raw response object with is an HTTP response.
      def initialize(response, _options = {})
        @response = response
      end

      # Builds and returns a structured representation of the raw text response.
      # This method parses the raw response body as JSON and symbolizes the names
      # for easier access in Ruby.
      #
      # @return [Hash] A hash representing the structured data from the response body.
      # The keys of the hash are symbolized for convenient access.
      def build
        response = JSON.parse(@response.body.read, symbolize_names: true)

        {
          text: response[:completion],
          full_response: response
        }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-amazon-bedrock-0.2.4 lib/bedrock_runtime/response_builders/anthropic.rb
ruby-amazon-bedrock-0.2.3 lib/bedrock_runtime/response_builders/anthropic.rb