From 2afe905be2ac2a9a9409a5b011e632641f7eaae2 Mon Sep 17 00:00:00 2001
From: MMenchero <marianamenchero@gmail.com>
Date: Tue, 14 May 2024 15:30:45 -0600
Subject: [PATCH 1/4] Added model callouts and descriptions

---
 nbs/docs/tutorials/050_training.ipynb         | 22 +++++-----
 nbs/docs/tutorials/080_validation.ipynb       | 12 +++++-
 .../tutorials/09_historical_forecast.ipynb    | 40 +++++++++++++++++++
 .../100_uncertainty_quantification.ipynb      | 22 +++++-----
 ...antification_with_quantile_forecasts.ipynb | 40 +++++++++++++++++++
 ...tification_with_prediction_intervals.ipynb | 40 +++++++++++++++++++
 nbs/docs/tutorials/120_special_topics.ipynb   | 22 +++++++++-
 .../tutorials/12_irregular_timestamps.ipynb   | 40 +++++++++++++++++++
 nbs/docs/tutorials/13_bounded_forecasts.ipynb | 40 +++++++++++++++++++
 .../14_hierarchical_forecasting.ipynb         | 40 +++++++++++++++++++
 nbs/docs/tutorials/15_missing_values.ipynb    | 38 ++++++++++++++++++
 ...computing_at_scale_spark_distributed.ipynb | 38 ++++++++++++++++++
 ..._computing_at_scale_dask_distributed.ipynb | 38 ++++++++++++++++++
 ...9_computing_at_scale_ray_distributed.ipynb | 38 ++++++++++++++++++
 nbs/docs/tutorials/20_anomaly_detection.ipynb | 38 ++++++++++++++++++
 15 files changed, 486 insertions(+), 22 deletions(-)

diff --git a/nbs/docs/tutorials/050_training.ipynb b/nbs/docs/tutorials/050_training.ipynb
index de471922..98cf68b3 100644
--- a/nbs/docs/tutorials/050_training.ipynb
+++ b/nbs/docs/tutorials/050_training.ipynb
@@ -5,15 +5,19 @@
    "id": "6de758ee-a0d2-4b3f-acff-eed419dd17c5",
    "metadata": {},
    "source": [
-    "# Training"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "5d267032-535b-4b7b-b7d3-d2db8f673af6",
-   "metadata": {},
-   "source": [
-    "This section offers tutorials related to training a model."
+    "# Training\n",
+    "\n",
+    "This section offers tutorials related to training `TimeGPT` under specific conditions.\n",
+    "\n",
+    "### What You Will Learn\n",
+    "\n",
+    "1. **Long Horizon Forecasting**\n",
+    "\n",
+    "    - Discover how make predictions beyond two seasonal periods or even further into the future, using `TimeGPT`'s specialized model for long horizon forecasting.\n",
+    "\n",
+    "2. **Multiple Series Forecasting**\n",
+    "\n",
+    "    - Learn how to use `TimeGPT` to forecast multiple time series simultaneously."
    ]
   }
  ],
diff --git a/nbs/docs/tutorials/080_validation.ipynb b/nbs/docs/tutorials/080_validation.ipynb
index 11221c3f..0083e383 100644
--- a/nbs/docs/tutorials/080_validation.ipynb
+++ b/nbs/docs/tutorials/080_validation.ipynb
@@ -13,9 +13,17 @@
    "id": "5d267032-535b-4b7b-b7d3-d2db8f673af6",
    "metadata": {},
    "source": [
-    "One of the primary challenges in time series forecasting is the inherent uncertainty and variability over time, making it crucial to validate the accuracy and reliability of the models employed. \n",
+    "One of the primary challenges in time series forecasting is the inherent uncertainty and variability over time, making it crucial to validate the accuracy and reliability of the models employed. `TimeGPT` offers the possibility for cross-validation and historical forecasts to help you validate your predictions.\n",
     "\n",
-    "TimeGPT offers the possibility for cross-validation and historical forecasts to help you validate your predictions."
+    "### What You Will Learn\n",
+    "\n",
+    "1. **Cross-Validation**\n",
+    "\n",
+    "    - Learn how to perform time series cross-validation across different continuous windows of your data. \n",
+    "\n",
+    "2. **Historical Forecasts**\n",
+    "\n",
+    "    - Generate in-sample forecasts to validate how `TimeGPT` would have performed in the past, providing insights into the model's accuracy. \n"
    ]
   }
  ],
