Class: ActiveAgent::Providers::OpenAI::Embedding::RequestType

Inherits:
ActiveModel::Type::Value
  • Object
show all
Defined in:
lib/active_agent/providers/open_ai/embedding/_types.rb

Overview

ActiveModel type for casting and serializing embedding requests

Instance Method Summary collapse

Instance Method Details

#cast(value) ⇒ Request?

Casts value to Request object

Parameters:

Returns:

Raises:

  • (ArgumentError)

    when value cannot be cast



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/active_agent/providers/open_ai/embedding/_types.rb', line 16

def cast(value)
  case value
  when Request
    value
  when Hash
    Request.new(**value.deep_symbolize_keys)
  when nil
    nil
  else
    raise ArgumentError, "Cannot cast #{value.class} to Request"
  end
end

#deserialize(value) ⇒ Request?

Parameters:

  • value (Object)

Returns:



49
50
51
# File 'lib/active_agent/providers/open_ai/embedding/_types.rb', line 49

def deserialize(value)
  cast(value)
end

#serialize(value) ⇒ Hash?

Serializes Request to hash for API submission

Parameters:

Returns:

  • (Hash, nil)

Raises:

  • (ArgumentError)

    when value cannot be serialized



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/active_agent/providers/open_ai/embedding/_types.rb', line 34

def serialize(value)
  case value
  when Request
    value.serialize
  when Hash
    value
  when nil
    nil
  else
    raise ArgumentError, "Cannot serialize #{value.class}"
  end
end