class OpenAI::Files

def upload(parameters: {})

def upload(parameters: {})
  file_input = parameters[:file]
  file = prepare_file_input(file_input: file_input)
  validate(file: file, purpose: parameters[:purpose], file_input: file_input)
  @client.multipart_post(
    path: "/files",
    parameters: parameters.merge(file: file)
  )
ensure
  file.close if file.is_a?(File)
end