Sha256: 7fb82051749027968809a69f6caff08fc43c54bde4a02b511b9d3d6149ef6469

Contents?: true

Size: 1.12 KB

Versions: 5

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

module VoyageAI
  # The response of an individual re-ranking.
  #
  # @example
  #   VoyageAI::Reranking.new(index: 0, document: "Sample", relevance_score: 0.0)
  class Reranking
    # @!attribute [rw] model
    #   @return [Integer]
    attr_accessor :index

    # @!attribute [rw] document
    #   @return [String]
    attr_accessor :document

    # @!attribute [rw] relevance_score
    #   @return [Float]
    attr_accessor :relevance_score

    # @param index [Integer]
    # @param document [String]
    # @param relevance_score [Float]
    def initialize(index:, document:, relevance_score:)
      @index = index
      @document = document
      @relevance_score = relevance_score
    end

    # @return [String]
    def inspect
      "#<#{self.class.name} index=#{@index} relevance_score=#{@relevance_score}>"
    end

    # @param data [Hash]
    #
    # @return [Reranking]
    def self.parse(data:)
      index = data["index"]
      document = data["document"]
      relevance_score = data["relevance_score"]

      new(index: index, document: document, relevance_score: relevance_score)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
voyageai-1.8.0 lib/voyageai/reranking.rb
voyageai-1.7.0 lib/voyageai/reranking.rb
voyageai-1.6.0 lib/voyageai/reranking.rb
voyageai-1.5.0 lib/voyageai/reranking.rb
voyageai-1.3.0 lib/voyageai/reranking.rb