Sha256: 2f45faeb62e52503470bc581697cfefa6ed5d7f0853e4d2335409c15998f477f

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module RubyAmazonBedrock
  module ResponseBuilders
    # The Meta class is responsible for parsing and building a structured response from a raw text response.
    # It converts the HTTP response for an Meta model into a structured format to make it easier to access
    # the response data.
    class Meta
      # 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[:generation],
          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/meta.rb
ruby-amazon-bedrock-0.2.3 lib/bedrock_runtime/response_builders/meta.rb