diff --git a/nbs/docs/tutorials/09_historical_forecast.ipynb b/nbs/docs/tutorials/09_historical_forecast.ipynb
index 70648620..3d849bb0 100644
--- a/nbs/docs/tutorials/09_historical_forecast.ipynb
+++ b/nbs/docs/tutorials/09_historical_forecast.ipynb
@@ -121,6 +121,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "dce721eb",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -292,6 +312,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "c74c7e0a",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/nbs/docs/tutorials/100_uncertainty_quantification.ipynb b/nbs/docs/tutorials/100_uncertainty_quantification.ipynb
index 4f3a87bd..f21043e4 100644
--- a/nbs/docs/tutorials/100_uncertainty_quantification.ipynb
+++ b/nbs/docs/tutorials/100_uncertainty_quantification.ipynb
@@ -5,17 +5,19 @@
    "id": "6de758ee-a0d2-4b3f-acff-eed419dd17c5",
    "metadata": {},
    "source": [
-    "# Uncertainty quantification"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "id": "5d267032-535b-4b7b-b7d3-d2db8f673af6",
-   "metadata": {},
-   "source": [
-    "In forecasting, we are often interested in a distribution of predictions rather than only a point prediction, because we want to have a notion of the uncertainty around the forecast.\n",
+    "# Uncertainty quantification\n",
+    "\n",
+    "In forecasting, it is essential to consider the full distribution of predictions rather than only a point prediction. This approach allows for a better understanding of the uncertainty surrounding the forecast. `TimeGPT` supports uncertainty quantification through quantile forecasts and prediction intervals.\n",
+    "\n",
+    "### What You Will Learn\n",
+    "\n",
+    "1. **Quantile Forecasts**\n",
+    "\n",
+    "    - Learn how to compute specific quantiles of the forecast distribution using `TimeGPT`. \n",
+    "\n",
+    "2. **Prediction Intervals**\n",
     "\n",
-    "TimeGPT offers the possibility to quantify uncertainty using quantile forecasts and prediction intervals."
+    "    - Learn how to generate prediction intervals with `TimeGPT`, which give you a range of values that the forecast can take with a given probability. \n"
    ]
   }
  ],
diff --git a/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb b/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
index a48c63c7..91f792f5 100644
--- a/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
+++ b/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
@@ -131,6 +131,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "1e0c97c2",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -404,6 +424,26 @@
     "timegpt_quantile_fcst_df.head()"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "6367adc2",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "f75f9fcc-24a5-44b5-b19d-8875360d7af3",
diff --git a/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb b/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
index 570b89a7..76ee9f8f 100644
--- a/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
+++ b/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
@@ -131,6 +131,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "4ec82f80",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -377,6 +397,26 @@
     "timegpt_fcst_pred_int_df.head()"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "e7cefb13",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/nbs/docs/tutorials/120_special_topics.ipynb b/nbs/docs/tutorials/120_special_topics.ipynb
