private static String getJsonSchemaType(Class<?> clazz) {
		if (clazz.equals(Integer.class) || clazz.equals(int.class) || clazz.equals(Long.class)
				|| clazz.equals(long.class)) {
			return "integer";
		}
		else if (clazz.equals(Boolean.class) || clazz.equals(boolean.class)) {
			return "boolean";
		}
		else if (clazz.equals(Double.class) || clazz.equals(double.class) || clazz.equals(Float.class)
				|| clazz.equals(float.class)) {
			return "number";
		}
		else if (clazz.equals(String.class)) {
			return "string";
		}
		else if (clazz.equals(List.class)) {
			return "array";
		}
		else {
			return "object";
		}
	}
Extract GPT functions from class (and all parent classes/interfaces) by scanning
methods with {@code @GPTFunction}.
@param clazz the Java class whose hierarchy we need to search
@return all functions annotated with
{@code @GPTFunction the @GPTFunction annotation}
src/main/java/org/mvnsearch/chatgpt/model/function/GPTFunctionUtils.java