Class: OCI::GenerativeAiInference::Models::FunctionCall
- Defined in:
- lib/oci/generative_ai_inference/models/function_call.rb
Overview
The function call generated by the model.
Constant Summary
Constants inherited from ToolCall
Instance Attribute Summary collapse
-
#arguments ⇒ String
The arguments to call the function with, as generated by the model in JSON format.
-
#name ⇒ String
The name of the function to call.
Attributes inherited from ToolCall
Class Method Summary collapse
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.swagger_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(other) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ FunctionCall
constructor
Initializes the object.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ String
Returns the string representation of the object.
Methods inherited from ToolCall
Constructor Details
#initialize(attributes = {}) ⇒ FunctionCall
Initializes the object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 53 def initialize(attributes = {}) return unless attributes.is_a?(Hash) attributes['type'] = 'FUNCTION' super(attributes) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.name = attributes[:'name'] if attributes[:'name'] self.arguments = attributes[:'arguments'] if attributes[:'arguments'] end |
Instance Attribute Details
#arguments ⇒ String
The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
18 19 20 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 18 def arguments @arguments end |
#name ⇒ String
The name of the function to call.
14 15 16 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 14 def name @name end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 21 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'id': :'id', 'type': :'type', 'name': :'name', 'arguments': :'arguments' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 33 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'id': :'String', 'type': :'String', 'name': :'String', 'arguments': :'String' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
75 76 77 78 79 80 81 82 83 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 75 def ==(other) return true if equal?(other) self.class == other.class && id == other.id && type == other.type && name == other.name && arguments == other.arguments end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 108 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end |
#eql?(other) ⇒ Boolean
88 89 90 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 88 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
97 98 99 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 97 def hash [id, type, name, arguments].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
141 142 143 144 145 146 147 148 149 150 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 141 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end |
#to_s ⇒ String
Returns the string representation of the object
135 136 137 |
# File 'lib/oci/generative_ai_inference/models/function_call.rb', line 135 def to_s to_hash.to_s end |