Module: OmniAI::OpenAI::Chat::ToolCallSerializer

Defined in:
lib/omniai/openai/chat/tool_call_serializer.rb

Overview

Overrides tool-call serialize / deserialize.

Class Method Summary collapse

Class Method Details

.deserialize(data, context:) ⇒ OmniAI::Chat::ToolCall

Parameters:

  • data (Hash)
  • context (OmniAI::Context)

Returns:

  • (OmniAI::Chat::ToolCall)


25
26
27
28
# File 'lib/omniai/openai/chat/tool_call_serializer.rb', line 25

def self.deserialize(data, context:)
  function = OmniAI::Chat::Function.deserialize(data, context:)
  OmniAI::Chat::ToolCall.new(id: data["id"], function:)
end

.serialize(tool_call, context:) ⇒ Hash

Parameters:

  • tool_call (OmniAI::Chat::ToolCall)
  • context (OmniAI::Context)

Returns:

  • (Hash)


12
13
14
15
16
17
18
19
# File 'lib/omniai/openai/chat/tool_call_serializer.rb', line 12

def self.serialize(tool_call, context:)
  function = tool_call.function.serialize(context:)

  {
    call_id: tool_call.id,
    type: "function_call",
  }.merge(function)
end