Sha256: d0c325c178ce01e1f2fdcb8315b262878f38db0c6efd3c3c22ca2c1ae27b04db
Contents?: true
Size: 1.02 KB
Versions: 7
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true module OmniAI class Chat # A completion returned by the API. class Completion attr_accessor :data # @param data [Hash] def initialize(data:) @data = data end # @return [String] def id @data['id'] end # @return [Time] def created Time.at(@data['created']) if @data['created'] end # @return [Time] def updated Time.at(@data['updated']) if @data['updated'] end # @return [String] def model @data['model'] end # @return [OmniAI::Chat::Usage] def usage @usage ||= Usage.new(data: @data['usage']) if @data['usage'] end # @return [Array<OmniAI::Chat::Choice>] def choices @choices ||= @data['choices'].map { |data| Choice.new(data:) } end # @param [index] [Integer] optional - default is 0 # @return [OmniAI::Chat::Choice] def choice(index: 0) choices[index] end end end end
Version data entries
7 entries across 7 versions & 1 rubygems