index 2b685a5a..7625cea0 100644
--- a/nbs/docs/tutorials/120_special_topics.ipynb
+++ b/nbs/docs/tutorials/120_special_topics.ipynb
@@ -13,7 +13,27 @@
    "id": "5d267032-535b-4b7b-b7d3-d2db8f673af6",
    "metadata": {},
    "source": [
-    "Here you can find tutorials for dealing with special topics during forecasting."
+    "`TimeGPT` is a robust foundation model for time series forecasting, with advanced capabilities such as hierarchical and bounded forecasts. To fully leverage the power of `TimeGPT`, there are specific situations that require special consideration, such as dealing with irregular timestamps or handling datasets with missing values.\n",
+    "\n",
+    "In this section, we will cover these special topics.\n",
+    "\n",
+    "### What You Will Learn\n",
+    "\n",
+    "1. **Irregular Timestamps**\n",
+    "\n",
+    "    - Learn how to deal with irregular timestamps for correct usage of `TimeGPT`.\n",
+    "\n",
+    "2. **Bounded Forecasts**\n",
+    "\n",
+    "    - Explore `TimeGPT`'s capability to make forecasts within a specified range, ideal for applications where outcomes are bounded.\n",
+    "\n",
+    "3. **Hierarchical Forecasts**\n",
+    "\n",
+    "    - Understand how to use `TimeGPT` to make coherent predictions at various levels of aggregation.\n",
+    "\n",
+    "4. **Missing Values**\n",
+    "\n",
+    "    - Learn how to address missing values within your time series data effectively using `TimeGPT`."
    ]
   }
  ],
diff --git a/nbs/docs/tutorials/12_irregular_timestamps.ipynb b/nbs/docs/tutorials/12_irregular_timestamps.ipynb
index d74b372e..0201b03c 100644
--- a/nbs/docs/tutorials/12_irregular_timestamps.ipynb
+++ b/nbs/docs/tutorials/12_irregular_timestamps.ipynb
@@ -118,6 +118,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "d3e09434",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -454,6 +474,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "09f50f5b",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/nbs/docs/tutorials/13_bounded_forecasts.ipynb b/nbs/docs/tutorials/13_bounded_forecasts.ipynb
index c179f6b9..5cf70a0e 100644
--- a/nbs/docs/tutorials/13_bounded_forecasts.ipynb
+++ b/nbs/docs/tutorials/13_bounded_forecasts.ipynb
@@ -127,6 +127,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "a9c7b28a",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -393,6 +413,26 @@
     "timegpt_fcst_with_transform = nixtla_client.forecast(df=df_transformed, h=10, freq='Y', level=[80, 90, 99.5])"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "b6067300",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "markdown",
    "id": "967836fa",
diff --git a/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb b/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
index fcb93ee2..fd7ff6e3 100644
--- a/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
+++ b/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
@@ -127,6 +127,26 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "aacbea74",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -572,6 +592,26 @@
     "timegpt_fcst = nixtla_client.forecast(df=Y_train_df, h=8, freq='QS', add_history=True)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "1f0db1ab",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/nbs/docs/tutorials/15_missing_values.ipynb b/nbs/docs/tutorials/15_missing_values.ipynb
index 86409e18..2f28db74 100644
--- a/nbs/docs/tutorials/15_missing_values.ipynb
+++ b/nbs/docs/tutorials/15_missing_values.ipynb
@@ -294,6 +294,25 @@
     "    "
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -511,6 +530,25 @@
     "fcst = nixtla_client.forecast(train_df_complete, h=len(test_df), model='timegpt-1-long-horizon')"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb b/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
index 41120ff2..d574d0fa 100644
--- a/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
+++ b/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
@@ -316,6 +316,25 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -344,6 +363,25 @@
     "fcst_df.show(5)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb b/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
index 81394320..325cab2f 100644
--- a/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
+++ b/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
@@ -378,6 +378,25 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -481,6 +500,25 @@
     "fcst_df.compute().head()"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb b/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
index 593b2647..12f61844 100644
--- a/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
+++ b/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
@@ -402,6 +402,25 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -430,6 +449,25 @@
     "fcst_df = nixtla_client.forecast(ray_df, h=12)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.forecast(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
diff --git a/nbs/docs/tutorials/20_anomaly_detection.ipynb b/nbs/docs/tutorials/20_anomaly_detection.ipynb
index 0f9a967d..2937e2e5 100644
--- a/nbs/docs/tutorials/20_anomaly_detection.ipynb
+++ b/nbs/docs/tutorials/20_anomaly_detection.ipynb
@@ -109,6 +109,25 @@
     ")"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Use an Azure AI endpoint\n",
