[
  {
    "type": "function",
    "function": {
      "name": "getGFNORTEData",
      "description": "Retrieve 'GFNORTE (GF NORTE)' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getBanorteConsolidadoData",
      "description": "Retrieve 'Banorte Consolidado or Banorte' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getAlmacenadoraConsolidadoData",
      "description": "Retrieve 'Almacenadora Consolidado' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getArrendadoraFactorConsolidado",
      "description": "Retrieve Arrendadora y Factor Consolidado data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getCasadeBolsaConsolidado",
      "description": "Retrieve 'Casa de Bolsa Consolidado' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getOperadoradeFondos",
      "description": "Retrieve 'Operadora de Fondos' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getSectorBursatil",
      "description": "Retrieve 'Sector Bursatil' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getSectorBAPConsolidado",
      "description": "Retrieve 'Sector BAP Consolidado' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getSeguros",
      "description": "Retrieve 'Seguros' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getPensiones",
      "description": "Retrieve 'Pensiones' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getBineo",
      "description": "Retrieve 'Bineo' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getSectorBanca",
      "description": "Retrieve 'Sector Banca' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getHolding",
      "description": "Retrieve 'Holding' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getBanorteFinancialServices",
      "description": "Retrieve 'Banorte Financial Services' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getFideicomisoBursaGEM",
      "description": "Retrieve 'Fideicomiso Bursa GEM' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getTarjetasdelFuturo",
      "description": "Retrieve 'Tarjetas del Futuro' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getAfore",
      "description": "Retrieve 'Afore' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getBanorteFuturo",
      "description": "Retrieve 'Banorte Futuro' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getSegurosSinBanorteFuturo",
      "description": "Retrieve 'get Seguros Sin Banorte Futuro' data for a specific financial concept, year, and quarter or trimester. The data is stored in a SQLite database. If one of the parameters is missing, let the user know.",
      "parameters": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string",
            "description": "The financial concept to retrieve data for. It must be either 'roe','roa','rote','min', 'min_ajustado', 'indice_eficiencia', 'costo_riesgo', 'indice_morocidad', 'indice_covertura', 'taza_impuestos', 'eficiencia_op', 'indice_ap', 'liqidez'. (The concept is case-insensitive, but must be one of these options)",
            "enum": [
              "roe",
              "roa",
              "rote",
              "min",
              "min_ajustado",
              "indice_eficiencia",
              "costo_riesgo",
              "indice_morocidad",
              "indice_covertura",
              "taza_impuestos",
              "eficiencia_op",
              "indice_ap",
              "liqidez"
            ]
          },
          "year": {
            "type": "integer",
            "description": "The year of the data"
          },
          "quarter": {
            "type": "integer",
            "description": "The quarter or trimester of the year (1-4)"
          }
        },
        "required": ["year", "quarter"]
      }
    }
  },
  {
    "type": "function",
    "function": {
      "name": "getInformationalData",
      "description": "",
      "parameters": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "description": "Assist the user in finding resources, key concepts, and relevant keywords. This function searches for data and concepts—such as 'Banorte's Dividend,' 'Banorte Financial Group Structure,' 'banking information in Mexico,' 'quarterly report location,' and more—within the vector database."
          }
        },
        "required": ["question"]
      }
    }
  }
]
