Class: Roseflow::Embeddings::Embedding

Inherits:
Object
  • Object
show all
Defined in:
lib/roseflow/embeddings/embedding.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**kwargs) ⇒ Embedding

Returns a new instance of Embedding.



11
12
13
14
15
16
# File 'lib/roseflow/embeddings/embedding.rb', line 11

def initialize(**kwargs)
  @length = kwargs.fetch(:length, 1024)
  @input = kwargs.fetch(:input, nil)
  @model = kwargs.fetch(:model, nil)
  @vector = kwargs.fetch(:vector, nil)
end

Instance Attribute Details

#input=(value) ⇒ Object (writeonly)

Sets the attribute input

Parameters:

  • value

    the value to set the attribute input to.



9
10
11
# File 'lib/roseflow/embeddings/embedding.rb', line 9

def input=(value)
  @input = value
end

#lengthObject (readonly)

Returns the value of attribute length.



8
9
10
# File 'lib/roseflow/embeddings/embedding.rb', line 8

def length
  @length
end

#vectorObject (readonly)

Returns the value of attribute vector.



8
9
10
# File 'lib/roseflow/embeddings/embedding.rb', line 8

def vector
  @vector
end

Instance Method Details

#callObject

Raises:

  • (ArgumentError)


18
19
20
21
22
23
# File 'lib/roseflow/embeddings/embedding.rb', line 18

def call
  raise ArgumentError, "An input must be provided" unless @input
  raise EmbeddingModelNotSpecifiedError, "An embedding model must be specified" unless @model
  response = @model.provider.create_embedding(model: @model, input: @input)
  response.embedding
end