+    "\n",
+    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client = NixtlaClient( \n",
+    "    base_url=\"your azure ai endpoint\", \n",
+    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
+    ") \n",
+    "```\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -356,6 +375,25 @@
     "anomalies_df.head()"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "::: {.callout-important}\n",
+    "\n",
+    "## Available models in Azure AI\n",
+    "\n",
+    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
+    "\n",
+    "``` python\n",
+    "nixtla_client.detect_anomalies(..., model=\"azureai\") \n",
+    "```\n",
+    "\n",
+    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
+    "\n",
+    "::: "
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},

From e8ae867889efca8738505fe351a4783f671e6621 Mon Sep 17 00:00:00 2001
From: MMenchero <marianamenchero@gmail.com>
Date: Tue, 14 May 2024 15:43:24 -0600
Subject: [PATCH 2/4] Added links to introductory pages

---
 nbs/docs/tutorials/050_training.ipynb                   | 4 ++--
 nbs/docs/tutorials/080_validation.ipynb                 | 4 ++--
 nbs/docs/tutorials/100_uncertainty_quantification.ipynb | 4 ++--
 nbs/docs/tutorials/120_special_topics.ipynb             | 8 ++++----
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/nbs/docs/tutorials/050_training.ipynb b/nbs/docs/tutorials/050_training.ipynb
index 98cf68b3..b1bef5c6 100644
--- a/nbs/docs/tutorials/050_training.ipynb
+++ b/nbs/docs/tutorials/050_training.ipynb
@@ -11,11 +11,11 @@
     "\n",
     "### What You Will Learn\n",
     "\n",
-    "1. **Long Horizon Forecasting**\n",
+    "1. **[Long Horizon Forecasting](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting)**\n",
     "\n",
     "    - Discover how make predictions beyond two seasonal periods or even further into the future, using `TimeGPT`'s specialized model for long horizon forecasting.\n",
     "\n",
-    "2. **Multiple Series Forecasting**\n",
+    "2. **[Multiple Series Forecasting](https://docs.nixtla.io/docs/tutorials-multiple_series_forecasting)**\n",
     "\n",
     "    - Learn how to use `TimeGPT` to forecast multiple time series simultaneously."
    ]
diff --git a/nbs/docs/tutorials/080_validation.ipynb b/nbs/docs/tutorials/080_validation.ipynb
index 0083e383..74efd638 100644
--- a/nbs/docs/tutorials/080_validation.ipynb
+++ b/nbs/docs/tutorials/080_validation.ipynb
@@ -17,11 +17,11 @@
     "\n",
     "### What You Will Learn\n",
     "\n",
-    "1. **Cross-Validation**\n",
+    "1. **[Cross-Validation](https://docs.nixtla.io/docs/tutorials-cross_validation)**\n",
     "\n",
     "    - Learn how to perform time series cross-validation across different continuous windows of your data. \n",
     "\n",
-    "2. **Historical Forecasts**\n",
+    "2. **[Historical Forecasts](https://docs.nixtla.io/docs/tutorials-historical_forecast)**\n",
     "\n",
     "    - Generate in-sample forecasts to validate how `TimeGPT` would have performed in the past, providing insights into the model's accuracy. \n"
    ]
diff --git a/nbs/docs/tutorials/100_uncertainty_quantification.ipynb b/nbs/docs/tutorials/100_uncertainty_quantification.ipynb
index f21043e4..71b7b51b 100644
--- a/nbs/docs/tutorials/100_uncertainty_quantification.ipynb
+++ b/nbs/docs/tutorials/100_uncertainty_quantification.ipynb
@@ -11,11 +11,11 @@
     "\n",
     "### What You Will Learn\n",
     "\n",
-    "1. **Quantile Forecasts**\n",
+    "1. **[Quantile Forecasts](https://docs.nixtla.io/docs/tutorials-quantile_forecasts)**\n",
     "\n",
     "    - Learn how to compute specific quantiles of the forecast distribution using `TimeGPT`. \n",
     "\n",
