class ActiveGenie::Clients::GoogleClient

def convert_messages_to_contents(messages, _function_schema)

Returns:
  • (Array) - Array formatted for Google's 'contents' field.

Parameters:
  • function_schema (Hash) -- The JSON schema for the desired output.
  • messages (Array) -- Array of { role: 'user'/'assistant'/'system', content: '...' }
def convert_messages_to_contents(messages, _function_schema)
  messages.map do |message|
    {
      role: ROLE_TO_GOOGLE_ROLE[message[:role].to_sym] || 'user',
      parts: [{ text: message[:content] }]
    }
  end
end