-    "2. **Prediction Intervals**\n",
+    "2. **[Prediction Intervals](https://docs.nixtla.io/docs/tutorials-prediction_intervals)**\n",
     "\n",
     "    - Learn how to generate prediction intervals with `TimeGPT`, which give you a range of values that the forecast can take with a given probability. \n"
    ]
diff --git a/nbs/docs/tutorials/120_special_topics.ipynb b/nbs/docs/tutorials/120_special_topics.ipynb
index 7625cea0..34c3492f 100644
--- a/nbs/docs/tutorials/120_special_topics.ipynb
+++ b/nbs/docs/tutorials/120_special_topics.ipynb
@@ -19,19 +19,19 @@
     "\n",
     "### What You Will Learn\n",
     "\n",
-    "1. **Irregular Timestamps**\n",
+    "1. **[Irregular Timestamps](https://docs.nixtla.io/docs/tutorials-irregular_timestamps)**\n",
     "\n",
     "    - Learn how to deal with irregular timestamps for correct usage of `TimeGPT`.\n",
     "\n",
-    "2. **Bounded Forecasts**\n",
+    "2. **[Bounded Forecasts](https://docs.nixtla.io/docs/tutorials-bounded_forecasts)**\n",
     "\n",
     "    - Explore `TimeGPT`'s capability to make forecasts within a specified range, ideal for applications where outcomes are bounded.\n",
     "\n",
-    "3. **Hierarchical Forecasts**\n",
+    "3. **[Hierarchical Forecasts](https://docs.nixtla.io/docs/tutorials-hierarchical_forecasting)**\n",
     "\n",
     "    - Understand how to use `TimeGPT` to make coherent predictions at various levels of aggregation.\n",
     "\n",
-    "4. **Missing Values**\n",
+    "4. **[Missing Values](https://docs.nixtla.io/docs/tutorials-missing_values)**\n",
     "\n",
     "    - Learn how to address missing values within your time series data effectively using `TimeGPT`."
    ]

From 9fc2ed72f2f3b6d12979ed98c33148bfec0bc0b3 Mon Sep 17 00:00:00 2001
From: MMenchero <marianamenchero@gmail.com>
Date: Wed, 15 May 2024 12:28:54 -0600
Subject: [PATCH 3/4] New format for callouts

---
 .../tutorials/09_historical_forecast.ipynb    | 42 +++++++------------
 ...antification_with_quantile_forecasts.ipynb | 40 +++++++-----------
 ...tification_with_prediction_intervals.ipynb | 40 +++++++-----------
 .../tutorials/12_irregular_timestamps.ipynb   | 40 +++++++-----------
 nbs/docs/tutorials/13_bounded_forecasts.ipynb | 40 +++++++-----------
 .../14_hierarchical_forecasting.ipynb         | 40 +++++++-----------
 nbs/docs/tutorials/15_missing_values.ipynb    | 40 +++++++-----------
 ...computing_at_scale_spark_distributed.ipynb | 40 +++++++-----------
 ..._computing_at_scale_dask_distributed.ipynb | 40 +++++++-----------
 ...9_computing_at_scale_ray_distributed.ipynb | 40 +++++++-----------
 nbs/docs/tutorials/20_anomaly_detection.ipynb | 40 +++++++-----------
 11 files changed, 155 insertions(+), 287 deletions(-)

diff --git a/nbs/docs/tutorials/09_historical_forecast.ipynb b/nbs/docs/tutorials/09_historical_forecast.ipynb
index 3d849bb0..b882401d 100644
--- a/nbs/docs/tutorials/09_historical_forecast.ipynb
+++ b/nbs/docs/tutorials/09_historical_forecast.ipynb
@@ -126,19 +126,11 @@
    "id": "dce721eb",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -314,22 +306,18 @@
   },
   {
    "cell_type": "markdown",
-   "id": "c74c7e0a",
+   "id": "6933cbb0",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`.\n"
    ]
   },
   {
diff --git a/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb b/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
index 91f792f5..9b2fa8c9 100644
--- a/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
+++ b/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
@@ -136,19 +136,11 @@
    "id": "1e0c97c2",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -429,19 +421,15 @@
    "id": "6367adc2",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb b/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
index 76ee9f8f..f68bcedb 100644
--- a/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
+++ b/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
@@ -136,19 +136,11 @@
    "id": "4ec82f80",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -402,19 +394,15 @@
    "id": "e7cefb13",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/12_irregular_timestamps.ipynb b/nbs/docs/tutorials/12_irregular_timestamps.ipynb
index 0201b03c..ca3c7b98 100644
--- a/nbs/docs/tutorials/12_irregular_timestamps.ipynb
+++ b/nbs/docs/tutorials/12_irregular_timestamps.ipynb
@@ -123,19 +123,11 @@
    "id": "d3e09434",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -479,19 +471,15 @@
    "id": "09f50f5b",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/13_bounded_forecasts.ipynb b/nbs/docs/tutorials/13_bounded_forecasts.ipynb
index 5cf70a0e..e23067df 100644
--- a/nbs/docs/tutorials/13_bounded_forecasts.ipynb
+++ b/nbs/docs/tutorials/13_bounded_forecasts.ipynb
@@ -132,19 +132,11 @@
    "id": "a9c7b28a",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -418,19 +410,15 @@
    "id": "b6067300",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb b/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
index fd7ff6e3..daf44254 100644
--- a/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
+++ b/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
@@ -132,19 +132,11 @@
    "id": "aacbea74",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -597,19 +589,15 @@
    "id": "1f0db1ab",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/15_missing_values.ipynb b/nbs/docs/tutorials/15_missing_values.ipynb
index 2f28db74..7d4bdec4 100644
--- a/nbs/docs/tutorials/15_missing_values.ipynb
+++ b/nbs/docs/tutorials/15_missing_values.ipynb
@@ -298,19 +298,11 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -534,19 +526,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb b/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
index d574d0fa..43465a13 100644
--- a/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
+++ b/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
@@ -320,19 +320,11 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -367,19 +359,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb b/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
index 325cab2f..e25fff18 100644
--- a/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
+++ b/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
@@ -382,19 +382,11 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -504,19 +496,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb b/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
index 12f61844..27ecdd23 100644
--- a/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
+++ b/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
@@ -406,19 +406,11 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -453,19 +445,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.forecast(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.forecast(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {
diff --git a/nbs/docs/tutorials/20_anomaly_detection.ipynb b/nbs/docs/tutorials/20_anomaly_detection.ipynb
index 2937e2e5..49e386bc 100644
--- a/nbs/docs/tutorials/20_anomaly_detection.ipynb
+++ b/nbs/docs/tutorials/20_anomaly_detection.ipynb
@@ -113,19 +113,11 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Use an Azure AI endpoint\n",
-    "\n",
-    "To use an Azure AI endpoint, remember to also set the `base_url` argument: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client = NixtlaClient( \n",
-    "    base_url=\"your azure ai endpoint\", \n",
-    "    api_key=\"my_api_key_provided_by_nixtla\" \n",
-    ") \n",
-    "```\n",
-    "::: "
+    "> 👍 Use an Azure AI endpoint\n",
+    "> \n",
+    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
+    "> \n",
+    "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
   {
@@ -379,19 +371,15 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "::: {.callout-important}\n",
-    "\n",
-    "## Available models in Azure AI\n",
-    "\n",
-    "If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`: \n",
-    "\n",
-    "``` python\n",
-    "nixtla_client.detect_anomalies(..., model=\"azureai\") \n",
-    "```\n",
-    "\n",
-    "For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`.   By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`. \n",
-    "\n",
-    "::: "
+    "> 📘 Available models in Azure AI\n",
+    ">\n",
+    "> If you are using an Azure AI endpoint, please be sure to set `model=\"azureai\"`:\n",
+    ">\n",
+    "> `nixtla_client.detect_anomalies(..., model=\"azureai\")`\n",
+    "> \n",
+    "> For the public API, we support two models: `timegpt-1` and `timegpt-1-long-horizon`. \n",
+    "> \n",
+    "> By default, `timegpt-1` is used. Please see [this tutorial](https://docs.nixtla.io/docs/tutorials-long_horizon_forecasting) on how and when to use `timegpt-1-long-horizon`."
    ]
   },
   {

From 218e71258a27fa8a10f1734865700e5ccfa141f5 Mon Sep 17 00:00:00 2001
From: MMenchero <marianamenchero@gmail.com>
Date: Fri, 17 May 2024 11:51:45 -0600
Subject: [PATCH 4/4] Minor fixes

---
 nbs/docs/getting-started/5_faq.ipynb          | 21 ++++++++++++++++++-
 .../tutorials/09_historical_forecast.ipynb    |  6 +++---
 ...antification_with_quantile_forecasts.ipynb |  6 +++---
 ...tification_with_prediction_intervals.ipynb |  6 +++---
 .../tutorials/12_irregular_timestamps.ipynb   |  6 +++---
 nbs/docs/tutorials/13_bounded_forecasts.ipynb |  6 +++---
 .../14_hierarchical_forecasting.ipynb         |  6 +++---
 nbs/docs/tutorials/15_missing_values.ipynb    |  6 +++---
 .../tutorials/16_computing_at_scale.ipynb     |  2 +-
 ...computing_at_scale_spark_distributed.ipynb |  6 +++---
 ..._computing_at_scale_dask_distributed.ipynb |  8 +++----
 ...9_computing_at_scale_ray_distributed.ipynb |  6 +++---
 nbs/docs/tutorials/20_anomaly_detection.ipynb |  6 +++---
 13 files changed, 55 insertions(+), 36 deletions(-)

diff --git a/nbs/docs/getting-started/5_faq.ipynb b/nbs/docs/getting-started/5_faq.ipynb
index 46a2956a..89bb4bbd 100644
--- a/nbs/docs/getting-started/5_faq.ipynb
+++ b/nbs/docs/getting-started/5_faq.ipynb
@@ -153,6 +153,25 @@
     "## Features and Capabilities"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<details>\n",
+    "    <summary>What is the input to TimeGPT?</summary>\n",
+    "\n",
+    "`TimeGPT` accepts `pandas` dataframes in [long format](https://www.theanalysisfactor.com/wide-and-long-data/#comments) with the following necessary columns: \n",
+    "\n",
+    "- `ds` (timestamp): timestamp in format `YYYY-MM-DD` or `YYYY-MM-DD HH:MM:SS`. \n",
+    "- `y` (numeric): The target variable to forecast. \n",
+    "\n",
+    "(Optionally, you can also pass a DataFrame without the `ds` column as long as it has DatetimeIndex)\n",
+    "\n",
+    "`TimeGPT` also works with [distributed dataframes](https://docs.nixtla.io/docs/tutorials-computing_at_scale) like `dask`, `spark` and `ray`. \n",
+    "\n",
+    "</details>"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -295,7 +314,7 @@
     "<details>\n",
     "    <summary>Does TimeGPT support polars?</summary>\n",
     "\n",
-    "As of now, `TimeGPT` supports only pandas DataFrames and does not offer support for polars. \n",
+    "As of now, `TimeGPT` does not offer support for polars. \n",
     "\n",
     "</details>"
    ]
diff --git a/nbs/docs/tutorials/09_historical_forecast.ipynb b/nbs/docs/tutorials/09_historical_forecast.ipynb
index b882401d..380f3008 100644
--- a/nbs/docs/tutorials/09_historical_forecast.ipynb
+++ b/nbs/docs/tutorials/09_historical_forecast.ipynb
@@ -127,9 +127,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb b/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
index 9b2fa8c9..731f162d 100644
--- a/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
+++ b/nbs/docs/tutorials/10_uncertainty_quantification_with_quantile_forecasts.ipynb
@@ -137,9 +137,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb b/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
index f68bcedb..70e555e6 100644
--- a/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
+++ b/nbs/docs/tutorials/11_uncertainty_quantification_with_prediction_intervals.ipynb
@@ -137,9 +137,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/12_irregular_timestamps.ipynb b/nbs/docs/tutorials/12_irregular_timestamps.ipynb
index ca3c7b98..88e492db 100644
--- a/nbs/docs/tutorials/12_irregular_timestamps.ipynb
+++ b/nbs/docs/tutorials/12_irregular_timestamps.ipynb
@@ -124,9 +124,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/13_bounded_forecasts.ipynb b/nbs/docs/tutorials/13_bounded_forecasts.ipynb
index e23067df..a2da093b 100644
--- a/nbs/docs/tutorials/13_bounded_forecasts.ipynb
+++ b/nbs/docs/tutorials/13_bounded_forecasts.ipynb
@@ -133,9 +133,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb b/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
index daf44254..5183d094 100644
--- a/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
+++ b/nbs/docs/tutorials/14_hierarchical_forecasting.ipynb
@@ -133,9 +133,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/15_missing_values.ipynb b/nbs/docs/tutorials/15_missing_values.ipynb
index 7d4bdec4..aa7cef19 100644
--- a/nbs/docs/tutorials/15_missing_values.ipynb
+++ b/nbs/docs/tutorials/15_missing_values.ipynb
@@ -299,9 +299,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/16_computing_at_scale.ipynb b/nbs/docs/tutorials/16_computing_at_scale.ipynb
index 3a1a2a50..68b9ecf7 100644
--- a/nbs/docs/tutorials/16_computing_at_scale.ipynb
+++ b/nbs/docs/tutorials/16_computing_at_scale.ipynb
@@ -48,7 +48,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Using `TimeGPT` with any of the supported distributed computing frameworks is straightforward, as `TimeGPT` will read a `pandas` DataFrame and then use the corresponding framework. Thus, the usage is almost identical to the non-distributed case. \n",
+    "Using `TimeGPT` with any of the supported distributed computing frameworks is straightforward and its usage is almost identical to the non-distributed case. \n",
     "\n",
     "1. Instantiate a `NixtlaClient` class.\n",
     "2. Load your data as a `pandas` DataFrame.\n",
diff --git a/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb b/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
index 43465a13..99eda1a3 100644
--- a/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
+++ b/nbs/docs/tutorials/17_computing_at_scale_spark_distributed.ipynb
@@ -321,9 +321,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb b/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
index e25fff18..37042a86 100644
--- a/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
+++ b/nbs/docs/tutorials/18_computing_at_scale_dask_distributed.ipynb
@@ -247,7 +247,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "Import Dask and convert the pandas DataFrame to a Dask DataFrame. "
+    "Import Dask and convert the `pandas` DataFrame to a Dask DataFrame. "
    ]
   },
   {
@@ -383,9 +383,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb b/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
index 27ecdd23..06a53f16 100644
--- a/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
+++ b/nbs/docs/tutorials/19_computing_at_scale_ray_distributed.ipynb
@@ -407,9 +407,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },
diff --git a/nbs/docs/tutorials/20_anomaly_detection.ipynb b/nbs/docs/tutorials/20_anomaly_detection.ipynb
index 49e386bc..8b3ded3c 100644
--- a/nbs/docs/tutorials/20_anomaly_detection.ipynb
+++ b/nbs/docs/tutorials/20_anomaly_detection.ipynb
@@ -114,9 +114,9 @@
    "metadata": {},
    "source": [
     "> 👍 Use an Azure AI endpoint\n",
-    "> \n",
-    "> To use an Azure AI endpoint, remember to set also the `base_url` argument:\n",
-    "> \n",
+    ">\n",
+    "> To use an Azure AI endpoint, set the `base_url` argument:\n",
+    ">\n",
     "> `nixtla_client = NixtlaClient(base_url=\"you azure ai endpoint\", api_key=\"your api_key\")`"
    ]
   },