From 7078e81e94a3625462ca69f6f3c82fcc0d0fdbf1 Mon Sep 17 00:00:00 2001 From: plaguss Date: Wed, 29 Nov 2023 17:03:46 +0100 Subject: [PATCH 01/31] chore: add requirement to run mkdocs serve --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 966adacfff..3e0c9c40c0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,7 @@ docs = [ "mkdocstrings[python] >= 0.24.0", "mkdocs-literate-nav >= 0.6.1", "mkdocs-section-index >= 0.3.8", + "mkdocs-gen-files >= 0.5.0", ] [project.urls] From 27847ee91738bce27a51f20c981b08e445fface5 Mon Sep 17 00:00:00 2001 From: plaguss Date: Thu, 30 Nov 2023 13:05:22 +0100 Subject: [PATCH 02/31] docs: add draft for learning section --- docs/learn/index.md | 6 ++++++ docs/learn/tutorials/index.md | 2 ++ docs/learn/tutorials/preference-dataset.md | 6 ++++++ docs/learn/user-guides/create-a-pipeline.md | 6 ++++++ docs/learn/user-guides/index.md | 3 +++ docs/learn/user-guides/tasks/index.md | 2 ++ docs/learn/user-guides/tasks/qa-task.md | 10 ++++++++++ .../learn/tasks/llama2-qa-task-0001.py | 19 +++++++++++++++++++ mkdocs.yml | 12 ++++++++++++ 9 files changed, 66 insertions(+) create mode 100644 docs/learn/index.md create mode 100644 docs/learn/tutorials/index.md create mode 100644 docs/learn/tutorials/preference-dataset.md create mode 100644 docs/learn/user-guides/create-a-pipeline.md create mode 100644 docs/learn/user-guides/index.md create mode 100644 docs/learn/user-guides/tasks/index.md create mode 100644 docs/learn/user-guides/tasks/qa-task.md create mode 100644 docs/snippets/learn/tasks/llama2-qa-task-0001.py diff --git a/docs/learn/index.md b/docs/learn/index.md new file mode 100644 index 0000000000..64183fc2b9 --- /dev/null +++ b/docs/learn/index.md @@ -0,0 +1,6 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. + +Here you can find the tutorials and guides to learn how to use `distilabel`. + +Consider this the entrypoint to become an expert AI Feedback dataset crafter. diff --git a/docs/learn/tutorials/index.md b/docs/learn/tutorials/index.md new file mode 100644 index 0000000000..969980b55b --- /dev/null +++ b/docs/learn/tutorials/index.md @@ -0,0 +1,2 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. \ No newline at end of file diff --git a/docs/learn/tutorials/preference-dataset.md b/docs/learn/tutorials/preference-dataset.md new file mode 100644 index 0000000000..95e11ed8d8 --- /dev/null +++ b/docs/learn/tutorials/preference-dataset.md @@ -0,0 +1,6 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. + +# Create a Preference Dataset + +Adapt the Demo notebook from Gabri here \ No newline at end of file diff --git a/docs/learn/user-guides/create-a-pipeline.md b/docs/learn/user-guides/create-a-pipeline.md new file mode 100644 index 0000000000..95e11ed8d8 --- /dev/null +++ b/docs/learn/user-guides/create-a-pipeline.md @@ -0,0 +1,6 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. + +# Create a Preference Dataset + +Adapt the Demo notebook from Gabri here \ No newline at end of file diff --git a/docs/learn/user-guides/index.md b/docs/learn/user-guides/index.md new file mode 100644 index 0000000000..29971a9467 --- /dev/null +++ b/docs/learn/user-guides/index.md @@ -0,0 +1,3 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. + diff --git a/docs/learn/user-guides/tasks/index.md b/docs/learn/user-guides/tasks/index.md new file mode 100644 index 0000000000..8a5c4ccdfe --- /dev/null +++ b/docs/learn/user-guides/tasks/index.md @@ -0,0 +1,2 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. diff --git a/docs/learn/user-guides/tasks/qa-task.md b/docs/learn/user-guides/tasks/qa-task.md new file mode 100644 index 0000000000..0471e928e2 --- /dev/null +++ b/docs/learn/user-guides/tasks/qa-task.md @@ -0,0 +1,10 @@ +!!! warning "🚧 Work in Progress" + This page is a work in progress. + +# Create your own task for Question Answering + +Explain how to create and use your own task, using the example from inference-endpoints... + +```python +--8<-- "docs/snippets/learn/tasks/llama2-qa-task-0001.py" +``` diff --git a/docs/snippets/learn/tasks/llama2-qa-task-0001.py b/docs/snippets/learn/tasks/llama2-qa-task-0001.py new file mode 100644 index 0000000000..566f02f0b4 --- /dev/null +++ b/docs/snippets/learn/tasks/llama2-qa-task-0001.py @@ -0,0 +1,19 @@ +from typing import Dict + +from distilabel.tasks import Llama2TextGenerationTask, Prompt + +class Llama2QuestionAnsweringTask(Llama2TextGenerationTask): + def generate_prompt(self, question: str) -> str: + return Prompt( + system_prompt=self.system_prompt, + formatted_prompt=question, + ).format_as("llama2") # type: ignore + + def parse_output(self, output: str) -> Dict[str, str]: + return {"answer": output.strip()} + + def input_args_names(self) -> list[str]: + return ["question"] + + def output_args_names(self) -> list[str]: + return ["answer"] \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index b8ac6fa4f9..5d20fcef3f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -75,4 +75,16 @@ nav: - Getting started: index.md - Concepts: concepts.md - Guides: guides.md + - Learn: + - learn/index.md + - Tutorials: + - learn/tutorials/index.md + - Create a Preference Dataset: learn/tutorials/preference-dataset.md + - User Guides: + - Tasks: + - learn/user-guides/tasks/index.md + - Create your own task for Question Answering: learn/user-guides/tasks/qa-task.md + - LLMs: learn/user-guides/create-pipeline.md + - Pipelines: + - learn/user-guides/preference-dataset.md - Code Reference: reference/ From 30069558f2510eae0e9cb6a3b943e1b51f94818a Mon Sep 17 00:00:00 2001 From: plaguss Date: Thu, 30 Nov 2023 14:02:13 +0100 Subject: [PATCH 03/31] refactor: guides as a part of the learn section --- docs/guides.md | 3 --- mkdocs.yml | 1 - 2 files changed, 4 deletions(-) delete mode 100644 docs/guides.md diff --git a/docs/guides.md b/docs/guides.md deleted file mode 100644 index a79545bf93..0000000000 --- a/docs/guides.md +++ /dev/null @@ -1,3 +0,0 @@ -# Guides - -This page is still WIP, stay tuned! diff --git a/mkdocs.yml b/mkdocs.yml index 5d20fcef3f..c1bb9810ca 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -74,7 +74,6 @@ plugins: nav: - Getting started: index.md - Concepts: concepts.md - - Guides: guides.md - Learn: - learn/index.md - Tutorials: From 81ddb99201574b1c08e0aa1ce0ec218d62b94d3f Mon Sep 17 00:00:00 2001 From: plaguss Date: Thu, 30 Nov 2023 18:09:27 +0100 Subject: [PATCH 04/31] chore: add support to render notebooks --- mkdocs.yml | 7 ++++--- pyproject.toml | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index c1bb9810ca..67677df927 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -19,7 +19,7 @@ theme: - navigation.instant - navigation.tabs - toc.follow - - toc.integrate + #- toc.integrate - content.code.copy - content.code.annotate palette: @@ -70,6 +70,7 @@ plugins: nav_file: SUMMARY.md - section-index - mkdocstrings + - mknotebooks nav: - Getting started: index.md @@ -78,7 +79,7 @@ nav: - learn/index.md - Tutorials: - learn/tutorials/index.md - - Create a Preference Dataset: learn/tutorials/preference-dataset.md + - Create a Preference Dataset notebook: learn/tutorials/nb-preference-dataset.ipynb - User Guides: - Tasks: - learn/user-guides/tasks/index.md @@ -86,4 +87,4 @@ nav: - LLMs: learn/user-guides/create-pipeline.md - Pipelines: - learn/user-guides/preference-dataset.md - - Code Reference: reference/ + - API Reference: reference/ diff --git a/pyproject.toml b/pyproject.toml index 3e0c9c40c0..b5e1432c79 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,6 +43,7 @@ docs = [ "mkdocs-literate-nav >= 0.6.1", "mkdocs-section-index >= 0.3.8", "mkdocs-gen-files >= 0.5.0", + "mknotebooks >= 0.8.0", ] [project.urls] From b269caf867263ed76be753ea6a6faa16b3146b44 Mon Sep 17 00:00:00 2001 From: plaguss Date: Thu, 30 Nov 2023 18:09:59 +0100 Subject: [PATCH 05/31] docs: copy tutorial from gabri --- docs/learn/tutorials/index.md | 5 +- .../tutorials/nb-preference-dataset.ipynb | 5720 +++++++++++++++++ docs/learn/tutorials/preference-dataset.md | 6 - 3 files changed, 5723 insertions(+), 8 deletions(-) create mode 100644 docs/learn/tutorials/nb-preference-dataset.ipynb delete mode 100644 docs/learn/tutorials/preference-dataset.md diff --git a/docs/learn/tutorials/index.md b/docs/learn/tutorials/index.md index 969980b55b..019b53750e 100644 --- a/docs/learn/tutorials/index.md +++ b/docs/learn/tutorials/index.md @@ -1,2 +1,3 @@ -!!! warning "🚧 Work in Progress" - This page is a work in progress. \ No newline at end of file +# Tutorials + +This section contains lessons that will guide you step by step to create different types of datasets with the help of `distilabel`. diff --git a/docs/learn/tutorials/nb-preference-dataset.ipynb b/docs/learn/tutorials/nb-preference-dataset.ipynb new file mode 100644 index 0000000000..139119ba86 --- /dev/null +++ b/docs/learn/tutorials/nb-preference-dataset.ipynb @@ -0,0 +1,5720 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "_7ptlRStN9Mw" + }, + "source": [ + "# βš–οΈ Create a preference dataset\n", + "\n", + "In this tutorial, we will create a preference dataset that can be later used to fine-tune an LLM using DPO. First, we will define a list of math topics and we will create a pipeline for generating a list of instructions using `self-instruct` and OpenAI's `gpt-3.5-turbo`. After that, we will create another pipeline in which we will ask `gpt-3.5-turbo` to generate 3 texts for each instruction, and finally we will ask it again to rate these responses, given us our preference dataset.\n", + "\n", + "You can also read this tutorial using google colab with the following button: \n", + "\n", + "[![open in colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/argilla-io/distilabel/blob/main/docs/learn/tutorials/nb-preference-dataset.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup\n", + "\n", + "For this tutorial you will need an API key associated to your OpenAI account. After that, you will need to create a Google Colab secret clicking the icon key in the left side bar and create a secret called `OPENAI_API_KEY` with your OpenAI API key as value.\n", + "\n", + "> Google Colab secrets has been released a few weeks ago and it's very useful to reuse and not leak your API Keys!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "46hsMToDUN5H" + }, + "outputs": [], + "source": [ + "import os\n", + "from google.colab import userdata\n", + "\n", + "os.environ[\"OPENAI_API_KEY\"] = userdata.get(\"OPENAI_API_KEY\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "XAUHMiOJPs93" + }, + "source": [ + "### Installing `distilabel`\n", + "\n", + "Let's start by installing `distilabel` with the `openai` and `argilla` extras, to install the respective `openai` and `argilla` clients that we will need later. In addition, we will install an extension for timing some cells." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "IpO8CKrn0hFL", + "outputId": "ab57f5fd-72de-495a-f7b8-98ac39915f9c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.1/60.1 kB\u001b[0m \u001b[31m2.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m17.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m220.8/220.8 kB\u001b[0m \u001b[31m20.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.7/75.7 kB\u001b[0m \u001b[31m9.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m14.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m27.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.0/76.0 kB\u001b[0m \u001b[31m9.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m7.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "llmx 0.0.15a0 requires cohere, which is not installed.\n", + "llmx 0.0.15a0 requires tiktoken, which is not installed.\u001b[0m\u001b[31m\n", + "\u001b[0mtime: 330 Β΅s (started: 2023-11-28 13:21:16 +00:00)\n" + ] + } + ], + "source": [ + "%pip install distilabel[openai,argilla] ipython-autotime -qqq\n", + "%load_ext autotime" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "xEgKfbaY0KTl" + }, + "source": [ + "## Instruction generation\n", + "\n", + "As mentioned above, we will first create a `Pipeline` for generating instructions using `self-instruct` and `gpt-3.5-turbo`. For that we will create an instance of `SelfInstructTask`, which defines a prompt template for generating instructions given an application description. We will also create an instance of `OpenAILLM` for using `gpt-3.5-turbo` and we will pass it the `SelfInstructTask` instance that we created before.\n", + "\n", + "> As we're passing a `Task` for generating texts to the `OpenAILLM` we will call this one as a `generator`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ARP2gtEtS1yE", + "outputId": "0802295a-1d3f-4065-c157-5604a9f058fd" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 13.3 s (started: 2023-11-28 13:21:22 +00:00)\n" + ] + } + ], + "source": [ + "from distilabel.tasks import SelfInstructTask\n", + "from distilabel.llm import OpenAILLM\n", + "from distilabel.pipeline import Pipeline" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2ytKVekTXHNA" + }, + "source": [ + "First of all, we will create a Hugging Face πŸ€— `dataset` that will contain a single column called `input`. This column will contain the math topics from which we want our LLM to generate instructions.\n", + "\n", + "> It's important that the column is called `input`, because the `Task` that we will create later expects an input argument called `input`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "UIy6ihVox0aQ", + "outputId": "3d5b4e2e-d098-4e50-d0db-8eef501f53c3" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 19.3 ms (started: 2023-11-28 13:21:46 +00:00)\n" + ] + } + ], + "source": [ + "from datasets import Dataset\n", + "\n", + "\n", + "math_topics = [\n", + " \"Algebraic Expressions\",\n", + " \"Linear Equations\",\n", + " \"Quadratic Equations\",\n", + " \"Polynomial Functions\",\n", + " \"Rational Expressions\",\n", + " \"Exponential Functions\",\n", + " \"Logarithmic Functions\",\n", + " \"Sequences and Series\",\n", + " \"Matrices\",\n", + " \"Determinants\",\n", + " \"Complex Numbers\",\n", + " \"Trigonometry\",\n", + " \"Geometry\",\n", + " \"Coordinate Geometry\",\n", + " \"Vector Algebra\",\n", + " \"Statistics\",\n", + " \"Probability\",\n", + " \"Calculus\",\n", + " \"Differential Calculus\",\n", + " \"Integral Calculus\",\n", + " \"Limits and Continuity\",\n", + " \"Differentiation\",\n", + " \"Integration\",\n", + " \"Theorems of Calculus\",\n", + " \"Mathematical Reasoning\",\n", + " \"Set Theory\",\n", + " \"Number Theory\",\n", + " \"Permutations and Combinations\",\n", + " \"Binomial Theorem\",\n", + " \"Arithmetic Progressions\",\n", + " \"Geometric Progressions\",\n", + " \"Harmonic Progressions\",\n", + " \"Trigonometric Ratios\",\n", + " \"Trigonometric Identities\",\n", + " \"Inverse Trigonometric Functions\",\n", + " \"Hyperbolic Functions\",\n", + " \"Conic Sections\",\n", + " \"Circle Geometry\",\n", + " \"Ellipse Geometry\",\n", + " \"Parabola Geometry\",\n", + " \"Hyperbola Geometry\",\n", + " \"Function Theory\",\n", + " \"Graph Theory\",\n", + " \"Differential Equations\",\n", + " \"Mathematical Induction\",\n", + " \"Discrete Mathematics\",\n", + "]\n", + "\n", + "dataset = Dataset.from_dict({\n", + " \"input\": math_topics\n", + "})" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZtM2ZZMdXbXg" + }, + "source": [ + "Next, we will create a `SelfInstructTask` that will guide the `LLM` using the prompt to generate instructions from the given list of inputs.\n", + "\n", + "> All the `Task`s have two properties: `input_args_names` and `output_args_names` that indicates which arguments expects as inputs and which outputs will generate respectively." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JUVqzpjEVxsX", + "outputId": "d8bbf771-7e8a-4ab9-8b43-05174d45aba9" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "`SelfInstructTask`\n", + " - Input arguments: ['input']\n", + " - Output arguments: ['generations']\n", + "time: 692 Β΅s (started: 2023-11-28 13:21:50 +00:00)\n" + ] + } + ], + "source": [ + "application_description = (\n", + " \"An AI assistant adept at answering a wide array of math, logic, and reasoning puzzles, trivia, \"\n", + " \"and general questions. Users of this assistant love to ask the assistant to think and outlines \"\n", + " \"the solutions step by step. It expects complete questions from users providing all the details \"\n", + " \"to solve the proposed problem or respond to general knowledge questions. It covers general \"\n", + " \"knowledge about math, puzzles, reasoning exercises, and real-life scenarios where math and \"\n", + " \"reasoning are important.\"\n", + ")\n", + "\n", + "# by default `SelfInstructTask` will generate 5 instructions, but we can tweak\n", + "# this behaviour passing the `num_instructions` argument.\n", + "instruction_task = SelfInstructTask(\n", + " application_description=application_description\n", + ")\n", + "\n", + "print(f\"`SelfInstructTask`\\n - Input arguments: {instruction_task.input_args_names}\\n - Output arguments: {instruction_task.output_args_names}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YASgix42ZOvO" + }, + "source": [ + "In the next step, we will create an `LLM`, in this case an instance of `OpenAILLM` as we want to use `gpt-3.5-turbo` to generate the instructions. We will pass the `instruction_task` for generating the prompts that we need for generating the instructions given the `input`s of our dataset." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2Da8DkWJV1Lr", + "outputId": "8289af8d-6027-45e2-86ea-187a3479587c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 497 ms (started: 2023-11-28 13:21:54 +00:00)\n" + ] + } + ], + "source": [ + "instruction_generator = OpenAILLM(\n", + " task=instruction_task,\n", + " num_threads=8,\n", + " max_new_tokens=1024,\n", + " temperature=0.7\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "u-2fzkY0ZoWc" + }, + "source": [ + "Finally, we will create a `Pipeline` to orchestrate the whole generation process. In this case we will only pass a `generator`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "oNzYvsUMV768", + "outputId": "2aa55687-c3f4-4020-aed8-6574231c1fe0" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 576 Β΅s (started: 2023-11-28 13:21:56 +00:00)\n" + ] + } + ], + "source": [ + "pipeline = Pipeline(generator=instruction_generator)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DcLzuTj_ZxQv" + }, + "source": [ + "And trigger the generation process calling the `generate` method of the pipeline... We specify that we want `10` generations for each input" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 515, + "referenced_widgets": [ + "b689c54bb1584819a688a3a5ddadc244", + "136d4c25280e4568b2da72c383083809", + "8ae3a7625ea84b19a2addf4eb1ffb8cc", + "0b2eeb5c882e44ecb0b3b40ad9803f2a", + "4cb2d2df76eb473daff13135f955d793", + "c2eabf12fcbf4e75a5ef794ba1ad13e5", + "df72140b3c544c6a96a0579bfc2e1c73", + "64cfb92dacc546d68bb7b98e7752874d", + "88bfc7917f0941779a4d092debd586a4", + "10cbf7c3ab5f43b9a65073db593c6a5f", + "8f162bcb090f45e7bbbe7c7821f542bd", + "7f27083a093a4f43a613496689bf3f25", + "58cb8e9389cb4096af13a62b1365718a", + "d11504d1e86c444b9dbc11272288005d", + "6703f5738f904c97931b7988e15e46de", + "e4b04e0d97cf4058a0dc3523e09dd3fc", + "c21550505dc747b59cfa9cb6f613b36d", + "11b66141ac604485bbbeb2dc527fa955", + "a9788ac98de44a75953d1e4a79368493", + "838d5062812c4394852537ce6330e281", + "f98e13d7856d4b92b201fe13e0ad233d", + "b58e824d7f8d49c286d65282c8986a9a", + "9e91e2e8a54d4b9286c172751bda4210", + "e40f93919d4f4191bed73f84400b8841" + ] + }, + "id": "PtUfJ-ryzrcu", + "outputId": "06e717bd-3e4f-4163-80c7-8db5a7a0ef29" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b689c54bb1584819a688a3a5ddadc244", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:distilabel:Processing batch 1 of 12...\n", + "INFO:distilabel:Calling generator for batch 1...\n", + "INFO:distilabel:Processing batch 2 of 12...\n", + "INFO:distilabel:Calling generator for batch 2...\n", + "INFO:distilabel:Processing batch 3 of 12...\n", + "INFO:distilabel:Calling generator for batch 3...\n", + "INFO:distilabel:Processing batch 4 of 12...\n", + "INFO:distilabel:Calling generator for batch 4...\n", + "INFO:distilabel:Processing batch 5 of 12...\n", + "INFO:distilabel:Calling generator for batch 5...\n", + "INFO:distilabel:Processing batch 6 of 12...\n", + "INFO:distilabel:Calling generator for batch 6...\n", + "INFO:distilabel:Processing batch 7 of 12...\n", + "INFO:distilabel:Calling generator for batch 7...\n", + "INFO:distilabel:Processing batch 8 of 12...\n", + "INFO:distilabel:Calling generator for batch 8...\n", + "INFO:distilabel:Processing batch 9 of 12...\n", + "INFO:distilabel:Calling generator for batch 9...\n", + "INFO:distilabel:Processing batch 10 of 12...\n", + "INFO:distilabel:Calling generator for batch 10...\n", + "INFO:distilabel:Processing batch 11 of 12...\n", + "INFO:distilabel:Calling generator for batch 11...\n", + "INFO:distilabel:Processing batch 12 of 12...\n", + "INFO:distilabel:Calling generator for batch 12...\n" + ] + }, + { + "data": { + "text/html": [ + "
\n"
+            ],
+            "text/plain": []
+          },
+          "metadata": {},
+          "output_type": "display_data"
+        },
+        {
+          "data": {
+            "text/html": [
+              "
\n",
+              "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8ae3a7625ea84b19a2addf4eb1ffb8cc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Flattening the indices: 0%| | 0/46 [00:00\n", + "\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 2min 13s (started: 2023-11-28 13:21:58 +00:00)\n" + ] + } + ], + "source": [ + "distiset = pipeline.generate(\n", + " dataset=dataset,\n", + " num_generations=10,\n", + " batch_size=4\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the help of the following function we will extract the instructions generated from distiset:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "g9occXMW0CS3", + "outputId": "bf70225b-9ee2-4885-9c81-47c7683e32c7" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of generated instructions: 4637\n", + "time: 60.1 ms (started: 2023-11-28 13:28:33 +00:00)\n" + ] + } + ], + "source": [ + "import re\n", + "\n", + "def transform(inst: str) -> str:\n", + " \"\"\"Remove 1., 2., ... from the instruction.\"\"\"\n", + " clean_inst = re.sub(r'^\\d+\\.\\s*', '', inst)\n", + " return f\"{clean_inst}\"\n", + "\n", + "instructions = [\n", + " transform(instruction)\n", + " for generations in distiset[\"generations\"]\n", + " for generation in generations\n", + " for instruction in generation\n", + " if instruction != \"\"\n", + "]\n", + "print(f\"Number of generated instructions: {len(instructions)}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's print 5 of them to see what they look like:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HcHu_c4mbwOe", + "outputId": "98cc1456-65a1-45af-c3c8-828b501a1a71" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "How can the concept of probability be applied in real-life scenarios? \n", + "Could you outline the process to solve a quadratic equation using the quadratic formula?\n", + "Explain the process of expanding the binomial expression (x + 3)^2 step by step.\n", + "How can I find the sum of an arithmetic series?\n", + "Explain the concept of factorial and provide an example of its application in real-life scenarios.\n", + "time: 8.4 ms (started: 2023-11-28 14:38:11 +00:00)\n" + ] + } + ], + "source": [ + "import random\n", + "\n", + "samples = random.sample(instructions, 5)\n", + "\n", + "for sample in samples:\n", + " print(sample)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can create a huggingface `Dataset` and push it to the huggingface to use keep track of the instructions:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Sp7lbyfcdmiI", + "outputId": "aceced70-6477-41c2-e082-2277d60ae26d" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 17.8 ms (started: 2023-11-28 13:28:37 +00:00)\n" + ] + } + ], + "source": [ + "dataset = Dataset.from_dict({\"instructions\": instructions})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 131, + "referenced_widgets": [ + "a70c3be9900c41dea86c85490cb77c2d", + "4569748739b54af9a7747d5fa87e2144", + "7da0fbf826de4ef6b5ba7b05ab8a89cb", + "be5024ffd3474ebba98e64bedd61c099", + "9c7c379080e64c3a8f9a78aa30031f91", + "d4204267e89d461e8f062aff5cc8003f", + "ff45dfbcb201400d83fb8d22f80800a3", + "c59a9980b4f041d28b6a8c2d811f3d18", + "c3323dda5eca413480563bbb386054bd", + "f46b736d7dde48deae0513c5bfcd763e", + "f5ba3331c9cf4077952b081d21f27205", + "6db7a2e6384e4d44a9fc8c58cad4606a", + "8a8e63f88c0a44fb826f3cf8db36eff2", + "4e4bcea8214048ab8eef271845fdabb2", + "053d6f9c93d644f1ba0c691c66b470a6", + "48041d0944ab4f4687dcbbff7d43c214", + "b9be4144c87f4750908ac4463a6b4fa0", + "403b06d12fbb4d9ba02ae2f1ac5c50c8", + "529dcb50b22644f28cb7e4a8d3c104ef", + "8c02b949b1ef492d96be7f78efd3ee19", + "fff35ea38e8145c1be5cec4118dc0426", + "257de17ccdf444749f1abde950817562", + "f86181ec9ffa4ef29ee3b1c16415d93e", + "bb09b7b7c3a64a2d8946f22e317e2c22", + "9a44fdab9d2a45a69bdb451aec343f3b", + "7a0debb756874ac2be74b6886a101a77", + "a6df6936d7b84758ac0ed27bccde84a9", + "8ed252b97c1545f69b5041e720e4baf8", + "f21081c0e48149e6bd63a2cb8395788f", + "f3bd4b39e7ab4fc09bb45acd6e4bb4ce", + "cff570609e1245998eb9a86e1223a24f", + "d81431afdfb94a10a6ff349834c2f619", + "b43a4a0aef674280bf4d4a252b951161" + ] + }, + "id": "Y-i23xECc_J7", + "outputId": "6bf3f81b-fa02-40ff-cf7f-a94a38b18db2" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a70c3be9900c41dea86c85490cb77c2d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Uploading the dataset shards: 0%| | 0/1 [00:00\n" + ], + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n",
+              "
\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81a74705aa8147ee921accc40ff8e7c9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Flattening the indices: 0%| | 0/100 [00:00\n", + "\n" + ], + "text/plain": [ + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 5min 8s (started: 2023-11-28 13:29:07 +00:00)\n" + ] + } + ], + "source": [ + "distiset_pref = pipeline.generate(\n", + " dataset=dataset.shuffle().select(range(100)),\n", + " num_generations=3,\n", + " batch_size=8\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can inspect the columns of our dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "spYhdTgrCdKG", + "outputId": "15dddde4-e998-43b2-9fce-1c1182ef6508" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['input',\n", + " 'generation_model',\n", + " 'generation_prompt',\n", + " 'raw_generation_responses',\n", + " 'generations',\n", + " 'labelling_model',\n", + " 'labelling_prompt',\n", + " 'raw_labelling_response',\n", + " 'rating',\n", + " 'rationale']" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 4.16 ms (started: 2023-11-23 16:36:11 +00:00)\n" + ] + } + ], + "source": [ + "distiset_pref.column_names" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And print some of the generations to see what they look like:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yHGUp0YBCuIV", + "outputId": "4f50039b-3aa6-404d-9eb0-6e1f081578f2" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Instruction: What is the significance of graph theory in computer science and network analysis?\n", + "Graph theory is a fundamental field in mathematics that has significant applications in computer science and network analysis. Here are a few ways it is significant:\n", + "\n", + "1. Network analysis: Graph theory provides a powerful framework for analyzing and understanding complex networks. It helps uncover key properties, such as connectivity, centrality, clustering, and community structure. These insights are essential for designing efficient and reliable networks, managing traffic, identifying vulnerabilities, and optimizing network performance.\n", + "\n", + "2. Data structures and algorithms: Graphs are commonly used as data structures in computer science. They are particularly useful for representing relationships and connections between entities. Many algorithms, such as Dijkstra's algorithm for shortest paths, the traveling salesman problem, and depth-first search, are based on graph theory and are widely employed in various computer science applications.\n", + "\n", + "3. Social networks and web analysis: Graph theory plays a crucial role in analyzing social networks and the structure of the web. It enables us to study patterns of interactions, identify influencers, detect communities, and understand information flow in complex systems like social media platforms and the World Wide Web.\n", + "\n", + "4. Circuit design and optimization: Graph theory aids in circuit design and optimization, especially in electronic and digital systems. By modeling circuits as graphs, engineers can analyze circuit behavior, optimize layouts, and solve various design problems that arise in areas like VLSI (Very Large Scale Integration) and hardware design.\n", + "\n", + "5. Computer graphics and image processing: Graph theory has applications in computer graphics and image processing. Techniques like graph coloring, graph matching, and graph-based segmentation are used for tasks such as color allocation, object recognition, and image compression.\n", + "\n", + "These are just a few examples of how graph theory is significant in computer science and network analysis. Its applications are vast and continue to grow as technology advances.\n", + "\n", + "\n", + "\n", + "Graph theory is highly significant in computer science and network analysis for a variety of reasons:\n", + "\n", + "1. Modeling Relationships: In computer science, graph theory allows us to model and represent complex relationships and dependencies between entities using graphs. This is particularly useful in network analysis, as it helps us understand the connections between nodes in a network, such as the internet or social networks.\n", + "\n", + "2. Algorithm Design: Graph algorithms play a crucial role in solving various computational problems efficiently. Many important algorithms, like Dijkstra's algorithm for finding the shortest path or Prim's algorithm for finding a minimum spanning tree, are based on graph theory. These algorithms are used extensively in network analysis, routing problems, optimizing resource allocation, and many other areas in computer science.\n", + "\n", + "3. Network Analysis: Graph theory provides a powerful framework for analyzing networks, both in theoretical and practical terms. It enables the identification of network structures, such as cliques, communities, or hubs, which helps in understanding network behavior, predicting patterns, and identifying vulnerabilities or bottlenecks.\n", + "\n", + "4. Optimization Problems: Graph theory offers tools for solving various optimization problems that arise in computer science and network analysis. For example, the traveling salesman problem, which seeks the shortest route through a set of cities, can be modeled as a graph problem, allowing the application of graph algorithms to find efficient solutions.\n", + "\n", + "5. Data Structures: Many data structures in computer science, such as trees and adjacency lists, are derived from graph theory. These data structures are fundamental for efficient storage and retrieval of information, and are widely used in implementing algorithms related to networks and other computational domains.\n", + "\n", + "Overall, graph theory provides a theoretical foundation and practical techniques to analyze and solve problems related to networks, computation, and data structures, making it an essential field within computer science and network analysis.\n", + "\n", + "\n", + "\n", + "Graph theory has significant applications in computer science and network analysis. Here are a few key areas where graph theory plays a crucial role:\n", + "\n", + "1. Network Analysis and Social Networks: Graph theory is fundamental to the analysis of complex networks, such as social networks, computer networks, biological networks, and transportation networks. It helps in understanding relationships, connectivity, and patterns within these networks.\n", + "\n", + "2. Data Structures and Algorithms: Many fundamental data structures and algorithms in computer science are based on graphs. Graphs are used to represent and model a variety of problems, including searching, sorting, shortest path algorithms, spanning trees, and flow optimization.\n", + "\n", + "3. Database Systems: Graph databases use graph theory to store and query data in a network-like structure. They enable efficient retrieval and analysis of interconnected data, making them suitable for domains like social media, recommendation systems, and fraud detection.\n", + "\n", + "4. Compiler Design and Code Optimization: Graph theory is employed in compiler design for optimizing code and representing dependencies between program components. Techniques like control flow graphs and data flow analysis utilize graph representations to optimize program execution.\n", + "\n", + "5. Artificial Intelligence and Machine Learning: Graphs are widely used in AI and machine learning to represent complex relationships and dependencies within data. Graph-based algorithms help in tasks like clustering, recommendation systems, community detection, and knowledge representation.\n", + "\n", + "6. Internet and Web Design: Web pages and links can be represented as graphs, enabling algorithms like PageRank to determine the importance and ranking of web pages. Graph theory is also used in studying internet topology, routing algorithms, and network flow optimization.\n", + "\n", + "Graph theory provides a powerful framework for modeling, analyzing, and solving problems in these areas and more. Its concepts and algorithms are essential tools for computer scientists and network analysts.\n", + "\n", + "\n", + "\n", + "time: 1.99 ms (started: 2023-11-23 16:38:05 +00:00)\n" + ] + } + ], + "source": [ + "print(\"Instruction:\", distiset_pref[0][\"input\"])\n", + "for generation in distiset_pref[0][\"generations\"]:\n", + " print(generation, end=\"\\n\\n\\n\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As well a as the rationale:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FXLA6xjUDANK", + "outputId": "4d61141d-27a0-4f29-e55e-f99d94859710" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "['Text 1 fully aligns with the task goal and restrictions. It provides a comprehensive explanation of the significance of graph theory in computer science and network analysis by discussing multiple applications and how they are relevant in each area.',\n", + " 'Text 2 almost fully aligns with the task goal and restrictions. It covers most of the significant ways graph theory is used in computer science and network analysis, but it could benefit from providing more specific examples or details in some areas.',\n", + " 'Text 3 partially aligns with the task goal and restrictions. While it touches on some key areas where graph theory is significant, it lacks detailed explanations and examples in certain domains such as algorithm design and network analysis. It would benefit from providing a more comprehensive discussion in order to fully meet the requirements.']" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 4.56 ms (started: 2023-11-23 16:39:01 +00:00)\n" + ] + } + ], + "source": [ + "distiset_pref[0][\"rationale\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "f8XNwxnM0ylP" + }, + "source": [ + "## Exporting the generated dataset to Argilla" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are ready now to push our dataset to `Argilla` to check and possibly curate the AI generated data.\n", + "\n", + "Let's connect to our `Argilla` instance:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3qgRZ9Ub3vG9", + "outputId": "80ae9bb2-831e-4284-a7b8-1d936bbf968a" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.10/dist-packages/argilla/client/client.py:165: UserWarning: No workspace configuration was detected. To work with Argilla datasets, specify a valid workspace name on `rg.init` or set it up through the `rg.set_workspace` function.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 1.2 s (started: 2023-11-23 15:36:10 +00:00)\n" + ] + } + ], + "source": [ + "import argilla as rg\n", + "\n", + "rg.init(\n", + " api_key=\"owner.apikey\",\n", + " api_url=\"https://gabrielmbmb-distilabel.hf.space\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create an `Argilla` dataset:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "BCjLWPSZyWov", + "outputId": "76503640-25cd-4b17-c95c-9fedf71d55a1" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 347 ms (started: 2023-11-23 15:36:31 +00:00)\n" + ] + } + ], + "source": [ + "rg_dataset = distiset_pref.to_argilla()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And push it to `Argilla`:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KaMCBrF3ymLp", + "outputId": "37a136e3-e4d4-4da7-b71f-4226a41b78c1" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "RemoteFeedbackDataset(\n", + " id=4232d7ac-eaff-49b0-88b8-3a384b76efbb\n", + " name=math-preference-dataset\n", + " workspace=Workspace(id=2fc2ebed-8d20-41b0-b33a-5c5f3712da53, name=admin, inserted_at=2023-11-23 15:00:40.160242, updated_at=2023-11-23 15:00:40.160242)\n", + " url=https://gabrielmbmb-distilabel.hf.space/dataset/4232d7ac-eaff-49b0-88b8-3a384b76efbb/annotation-mode\n", + " fields=[RemoteTextField(id=UUID('dc965a9c-ac85-449b-ae16-bda998c88c1c'), client=None, name='input', title='Input', required=True, type='text', use_markdown=False), RemoteTextField(id=UUID('0d29f518-a3bf-4642-a7d7-1324329555b7'), client=None, name='generations-1', title='Generations-1', required=True, type='text', use_markdown=False), RemoteTextField(id=UUID('c0541a45-8892-49fb-8b85-fcaa0cd147e0'), client=None, name='generations-2', title='Generations-2', required=True, type='text', use_markdown=False), RemoteTextField(id=UUID('4da8a4b5-553d-4b1d-a14f-b936a313797f'), client=None, name='generations-3', title='Generations-3', required=True, type='text', use_markdown=False)]\n", + " questions=[RemoteRatingQuestion(id=UUID('fb012ff3-5fb7-40c0-b623-d4195c1508c8'), client=None, name='generations-1-rating', title=\"What's the rating for generations-1?\", description=None, required=True, type='rating', values=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), RemoteRatingQuestion(id=UUID('a7f02428-74e4-4497-8f26-803988e5c336'), client=None, name='generations-2-rating', title=\"What's the rating for generations-2?\", description=None, required=True, type='rating', values=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), RemoteRatingQuestion(id=UUID('cbab782f-b0c0-4ff6-8c64-c58ad3ea476a'), client=None, name='generations-3-rating', title=\"What's the rating for generations-3?\", description=None, required=True, type='rating', values=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), RemoteTextQuestion(id=UUID('405620c5-8aea-4fda-b92b-ee72e90629a9'), client=None, name='ratings-rationale', title=\"What's the rationale behind the ratings?\", description=None, required=True, type='text', use_markdown=False)]\n", + " guidelines=None)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "time: 8.63 s (started: 2023-11-23 15:36:51 +00:00)\n" + ] + } + ], + "source": [ + "rg_dataset.push_to_argilla(name=\"math-preference-dataset\", workspace=\"admin\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By this time we have a preference dataset for math topics in `Argilla` generated and labeled with `gpt-3.5-turbo` following the `self-instruct` task. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "00b7e88ff8e44cf684b04ebe3cc4b274": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0406f9fcf57344e18df41912571a1e7b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_818d685612e64c648d2fe9703a9f2546", + "placeholder": "​", + "style": "IPY_MODEL_193cdb64301849278f875d5dd0384c4d", + "value": "Generating train split: 100%" + } + }, + "045fd29b122740ccb2d8275a946e5821": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "04c93d170ccf4ba1be322f992979d026": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "053d6f9c93d644f1ba0c691c66b470a6": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fff35ea38e8145c1be5cec4118dc0426", + "placeholder": "​", + "style": "IPY_MODEL_257de17ccdf444749f1abde950817562", + "value": " 5/5 [00:00<00:00, 196.53ba/s]" + } + }, + "09eabef0eb4b450785acd1bdc84c288a": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0a6761b687eb4149bbf6782a2f42a3f6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0b2eeb5c882e44ecb0b3b40ad9803f2a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_64cfb92dacc546d68bb7b98e7752874d", + "placeholder": "​", + "style": "IPY_MODEL_88bfc7917f0941779a4d092debd586a4", + "value": "Flattening the indices: 100%" + } + }, + "0f128da9fa534f0f9a929b05735d0b77": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0ff6760331de48659321310d7d65c8b9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "10cbf7c3ab5f43b9a65073db593c6a5f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1105c277a48f4c7199bb2fe5721b271c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "11b66141ac604485bbbeb2dc527fa955": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "136d4c25280e4568b2da72c383083809": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "192f2806e0be41c281db874b851b5e16": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "193cdb64301849278f875d5dd0384c4d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1af33088160e4fe8b6e36872b69f9305": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d069a54844384b84bd28ffec81b7ff70", + "max": 100, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1105c277a48f4c7199bb2fe5721b271c", + "value": 100 + } + }, + "21f21f4a6a61423f813d5c2c3a8c5c9b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0406f9fcf57344e18df41912571a1e7b", + "IPY_MODEL_71b78f2b7a1c4e75af71be0e0432106b", + "IPY_MODEL_966ec49a14c9448e9fe2eab3296c2353" + ], + "layout": "IPY_MODEL_498f6db56d1b48bd890c55f4e4f76b31" + } + }, + "2284d46253d346258a8de6e86a40d41c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "248ca88c4f6f41a9b94f04d755d1f74e": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2284d46253d346258a8de6e86a40d41c", + "placeholder": "​", + "style": "IPY_MODEL_ae154b6f0b174c95b339213072b5c17d", + "value": " 100/100 [00:00<00:00, 3138.20 examples/s]" + } + }, + "257de17ccdf444749f1abde950817562": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3201361e27a7494d886d71fb258644ea": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3ca1e6ebc11a49feb8378c26a26fae9c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_68ba0817a6e14f5699174cb86c56b40e", + "placeholder": "​", + "style": "IPY_MODEL_7cc2a83397be4eb5b142531a6f02348c", + "value": " 100/100 [00:00<00:00, 1792.48 examples/s]" + } + }, + "3d1d079535d74cbeb087ad9071166e44": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3f486e9463734b57a4b7b15b5bdec2a1": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_192f2806e0be41c281db874b851b5e16", + "placeholder": "​", + "style": "IPY_MODEL_ba3f1ba66aec46b3a935f87737e6010c", + "value": "Downloading data files: 100%" + } + }, + "403b06d12fbb4d9ba02ae2f1ac5c50c8": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "40ed572163424db79acf3a1a7756a012": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "410332859a4841d1ba9489e5d8c26179": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "43c4a6e7a7434f37b6304d95ca2037be": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f141d5ca824247caa4e3efd1f296e9e9", + "IPY_MODEL_c2ce6931c3aa4e4ba22ecdb2877a9b3f", + "IPY_MODEL_73472f8c50a94e3c813b2df4e0c0a0f2" + ], + "layout": "IPY_MODEL_0f128da9fa534f0f9a929b05735d0b77" + } + }, + "4569748739b54af9a7747d5fa87e2144": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d4204267e89d461e8f062aff5cc8003f", + "placeholder": "​", + "style": "IPY_MODEL_ff45dfbcb201400d83fb8d22f80800a3", + "value": "Uploading the dataset shards: 100%" + } + }, + "46630688a04841b1826c23efcd5647ae": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dfd124bd3bf544ddb0cce28b185b579f", + "placeholder": "​", + "style": "IPY_MODEL_cd1cebe82e5c4b148f19a19fd2a02d73", + "value": "Downloading data: 100%" + } + }, + "48041d0944ab4f4687dcbbff7d43c214": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "491a9528856e491ab98ab505b120f44a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_40ed572163424db79acf3a1a7756a012", + "placeholder": "​", + "style": "IPY_MODEL_71c90cf99b104cf0818db65b32e5993a", + "value": " 151k/151k [00:01<00:00, 93.0kB/s]" + } + }, + "498f6db56d1b48bd890c55f4e4f76b31": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4cb2d2df76eb473daff13135f955d793": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_10cbf7c3ab5f43b9a65073db593c6a5f", + "max": 46, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8f162bcb090f45e7bbbe7c7821f542bd", + "value": 46 + } + }, + "4cf4b1ed25584696a33a8130480dca11": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4e4bcea8214048ab8eef271845fdabb2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_529dcb50b22644f28cb7e4a8d3c104ef", + "max": 5, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8c02b949b1ef492d96be7f78efd3ee19", + "value": 5 + } + }, + "5206e5bd166b430c8bef4c88f2a84988": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "529dcb50b22644f28cb7e4a8d3c104ef": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "55dac2a9d476474cb1781a8259dadf00": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "58cb8e9389cb4096af13a62b1365718a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "59772cc217a44d59a7bf6524c3640d24": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7161cea9043342eaab6b21a7ce467f4e", + "placeholder": "​", + "style": "IPY_MODEL_b83d664100734020bf29a587d1dcaef4", + "value": " 1/1 [00:00<00:00, 41.92it/s]" + } + }, + "5b2711e72956414d86c91eafab1bc945": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "63677978f5b248a881d59970b29cfb08": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "64cfb92dacc546d68bb7b98e7752874d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6703f5738f904c97931b7988e15e46de": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a9788ac98de44a75953d1e4a79368493", + "placeholder": "​", + "style": "IPY_MODEL_838d5062812c4394852537ce6330e281", + "value": "Map: 100%" + } + }, + "68ba0817a6e14f5699174cb86c56b40e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6db7a2e6384e4d44a9fc8c58cad4606a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8a8e63f88c0a44fb826f3cf8db36eff2", + "IPY_MODEL_4e4bcea8214048ab8eef271845fdabb2", + "IPY_MODEL_053d6f9c93d644f1ba0c691c66b470a6" + ], + "layout": "IPY_MODEL_48041d0944ab4f4687dcbbff7d43c214" + } + }, + "701d81b74f8b4e25be9529329f9bf9e2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7161cea9043342eaab6b21a7ce467f4e": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "71b78f2b7a1c4e75af71be0e0432106b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cad755038ed44cd7bf8b21cd6f79649f", + "max": 4699, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_78aeeadb7eef474c96297d857d946f15", + "value": 4699 + } + }, + "71c90cf99b104cf0818db65b32e5993a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "725fa9cb841948f8abb96a2af2b60aab": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_46630688a04841b1826c23efcd5647ae", + "IPY_MODEL_be95e7f0ac4e46c6a3345f99897a8152", + "IPY_MODEL_491a9528856e491ab98ab505b120f44a" + ], + "layout": "IPY_MODEL_3d1d079535d74cbeb087ad9071166e44" + } + }, + "73472f8c50a94e3c813b2df4e0c0a0f2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8b6a41b282f349d5b09b2e1475064c58", + "placeholder": "​", + "style": "IPY_MODEL_4cf4b1ed25584696a33a8130480dca11", + "value": " 461/461 [00:00<00:00, 22.7kB/s]" + } + }, + "78aeeadb7eef474c96297d857d946f15": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7a0debb756874ac2be74b6886a101a77": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d81431afdfb94a10a6ff349834c2f619", + "placeholder": "​", + "style": "IPY_MODEL_b43a4a0aef674280bf4d4a252b951161", + "value": " 444/444 [00:00<00:00, 29.3kB/s]" + } + }, + "7cc2a83397be4eb5b142531a6f02348c": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7da0fbf826de4ef6b5ba7b05ab8a89cb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c59a9980b4f041d28b6a8c2d811f3d18", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_c3323dda5eca413480563bbb386054bd", + "value": 1 + } + }, + "7f27083a093a4f43a613496689bf3f25": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "818d685612e64c648d2fe9703a9f2546": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "81a74705aa8147ee921accc40ff8e7c9": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ba336b33ed254c12996eb403ceef01ec", + "IPY_MODEL_1af33088160e4fe8b6e36872b69f9305", + "IPY_MODEL_248ca88c4f6f41a9b94f04d755d1f74e" + ], + "layout": "IPY_MODEL_3201361e27a7494d886d71fb258644ea" + } + }, + "838d5062812c4394852537ce6330e281": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "88bfc7917f0941779a4d092debd586a4": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "89b6500564934e748e997db520c8c9d7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8a8e63f88c0a44fb826f3cf8db36eff2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b9be4144c87f4750908ac4463a6b4fa0", + "placeholder": "​", + "style": "IPY_MODEL_403b06d12fbb4d9ba02ae2f1ac5c50c8", + "value": "Creating parquet from Arrow format: 100%" + } + }, + "8ae3a7625ea84b19a2addf4eb1ffb8cc": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0b2eeb5c882e44ecb0b3b40ad9803f2a", + "IPY_MODEL_4cb2d2df76eb473daff13135f955d793", + "IPY_MODEL_c2eabf12fcbf4e75a5ef794ba1ad13e5" + ], + "layout": "IPY_MODEL_df72140b3c544c6a96a0579bfc2e1c73" + } + }, + "8b6a41b282f349d5b09b2e1475064c58": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8c02b949b1ef492d96be7f78efd3ee19": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "8ed252b97c1545f69b5041e720e4baf8": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8f162bcb090f45e7bbbe7c7821f542bd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "917fe1bfc31340f7a764f288061bda44": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "92393b4544f844fdb6deb06b919f7840": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "966ec49a14c9448e9fe2eab3296c2353": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_89b6500564934e748e997db520c8c9d7", + "placeholder": "​", + "style": "IPY_MODEL_63677978f5b248a881d59970b29cfb08", + "value": " 4699/4699 [00:00<00:00, 101428.27 examples/s]" + } + }, + "968dde0bd67249c4896f98a4a7fcaedb": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9a44fdab9d2a45a69bdb451aec343f3b": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "FloatProgressModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f3bd4b39e7ab4fc09bb45acd6e4bb4ce", + "max": 444, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_cff570609e1245998eb9a86e1223a24f", + "value": 444 + } + }, + "9a7bd9d737314a058cdbaac6299a2d13": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_be3deee31bfa4fc899dafa4ef95b14eb", + "IPY_MODEL_c73e97940fe44cad9164ffe817d9c3e5", + "IPY_MODEL_3ca1e6ebc11a49feb8378c26a26fae9c" + ], + "layout": "IPY_MODEL_c0008c6dc2c84ae0b8cf6a1fbcd88f78" + } + }, + "9c7c379080e64c3a8f9a78aa30031f91": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9e91e2e8a54d4b9286c172751bda4210": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9ed18bd25f104594912e6e5fc05cd714": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fbcd6c8c4e10489f88bc68ed5dff3f1c", + "placeholder": "​", + "style": "IPY_MODEL_a7c54e1c6f3e4f8ab6125579623d4dfd", + "value": "Extracting data files: 100%" + } + }, + "a59390c35ecb420397e5f219b4421f0b": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a6df6936d7b84758ac0ed27bccde84a9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a70c3be9900c41dea86c85490cb77c2d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HBoxModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_4569748739b54af9a7747d5fa87e2144", + "IPY_MODEL_7da0fbf826de4ef6b5ba7b05ab8a89cb", + "IPY_MODEL_be5024ffd3474ebba98e64bedd61c099" + ], + "layout": "IPY_MODEL_9c7c379080e64c3a8f9a78aa30031f91" + } + }, + "a7c54e1c6f3e4f8ab6125579623d4dfd": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a9788ac98de44a75953d1e4a79368493": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ae154b6f0b174c95b339213072b5c17d": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b1d20ef79d984b7f8f92b1eec06e5626": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b43a4a0aef674280bf4d4a252b951161": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b54f5d7a96184fb4ae7fc1974f5dbcc2": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0a6761b687eb4149bbf6782a2f42a3f6", + "placeholder": "​", + "style": "IPY_MODEL_b584e8af0ed343be9037118fb9a8f6ea", + "value": " 1/1 [00:01<00:00, 1.65s/it]" + } + }, + "b584e8af0ed343be9037118fb9a8f6ea": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b58e824d7f8d49c286d65282c8986a9a": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "ProgressStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b689c54bb1584819a688a3a5ddadc244": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_136d4c25280e4568b2da72c383083809", + "msg_id": "", + "outputs": [ + { + "data": { + "text/html": "
\n",
+                  "text/plain": ""
+                },
+                "metadata": {},
+                "output_type": "display_data"
+              }
+            ]
+          }
+        },
+        "b83d664100734020bf29a587d1dcaef4": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "b9be4144c87f4750908ac4463a6b4fa0": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "ba336b33ed254c12996eb403ceef01ec": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_701d81b74f8b4e25be9529329f9bf9e2",
+            "placeholder": "​",
+            "style": "IPY_MODEL_00b7e88ff8e44cf684b04ebe3cc4b274",
+            "value": "Flattening the indices: 100%"
+          }
+        },
+        "ba3f1ba66aec46b3a935f87737e6010c": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "bb09b7b7c3a64a2d8946f22e317e2c22": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_8ed252b97c1545f69b5041e720e4baf8",
+            "placeholder": "​",
+            "style": "IPY_MODEL_f21081c0e48149e6bd63a2cb8395788f",
+            "value": "README.md: 100%"
+          }
+        },
+        "be3deee31bfa4fc899dafa4ef95b14eb": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_dc3c59fe20e841309267c6b12430f320",
+            "placeholder": "​",
+            "style": "IPY_MODEL_968dde0bd67249c4896f98a4a7fcaedb",
+            "value": "Map: 100%"
+          }
+        },
+        "be5024ffd3474ebba98e64bedd61c099": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_f46b736d7dde48deae0513c5bfcd763e",
+            "placeholder": "​",
+            "style": "IPY_MODEL_f5ba3331c9cf4077952b081d21f27205",
+            "value": " 1/1 [00:00<00:00,  1.64it/s]"
+          }
+        },
+        "be95e7f0ac4e46c6a3345f99897a8152": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_917fe1bfc31340f7a764f288061bda44",
+            "max": 150900,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_b1d20ef79d984b7f8f92b1eec06e5626",
+            "value": 150900
+          }
+        },
+        "c0008c6dc2c84ae0b8cf6a1fbcd88f78": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "c1948088ad0b43719e672251bea3c72b": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5206e5bd166b430c8bef4c88f2a84988",
+            "max": 1,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_fa9b584ceb164692b53ed07ac9f094a2",
+            "value": 1
+          }
+        },
+        "c21550505dc747b59cfa9cb6f613b36d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_9e91e2e8a54d4b9286c172751bda4210",
+            "placeholder": "​",
+            "style": "IPY_MODEL_e40f93919d4f4191bed73f84400b8841",
+            "value": " 46/46 [00:00<00:00, 1113.92 examples/s]"
+          }
+        },
+        "c2ce6931c3aa4e4ba22ecdb2877a9b3f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_5b2711e72956414d86c91eafab1bc945",
+            "max": 461,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_92393b4544f844fdb6deb06b919f7840",
+            "value": 461
+          }
+        },
+        "c2eabf12fcbf4e75a5ef794ba1ad13e5": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_7f27083a093a4f43a613496689bf3f25",
+            "placeholder": "​",
+            "style": "IPY_MODEL_58cb8e9389cb4096af13a62b1365718a",
+            "value": " 46/46 [00:00<00:00, 1618.92 examples/s]"
+          }
+        },
+        "c3323dda5eca413480563bbb386054bd": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "c59a9980b4f041d28b6a8c2d811f3d18": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "c603976fe242402588a9cf9d29d924c8": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "c73e97940fe44cad9164ffe817d9c3e5": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_04c93d170ccf4ba1be322f992979d026",
+            "max": 100,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_045fd29b122740ccb2d8275a946e5821",
+            "value": 100
+          }
+        },
+        "c7872208b499442b8ac64406e9253356": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_c603976fe242402588a9cf9d29d924c8",
+            "max": 1,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_55dac2a9d476474cb1781a8259dadf00",
+            "value": 1
+          }
+        },
+        "cad755038ed44cd7bf8b21cd6f79649f": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "cd1cebe82e5c4b148f19a19fd2a02d73": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "cff570609e1245998eb9a86e1223a24f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "d069a54844384b84bd28ffec81b7ff70": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "d11504d1e86c444b9dbc11272288005d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_6703f5738f904c97931b7988e15e46de",
+              "IPY_MODEL_e4b04e0d97cf4058a0dc3523e09dd3fc",
+              "IPY_MODEL_c21550505dc747b59cfa9cb6f613b36d"
+            ],
+            "layout": "IPY_MODEL_11b66141ac604485bbbeb2dc527fa955"
+          }
+        },
+        "d4204267e89d461e8f062aff5cc8003f": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "d81431afdfb94a10a6ff349834c2f619": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "db7122df29344250bdc5f3dabb6bcaf5": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_9ed18bd25f104594912e6e5fc05cd714",
+              "IPY_MODEL_c1948088ad0b43719e672251bea3c72b",
+              "IPY_MODEL_59772cc217a44d59a7bf6524c3640d24"
+            ],
+            "layout": "IPY_MODEL_0ff6760331de48659321310d7d65c8b9"
+          }
+        },
+        "dc3c59fe20e841309267c6b12430f320": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "df72140b3c544c6a96a0579bfc2e1c73": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "dfd124bd3bf544ddb0cce28b185b579f": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "e40f93919d4f4191bed73f84400b8841": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "e4b04e0d97cf4058a0dc3523e09dd3fc": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "FloatProgressModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "FloatProgressModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "ProgressView",
+            "bar_style": "success",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_f98e13d7856d4b92b201fe13e0ad233d",
+            "max": 46,
+            "min": 0,
+            "orientation": "horizontal",
+            "style": "IPY_MODEL_b58e824d7f8d49c286d65282c8986a9a",
+            "value": 46
+          }
+        },
+        "ed6bb95873274484935129f6a4cdaa4d": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_3f486e9463734b57a4b7b15b5bdec2a1",
+              "IPY_MODEL_c7872208b499442b8ac64406e9253356",
+              "IPY_MODEL_b54f5d7a96184fb4ae7fc1974f5dbcc2"
+            ],
+            "layout": "IPY_MODEL_a59390c35ecb420397e5f219b4421f0b"
+          }
+        },
+        "f141d5ca824247caa4e3efd1f296e9e9": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HTMLModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HTMLModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HTMLView",
+            "description": "",
+            "description_tooltip": null,
+            "layout": "IPY_MODEL_09eabef0eb4b450785acd1bdc84c288a",
+            "placeholder": "​",
+            "style": "IPY_MODEL_410332859a4841d1ba9489e5d8c26179",
+            "value": "Downloading readme: 100%"
+          }
+        },
+        "f21081c0e48149e6bd63a2cb8395788f": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "f3bd4b39e7ab4fc09bb45acd6e4bb4ce": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "f46b736d7dde48deae0513c5bfcd763e": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "f5ba3331c9cf4077952b081d21f27205": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "f86181ec9ffa4ef29ee3b1c16415d93e": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "HBoxModel",
+          "state": {
+            "_dom_classes": [],
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "HBoxModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/controls",
+            "_view_module_version": "1.5.0",
+            "_view_name": "HBoxView",
+            "box_style": "",
+            "children": [
+              "IPY_MODEL_bb09b7b7c3a64a2d8946f22e317e2c22",
+              "IPY_MODEL_9a44fdab9d2a45a69bdb451aec343f3b",
+              "IPY_MODEL_7a0debb756874ac2be74b6886a101a77"
+            ],
+            "layout": "IPY_MODEL_a6df6936d7b84758ac0ed27bccde84a9"
+          }
+        },
+        "f98e13d7856d4b92b201fe13e0ad233d": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "fa9b584ceb164692b53ed07ac9f094a2": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "ProgressStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "ProgressStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "bar_color": null,
+            "description_width": ""
+          }
+        },
+        "fbcd6c8c4e10489f88bc68ed5dff3f1c": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        },
+        "ff45dfbcb201400d83fb8d22f80800a3": {
+          "model_module": "@jupyter-widgets/controls",
+          "model_module_version": "1.5.0",
+          "model_name": "DescriptionStyleModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/controls",
+            "_model_module_version": "1.5.0",
+            "_model_name": "DescriptionStyleModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "StyleView",
+            "description_width": ""
+          }
+        },
+        "fff35ea38e8145c1be5cec4118dc0426": {
+          "model_module": "@jupyter-widgets/base",
+          "model_module_version": "1.2.0",
+          "model_name": "LayoutModel",
+          "state": {
+            "_model_module": "@jupyter-widgets/base",
+            "_model_module_version": "1.2.0",
+            "_model_name": "LayoutModel",
+            "_view_count": null,
+            "_view_module": "@jupyter-widgets/base",
+            "_view_module_version": "1.2.0",
+            "_view_name": "LayoutView",
+            "align_content": null,
+            "align_items": null,
+            "align_self": null,
+            "border": null,
+            "bottom": null,
+            "display": null,
+            "flex": null,
+            "flex_flow": null,
+            "grid_area": null,
+            "grid_auto_columns": null,
+            "grid_auto_flow": null,
+            "grid_auto_rows": null,
+            "grid_column": null,
+            "grid_gap": null,
+            "grid_row": null,
+            "grid_template_areas": null,
+            "grid_template_columns": null,
+            "grid_template_rows": null,
+            "height": null,
+            "justify_content": null,
+            "justify_items": null,
+            "left": null,
+            "margin": null,
+            "max_height": null,
+            "max_width": null,
+            "min_height": null,
+            "min_width": null,
+            "object_fit": null,
+            "object_position": null,
+            "order": null,
+            "overflow": null,
+            "overflow_x": null,
+            "overflow_y": null,
+            "padding": null,
+            "right": null,
+            "top": null,
+            "visibility": null,
+            "width": null
+          }
+        }
+      }
+    }
+  },
+  "nbformat": 4,
+  "nbformat_minor": 0
+}
diff --git a/docs/learn/tutorials/preference-dataset.md b/docs/learn/tutorials/preference-dataset.md
deleted file mode 100644
index 95e11ed8d8..0000000000
--- a/docs/learn/tutorials/preference-dataset.md
+++ /dev/null
@@ -1,6 +0,0 @@
-!!! warning "🚧 Work in Progress"
-    This page is a work in progress.
-
-# Create a Preference Dataset
-
-Adapt the Demo notebook from Gabri here
\ No newline at end of file

From 6045f130be989e558440b5d2b7f27ba7e3402431 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Fri, 1 Dec 2023 10:15:42 +0100
Subject: [PATCH 06/31] docs: update learn section

---
 docs/learn/index.md                           |  5 ++--
 docs/learn/user-guides/create-a-pipeline.md   |  6 -----
 docs/learn/user-guides/index.md               |  7 +++--
 .../inference-endpoints-custom-task.md        | 26 +++++++++++++++++++
 docs/learn/user-guides/tasks/index.md         |  2 --
 docs/learn/user-guides/tasks/qa-task.md       | 10 -------
 6 files changed, 33 insertions(+), 23 deletions(-)
 delete mode 100644 docs/learn/user-guides/create-a-pipeline.md
 create mode 100644 docs/learn/user-guides/inference-endpoints-custom-task.md
 delete mode 100644 docs/learn/user-guides/tasks/index.md
 delete mode 100644 docs/learn/user-guides/tasks/qa-task.md

diff --git a/docs/learn/index.md b/docs/learn/index.md
index 64183fc2b9..0c761a8f7a 100644
--- a/docs/learn/index.md
+++ b/docs/learn/index.md
@@ -1,6 +1,5 @@
-!!! warning "🚧 Work in Progress"
-    This page is a work in progress.
+# Learn
 
-Here you can find the tutorials and guides to learn how to use `distilabel`.
+This is the reference section to learn how to use the power that `distilabel` has to offer. Here you can find the tutorials and guides to learn how to use `distilabel`.
 
 Consider this the entrypoint to become an expert AI Feedback dataset crafter.
diff --git a/docs/learn/user-guides/create-a-pipeline.md b/docs/learn/user-guides/create-a-pipeline.md
deleted file mode 100644
index 95e11ed8d8..0000000000
--- a/docs/learn/user-guides/create-a-pipeline.md
+++ /dev/null
@@ -1,6 +0,0 @@
-!!! warning "🚧 Work in Progress"
-    This page is a work in progress.
-
-# Create a Preference Dataset
-
-Adapt the Demo notebook from Gabri here
\ No newline at end of file
diff --git a/docs/learn/user-guides/index.md b/docs/learn/user-guides/index.md
index 29971a9467..2cfeb55eb1 100644
--- a/docs/learn/user-guides/index.md
+++ b/docs/learn/user-guides/index.md
@@ -1,3 +1,6 @@
-!!! warning "🚧 Work in Progress"
-    This page is a work in progress.
+# User guides
 
+In this section you will find guides that will help you understand the different components of `distilabel`.
+
+!!! note
+    ALL THE `/examples` BELONG HERE WITH EXPLANATION
\ No newline at end of file
diff --git a/docs/learn/user-guides/inference-endpoints-custom-task.md b/docs/learn/user-guides/inference-endpoints-custom-task.md
new file mode 100644
index 0000000000..216578184f
--- /dev/null
+++ b/docs/learn/user-guides/inference-endpoints-custom-task.md
@@ -0,0 +1,26 @@
+# Create an LLM from a huggingface Inference Endpoint for a Question Answering task
+
+This guide shows you how to create a custom task for question answering and use it with the LLM of our choice, in this case `InferenceEndpointsLLM`.
+
+Let's see the code:
+
+!!! note
+    To run this example you will need to set the `HF_INFERENCE_ENDPOINT_NAME` env var.
+
+```python
+--8<-- "docs/snippets/learn/llms/inference-endpoints-llm.py"
+```
+
+## Create our custom task for Question Answering
+
+We start create our custom task by inheriting from `Llama2TextGenerationTask` and overriding the necessary methods:
+
+- Update the `generate_prompt` to make it more sound for our use case.
+
+- Update `parse_output` to return the desired format.
+
+- Return `input_args_names` and `output_arg_names` specific for our task, `[question]` and `[answer]` respectively.
+
+## Instantiate the LLM with out brand new task
+
+Now we are ready to create our LLM. In this case we are using `InferenceEndpointsLLM`, so we can instantiate the class and pass the previously created `Llama2QuestionAnsweringTask`, and call the `generate` method from our LLM with a question to see it in action.
diff --git a/docs/learn/user-guides/tasks/index.md b/docs/learn/user-guides/tasks/index.md
deleted file mode 100644
index 8a5c4ccdfe..0000000000
--- a/docs/learn/user-guides/tasks/index.md
+++ /dev/null
@@ -1,2 +0,0 @@
-!!! warning "🚧 Work in Progress"
-    This page is a work in progress.
diff --git a/docs/learn/user-guides/tasks/qa-task.md b/docs/learn/user-guides/tasks/qa-task.md
deleted file mode 100644
index 0471e928e2..0000000000
--- a/docs/learn/user-guides/tasks/qa-task.md
+++ /dev/null
@@ -1,10 +0,0 @@
-!!! warning "🚧 Work in Progress"
-    This page is a work in progress.
-
-# Create your own task for Question Answering
-
-Explain how to create and use your own task, using the example from inference-endpoints...
-
-```python
---8<-- "docs/snippets/learn/tasks/llama2-qa-task-0001.py"
-```

From 8826315d01e63ece200f868f364e65dbdcd2633e Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Fri, 1 Dec 2023 10:16:36 +0100
Subject: [PATCH 07/31] docs: let navigable section and new api reference

---
 docs/api/index.md                             |  3 ++
 docs/api/llms.md                              | 17 ++++++++
 docs/api/pipeline.md                          |  7 ++++
 docs/api/tasks.md                             | 23 +++++++++++
 .../learn/llms/inference-endpoints-llm.py     | 40 +++++++++++++++++++
 mkdocs.yml                                    | 17 ++++----
 6 files changed, 99 insertions(+), 8 deletions(-)
 create mode 100644 docs/api/index.md
 create mode 100644 docs/api/llms.md
 create mode 100644 docs/api/pipeline.md
 create mode 100644 docs/api/tasks.md
 create mode 100644 docs/snippets/learn/llms/inference-endpoints-llm.py

diff --git a/docs/api/index.md b/docs/api/index.md
new file mode 100644
index 0000000000..fb7b6ec0f6
--- /dev/null
+++ b/docs/api/index.md
@@ -0,0 +1,3 @@
+# API reference
+
+This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
\ No newline at end of file
diff --git a/docs/api/llms.md b/docs/api/llms.md
new file mode 100644
index 0000000000..940e3e8de1
--- /dev/null
+++ b/docs/api/llms.md
@@ -0,0 +1,17 @@
+# LLMs
+
+Already familiar with the `LLM` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+
+The following LLMs are implemented:
+
+- [LlammaCppLLM][distilabel.llm.llama_cpp.LlamaCppLLM]: 
+
+- [OpenAILLM][distilabel.llm.openai.OpenAILLM]: 
+
+- [vLLM][distilabel.llm.vllm.vLLM]: 
+
+- Huggingface LLMs
+
+    - [TransformersLLM][distilabel.llm.huggingface.transformers.TransformersLLM]: 
+
+    - [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM]: 
diff --git a/docs/api/pipeline.md b/docs/api/pipeline.md
new file mode 100644
index 0000000000..db9e742921
--- /dev/null
+++ b/docs/api/pipeline.md
@@ -0,0 +1,7 @@
+# Pipelines
+
+Already familiar with the `Pipelin` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+
+- [Pipeline][distilabel.pipeline.Pipeline]
+
+- [pipeline][distilabel.pipeline.pipeline]
diff --git a/docs/api/tasks.md b/docs/api/tasks.md
new file mode 100644
index 0000000000..d8e935d716
--- /dev/null
+++ b/docs/api/tasks.md
@@ -0,0 +1,23 @@
+# Tasks
+
+Already familiar with the `Task` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+
+## Text Generation
+
+This tasks will allow us guiding the LLM to generate texts.
+
+The following tasks are implemented:
+
+- [Llama2TextGenerationTask][distilabel.tasks.text_generation.llama.Llama2TextGenerationTask]: Your go to choice to prompt your LLM for the Llama2 model.
+
+- [OpenAITextGenerationTask][distilabel.tasks.text_generation.openai.OpenAITextGenerationTask]: The task for any chat-completion OpenAI model.
+
+- [SelfInstructTask][distilabel.tasks.text_generation.self_instruct.SelfInstructTask]: A task following the Self-Instruct specification for building the prompts.
+
+## Preference
+
+- [JudgeLMTask][distilabel.tasks.preference.judgelm.JudgeLMTask]: What's this
+
+- [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]: What's this
+
+- [UltraJudgeTask][distilabel.tasks.preference.ultrajudge.UltraJudgeTask]: What's this
diff --git a/docs/snippets/learn/llms/inference-endpoints-llm.py b/docs/snippets/learn/llms/inference-endpoints-llm.py
new file mode 100644
index 0000000000..c378490b73
--- /dev/null
+++ b/docs/snippets/learn/llms/inference-endpoints-llm.py
@@ -0,0 +1,40 @@
+import os
+
+from distilabel.llm import InferenceEndpointsLLM
+from distilabel.tasks import Llama2TextGenerationTask, Prompt
+
+
+class Llama2QuestionAnsweringTask(Llama2TextGenerationTask):
+    def generate_prompt(self, question: str) -> str:
+        return Prompt(
+            system_prompt=self.system_prompt,
+            formatted_prompt=question,
+        ).format_as("llama2")  # type: ignore
+
+    def parse_output(self, output: str) -> dict[str, str]:
+        return {"answer": output.strip()}
+
+    def input_args_names(self) -> list[str]:
+        return ["question"]
+
+    def output_args_names(self) -> list[str]:
+        return ["answer"]
+
+
+llm = InferenceEndpointsLLM(
+    endpoint_name=os.getenv("HF_INFERENCE_ENDPOINT_NAME"),  # type: ignore
+    endpoint_namespace=os.getenv("HF_NAMESPACE"),  # type: ignore
+    token=os.getenv("HF_TOKEN") or None,
+    task=Llama2QuestionAnsweringTask(),
+)
+print(llm.generate([{"question": "What's the capital of Spain?"}]))
+# Output: [
+#   [{
+#       'model_name': 'HuggingFaceH4/zephyr-7b-beta',
+#       'prompt_used': "[INST] <>\nYou are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.<>\n\nWhat's the capital of Spain? [/INST]",
+#       'raw_output': "\n<>\nThe capital of Spain is Madrid. Other major cities in Spain include Barcelona, Valencia, Seville, and Bilbao. Madrid is the largest city in Spain and serves as the country's political, economic, and cultural center. It is home to many famous landmarks, such as the Royal Palace, the Prado Museum, and the Plaza Mayor.",
+#       'parsed_output': {
+#           'answer': "<>\nThe capital of Spain is Madrid. Other major cities in Spain include Barcelona, Valencia, Seville, and Bilbao. Madrid is the largest city in Spain and serves as the country's political, economic, and cultural center. It is home to many famous landmarks, such as the Royal Palace, the Prado Museum, and the Plaza Mayor.
+#       },
+#   }]
+# ]
diff --git a/mkdocs.yml b/mkdocs.yml
index 67677df927..33ca427606 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -79,12 +79,13 @@ nav:
     - learn/index.md
     - Tutorials:
       - learn/tutorials/index.md
-      - Create a Preference Dataset notebook: learn/tutorials/nb-preference-dataset.ipynb
+      - Create a Preference Dataset: learn/tutorials/nb-preference-dataset.ipynb
     - User Guides:
-      - Tasks:
-        - learn/user-guides/tasks/index.md
-        - Create your own task for Question Answering: learn/user-guides/tasks/qa-task.md
-      - LLMs: learn/user-guides/create-pipeline.md
-      - Pipelines:
-        - learn/user-guides/preference-dataset.md
-  - API Reference: reference/
+      - learn/user-guides/index.md
+      - Create an Inference Endpoint LLM for a QA task: learn/user-guides/inference-endpoints-custom-task.md
+  - API Reference:
+    - api/index.md
+    - distilabel.tasks: api/tasks.md
+    - distilabel.llms: api/llms.md
+    - distilabel.pipelines: api/pipeline.md
+    - Code reference: reference/

From c4ea466cc0d4a5e4e097266df5c2a3713b80d57f Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Fri, 1 Dec 2023 10:19:26 +0100
Subject: [PATCH 08/31] docs: add small overview of api reference

---
 docs/api/index.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/api/index.md b/docs/api/index.md
index fb7b6ec0f6..afd3990387 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -1,3 +1,5 @@
 # API reference
 
-This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
\ No newline at end of file
+This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
+
+You can navigate through the different concepts to have an overview of what's available, or go directly to the specific part of the API in the Code Reference.

From eb54298062202f7c58b614adc107bc7dfb7b2ea3 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Thu, 7 Dec 2023 11:45:26 +0100
Subject: [PATCH 09/31] Update docs/api/pipeline.md

Co-authored-by: Ignacio Talavera 
---
 docs/api/pipeline.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/api/pipeline.md b/docs/api/pipeline.md
index db9e742921..de976ccc72 100644
--- a/docs/api/pipeline.md
+++ b/docs/api/pipeline.md
@@ -1,6 +1,6 @@
 # Pipelines
 
-Already familiar with the `Pipelin` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+Already familiar with the `Pipeline` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
 
 - [Pipeline][distilabel.pipeline.Pipeline]
 

From fd1dcd6b91b90b73be06c25c5fd62ed233cc42b4 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Thu, 7 Dec 2023 13:17:15 +0100
Subject: [PATCH 10/31] wip

---
 docs/api/index.md    |  2 ++
 docs/api/llms.md     | 17 ++++++++++++++---
 docs/api/pipeline.md | 34 +++++++++++++++++++++++++++++++---
 docs/learn/index.md  |  4 ++--
 mkdocs.yml           |  3 ++-
 5 files changed, 51 insertions(+), 9 deletions(-)

diff --git a/docs/api/index.md b/docs/api/index.md
index afd3990387..769386259b 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -3,3 +3,5 @@
 This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
 
 You can navigate through the different concepts to have an overview of what's available, or go directly to the specific part of the API in the Code Reference.
+
+If you are not already familiar with the different components, please consider taking a look at the [concepts](../concepts.md) first.
\ No newline at end of file
diff --git a/docs/api/llms.md b/docs/api/llms.md
index 940e3e8de1..18fdb28d30 100644
--- a/docs/api/llms.md
+++ b/docs/api/llms.md
@@ -1,12 +1,12 @@
 # LLMs
 
-Already familiar with the `LLM` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
-
 The following LLMs are implemented:
 
+- [OpenAILLM][distilabel.llm.openai.OpenAILLM]: 
+
 - [LlammaCppLLM][distilabel.llm.llama_cpp.LlamaCppLLM]: 
 
-- [OpenAILLM][distilabel.llm.openai.OpenAILLM]: 
+    Useful when you need to run your LLMs locally, keep located your weights and run them.
 
 - [vLLM][distilabel.llm.vllm.vLLM]: 
 
@@ -15,3 +15,14 @@ The following LLMs are implemented:
     - [TransformersLLM][distilabel.llm.huggingface.transformers.TransformersLLM]: 
 
     - [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM]: 
+
+        Useful if you want to use the huggingface infraestructure to deploy your LLM easily.
+
+---
+
+```python
+from distilabel.llm import InferenceEndpointsLLM
+
+
+```
+
diff --git a/docs/api/pipeline.md b/docs/api/pipeline.md
index de976ccc72..e6ab303090 100644
--- a/docs/api/pipeline.md
+++ b/docs/api/pipeline.md
@@ -1,7 +1,35 @@
 # Pipelines
 
-Already familiar with the `Pipeline` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+The `Pipeline` class is the center piece of `distilabel`, in charge of the generation and labelling process. 
 
-- [Pipeline][distilabel.pipeline.Pipeline]
+We will use a sample of a instruction[^1] dataset to guide us through the process. 
 
-- [pipeline][distilabel.pipeline.pipeline]
+[^1]:
+    You can take a look at [Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html) to get acquainted with instruction-following datasets.
+
+Let's start by loading it and importing the necessary code
+
+```python
+from datasets import load_dataset
+
+dataset = load_dataset("argilla/distilabel-docs", split="train")
+dataset = dataset.remove_columns(
+    [column for column in dataset.column_names if column not in ["input"]]
+)
+# >>> dataset[0]["input"]
+# 'Arianna has 12 chocolates more than Danny. Danny has 6 chocolates more than Robbie. Arianna has twice as many chocolates as Robbie has. How many chocolates does Danny have?'
+```
+
+
+
+```python
+from distilabel.llm import LlamaCppLLM
+from distilabel.pipeline import Pipeline
+from distilabel.tasks import TextGenerationTask
+from llama_cpp import Llama
+
+```
+
+The API reference can be found here: [Pipeline][distilabel.pipeline.Pipeline]
+
+The API reference can be found here: [pipeline][distilabel.pipeline.pipeline]
diff --git a/docs/learn/index.md b/docs/learn/index.md
index 0c761a8f7a..6a1b5fa331 100644
--- a/docs/learn/index.md
+++ b/docs/learn/index.md
@@ -1,5 +1,5 @@
 # Learn
 
-This is the reference section to learn how to use the power that `distilabel` has to offer. Here you can find the tutorials and guides to learn how to use `distilabel`.
+This section serves as the reference guide for harnessing the capabilities of `distilabel`. Explore tutorials and guides that delve into the technical aspects of utilizing `distilabel`.
 
-Consider this the entrypoint to become an expert AI Feedback dataset crafter.
+Consider this your initial step towards mastering the intricacies of `distilabel` for expert AI Feedback dataset crafting.
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index 33ca427606..452fb4eb0d 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -60,6 +60,7 @@ markdown_extensions:
   - pymdownx.superfences
   - pymdownx.tabbed:
       alternate_style: true
+  - footnotes
 
 plugins:
   - search
@@ -85,7 +86,7 @@ nav:
       - Create an Inference Endpoint LLM for a QA task: learn/user-guides/inference-endpoints-custom-task.md
   - API Reference:
     - api/index.md
+    - distilabel.pipelines: api/pipeline.md
     - distilabel.tasks: api/tasks.md
     - distilabel.llms: api/llms.md
-    - distilabel.pipelines: api/pipeline.md
     - Code reference: reference/

From d727cfb504c49ebf38fe982199fac038491d5f6b Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Thu, 7 Dec 2023 18:47:13 +0100
Subject: [PATCH 11/31] docs: rewrite for the llm concept guides

---
 docs/technical-reference/index.md    |   7 ++
 docs/technical-reference/llms.md     | 152 +++++++++++++++++++++++++++
 docs/technical-reference/pipeline.md |  35 ++++++
 docs/technical-reference/tasks.md    |  23 ++++
 4 files changed, 217 insertions(+)
 create mode 100644 docs/technical-reference/index.md
 create mode 100644 docs/technical-reference/llms.md
 create mode 100644 docs/technical-reference/pipeline.md
 create mode 100644 docs/technical-reference/tasks.md

diff --git a/docs/technical-reference/index.md b/docs/technical-reference/index.md
new file mode 100644
index 0000000000..10085bfa5c
--- /dev/null
+++ b/docs/technical-reference/index.md
@@ -0,0 +1,7 @@
+# Technical reference
+
+This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
+
+You can navigate through the different concepts to have an overview of what's available, or go directly to the specific part of the API in the API Reference.
+
+If you are not already familiar with the different components, please consider taking a look at the [concepts](../concepts.md) first.
\ No newline at end of file
diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
new file mode 100644
index 0000000000..996d712c95
--- /dev/null
+++ b/docs/technical-reference/llms.md
@@ -0,0 +1,152 @@
+# LLMs
+
+The LLM class encapsulates the functionality for interacting with a language model. It distinguishes between *task* specifications and configurable arguments that influence the LLM's behavior. For illustration purposes, we employ the `TextGenerationTask` in this section and guide readers to the dedicated [`Tasks`](../api/tasks.md) section for comprehensive details.
+
+To delineate their behavior, we have access to a series of arguments specific for each of them, but first let's see the general ones, and the `generate` method.
+
+- **General parameters**
+
+Aside from the specific parameters that each LLM has, let's briefly introduce the general arguments we may find[^1]:
+
+[^1]:
+    You can take a look at this blog post from [cohere](https://txt.cohere.com/llm-parameters-best-outputs-language-ai/) for a thorough explanation of the different parameters.
+
+- `max_new_tokens`:
+
+    This argument controls the maximum number of tokens the LLM is allowed to use.
+
+- `temperature`: 
+
+    Argument associated to the creativity of the model, a value close to 0 makes the model more deterministic, while higher values make the model more "creative".
+
+- `top_k` and `top_p`:
+
+    `top_k` limits the number of tokens the model is allowed to use to generate the following token sorted by probability, while `top_p` limits the number of tokens the model can use for the next token, but in terms of the sum of their probabilities.
+
+- `frequency_penalty` and `presence_penalty`:
+
+    The frequency penalty penalizes tokens that have already appeard in the generated text, limiting the possibility of those appearing again, and the `presence_penalty` penalizes regardless of hte frequency.
+
+- `prompt_format` and `prompt_formatting_fn`:
+
+    These two arguments allow to tweak the prompt of our models, for example we can direct the LLM to format the prompt according to one of the defined formats, while `prompt_formatting_fn` allows to pass a function that will be applied to the prompt before the generation, for extra control of what we ingest to the model.
+
+Once we have a `LLM` instantiated we will interact with it by means of the `generate` method. This method will take as arguments the inputs from which we want our model to generate text, and the number of generations we want. We will obtain in return lists of `LLMOutput`[^2], which is a general container for the LLM's outputs.
+
+[^2]:
+    Or it can also return lists of *Futures* containing the lists of these `LLMOutputs`, if we deal with an asynchronous or thread based API.
+
+Let's see the different LLMs that are implemented in `distilabel` (we can think of them in terms of the engine that generates the text for us):
+
+## OpenAI
+
+These may be the default choice for your ambitious tasks.
+
+For the API reference visit [OpenAILLM][distilabel.llm.openai.OpenAILLM].
+
+```python
+from distilabel.tasks import OpenAITextGenerationTask
+from distilabel.llm import OpenAILLM
+
+openaillm = OpenAILLM(
+    model="gpt-3.5-turbo",
+    task=OpenAITextGenerationTask(),
+    max_new_tokens=256,
+    num_threads=2,
+    openai_api_key=os.environ.get("OPENAI_API_KEY"),
+    temperature=0.3,
+)
+result_openai = openaillm.generate([{"input": "What is OpenAI?"}])
+#Β >>> result_openai
+# []
+# >>> result_openai[0].result()[0][0]["parsed_output"]["generations"]
+# 'OpenAI is an artificial intelligence research organization that aims to ensure that artificial general intelligence (AGI) benefits all of humanity. AGI refers to highly autonomous systems that outperform humans at most economically valuable work. OpenAI conducts research, develops AI technologies, and promotes the responsible and safe use of AI. They also work on projects to make AI more accessible and beneficial to society. OpenAI is committed to transparency, cooperation, and avoiding uses of AI that could harm humanity or concentrate power in the wrong hands.'
+```
+
+## Llama.cpp
+
+Applicable for local execution of Language Models (LLMs). Utilize this LLM when you have access to the quantized weights of your selected model for interaction.
+
+Let's see an example using [notus-7b-v1](https://huggingface.co/argilla/notus-7b-v1). First, you can download the weights from the following [link](https://huggingface.co/TheBloke/notus-7B-v1-GGUF):
+
+```python
+from distilabel.llm import LlamaCppLLM
+from distilabel.tasks import Llama2TextGenerationTask
+from llama_cpp import Llama
+
+# Instantiate our LLM with them:
+llm = LlamaCppLLM(
+    model=Llama(
+        model_path="./notus-7b-v1.q4_k_m.gguf", n_gpu_layers=-1
+    ),
+    task=Llama2TextGenerationTask(),
+    max_new_tokens=128,
+    temperature=0.3,
+)
+
+result_llamacpp = llm.generate([{"input": "What is the capital of Spain?"}])
+# >>> print(result_llamacpp[0][0]["parsed_output"]["generations"])
+# The capital of Spain is Madrid. It has been the capital since 1561 and is located in the center of the country.  Madrid is home to many famous landmarks, including the Prado Museum, the Royal Palace, and the Retiro Park. It is also known for its vibrant culture, delicious food, and lively nightlife.
+# Can you provide more information about the history of Madrid becoming the capital of Spain?
+```
+
+For the API reference visit [LlammaCppLLM][distilabel.llm.llama_cpp.LlamaCppLLM].
+
+## vLLM
+
+For the API reference visit [vLLM][distilabel.llm.vllm.vLLM].
+
+## Huggingface LLMs
+
+In this section we differentiate between two different ways of working with the huggingface's models:
+
+### Transformers
+
+Opt for this option if you intend to utilize a model deployed on Hugging Face's model hub. Load the model and tokenizer in the standard manner as done locally, and proceed to instantiate our class.
+
+For the API reference visit [TransformersLLM][distilabel.llm.huggingface.transformers.TransformersLLM].
+
+Let's see an example using [notus-7b-v1](https://huggingface.co/argilla/notus-7b-v1):
+
+```python
+from transformers import AutoTokenizer, AutoModelForCausalLM
+from distilabel.llm import TransformersLLM
+
+# Load the models from huggingface hub:
+tokenizer = AutoTokenizer.from_pretrained("argilla/notus-7b-v1")
+model = AutoModelForCausalLM.from_pretrained("argilla/notus-7b-v1")
+
+# Instantiate our LLM with them:
+llm = TransformersLLM(
+    model=model,
+    tokenizer=tokenizer,
+    task=TextGenerationTask(),
+    max_new_tokens=128,
+    temperature=0.3,
+    prompt_format="zephyr",  # This model follows the same format has zephyr
+)
+```
+
+### InferenceEndpointsLLM
+
+Hugging Face provides a streamlined approach for deploying models through [inference endpoints](https://huggingface.co/inference-endpoints) on their infrastructure. Opt for this solution if your model is hosted on Hugging Face.
+
+For the API reference visit [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM].
+
+Let's see how to interact with these LLMs:
+
+```python
+from distilabel.llm import InferenceEndpointsLLM
+
+endpoint_name = "aws-notus-7b-v1-4052" or os.getenv("HF_INFERENCE_ENDPOINT_NAME")
+endpoint_namespace = "argilla" or os.getenv("HF_NAMESPACE")
+token = os.getenv("HF_TOKEN")  # hf_...
+
+llm = InferenceEndpointsLLM(
+    endpoint_name=endpoint_name,
+    endpoint_namespace=endpoint_namespace,
+    token=token,
+    task=Llama2TextGenerationTask(),
+    max_new_tokens=512
+)
+```
diff --git a/docs/technical-reference/pipeline.md b/docs/technical-reference/pipeline.md
new file mode 100644
index 0000000000..e6ab303090
--- /dev/null
+++ b/docs/technical-reference/pipeline.md
@@ -0,0 +1,35 @@
+# Pipelines
+
+The `Pipeline` class is the center piece of `distilabel`, in charge of the generation and labelling process. 
+
+We will use a sample of a instruction[^1] dataset to guide us through the process. 
+
+[^1]:
+    You can take a look at [Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html) to get acquainted with instruction-following datasets.
+
+Let's start by loading it and importing the necessary code
+
+```python
+from datasets import load_dataset
+
+dataset = load_dataset("argilla/distilabel-docs", split="train")
+dataset = dataset.remove_columns(
+    [column for column in dataset.column_names if column not in ["input"]]
+)
+# >>> dataset[0]["input"]
+# 'Arianna has 12 chocolates more than Danny. Danny has 6 chocolates more than Robbie. Arianna has twice as many chocolates as Robbie has. How many chocolates does Danny have?'
+```
+
+
+
+```python
+from distilabel.llm import LlamaCppLLM
+from distilabel.pipeline import Pipeline
+from distilabel.tasks import TextGenerationTask
+from llama_cpp import Llama
+
+```
+
+The API reference can be found here: [Pipeline][distilabel.pipeline.Pipeline]
+
+The API reference can be found here: [pipeline][distilabel.pipeline.pipeline]
diff --git a/docs/technical-reference/tasks.md b/docs/technical-reference/tasks.md
new file mode 100644
index 0000000000..d8e935d716
--- /dev/null
+++ b/docs/technical-reference/tasks.md
@@ -0,0 +1,23 @@
+# Tasks
+
+Already familiar with the `Task` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+
+## Text Generation
+
+This tasks will allow us guiding the LLM to generate texts.
+
+The following tasks are implemented:
+
+- [Llama2TextGenerationTask][distilabel.tasks.text_generation.llama.Llama2TextGenerationTask]: Your go to choice to prompt your LLM for the Llama2 model.
+
+- [OpenAITextGenerationTask][distilabel.tasks.text_generation.openai.OpenAITextGenerationTask]: The task for any chat-completion OpenAI model.
+
+- [SelfInstructTask][distilabel.tasks.text_generation.self_instruct.SelfInstructTask]: A task following the Self-Instruct specification for building the prompts.
+
+## Preference
+
+- [JudgeLMTask][distilabel.tasks.preference.judgelm.JudgeLMTask]: What's this
+
+- [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]: What's this
+
+- [UltraJudgeTask][distilabel.tasks.preference.ultrajudge.UltraJudgeTask]: What's this

From f05cb5de296723059bec4b4dacb78a773a641e68 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Thu, 7 Dec 2023 18:47:45 +0100
Subject: [PATCH 12/31] chore: renamed files

---
 docs/api/index.md    |  7 -------
 docs/api/llms.md     | 28 ----------------------------
 docs/api/pipeline.md | 35 -----------------------------------
 docs/api/tasks.md    | 23 -----------------------
 4 files changed, 93 deletions(-)
 delete mode 100644 docs/api/index.md
 delete mode 100644 docs/api/llms.md
 delete mode 100644 docs/api/pipeline.md
 delete mode 100644 docs/api/tasks.md

diff --git a/docs/api/index.md b/docs/api/index.md
deleted file mode 100644
index 769386259b..0000000000
--- a/docs/api/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# API reference
-
-This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
-
-You can navigate through the different concepts to have an overview of what's available, or go directly to the specific part of the API in the Code Reference.
-
-If you are not already familiar with the different components, please consider taking a look at the [concepts](../concepts.md) first.
\ No newline at end of file
diff --git a/docs/api/llms.md b/docs/api/llms.md
deleted file mode 100644
index 18fdb28d30..0000000000
--- a/docs/api/llms.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# LLMs
-
-The following LLMs are implemented:
-
-- [OpenAILLM][distilabel.llm.openai.OpenAILLM]: 
-
-- [LlammaCppLLM][distilabel.llm.llama_cpp.LlamaCppLLM]: 
-
-    Useful when you need to run your LLMs locally, keep located your weights and run them.
-
-- [vLLM][distilabel.llm.vllm.vLLM]: 
-
-- Huggingface LLMs
-
-    - [TransformersLLM][distilabel.llm.huggingface.transformers.TransformersLLM]: 
-
-    - [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM]: 
-
-        Useful if you want to use the huggingface infraestructure to deploy your LLM easily.
-
----
-
-```python
-from distilabel.llm import InferenceEndpointsLLM
-
-
-```
-
diff --git a/docs/api/pipeline.md b/docs/api/pipeline.md
deleted file mode 100644
index e6ab303090..0000000000
--- a/docs/api/pipeline.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Pipelines
-
-The `Pipeline` class is the center piece of `distilabel`, in charge of the generation and labelling process. 
-
-We will use a sample of a instruction[^1] dataset to guide us through the process. 
-
-[^1]:
-    You can take a look at [Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html) to get acquainted with instruction-following datasets.
-
-Let's start by loading it and importing the necessary code
-
-```python
-from datasets import load_dataset
-
-dataset = load_dataset("argilla/distilabel-docs", split="train")
-dataset = dataset.remove_columns(
-    [column for column in dataset.column_names if column not in ["input"]]
-)
-# >>> dataset[0]["input"]
-# 'Arianna has 12 chocolates more than Danny. Danny has 6 chocolates more than Robbie. Arianna has twice as many chocolates as Robbie has. How many chocolates does Danny have?'
-```
-
-
-
-```python
-from distilabel.llm import LlamaCppLLM
-from distilabel.pipeline import Pipeline
-from distilabel.tasks import TextGenerationTask
-from llama_cpp import Llama
-
-```
-
-The API reference can be found here: [Pipeline][distilabel.pipeline.Pipeline]
-
-The API reference can be found here: [pipeline][distilabel.pipeline.pipeline]
diff --git a/docs/api/tasks.md b/docs/api/tasks.md
deleted file mode 100644
index d8e935d716..0000000000
--- a/docs/api/tasks.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Tasks
-
-Already familiar with the `Task` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
-
-## Text Generation
-
-This tasks will allow us guiding the LLM to generate texts.
-
-The following tasks are implemented:
-
-- [Llama2TextGenerationTask][distilabel.tasks.text_generation.llama.Llama2TextGenerationTask]: Your go to choice to prompt your LLM for the Llama2 model.
-
-- [OpenAITextGenerationTask][distilabel.tasks.text_generation.openai.OpenAITextGenerationTask]: The task for any chat-completion OpenAI model.
-
-- [SelfInstructTask][distilabel.tasks.text_generation.self_instruct.SelfInstructTask]: A task following the Self-Instruct specification for building the prompts.
-
-## Preference
-
-- [JudgeLMTask][distilabel.tasks.preference.judgelm.JudgeLMTask]: What's this
-
-- [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]: What's this
-
-- [UltraJudgeTask][distilabel.tasks.preference.ultrajudge.UltraJudgeTask]: What's this

From 75104752971d12b7f1270486e91ff5937bef476e Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Thu, 7 Dec 2023 18:48:15 +0100
Subject: [PATCH 13/31] refactor: updated user-guides content

---
 docs/learn/user-guides/index.md               |  6 ++---
 .../inference-endpoints-custom-task.md        | 26 -------------------
 2 files changed, 3 insertions(+), 29 deletions(-)
 delete mode 100644 docs/learn/user-guides/inference-endpoints-custom-task.md

diff --git a/docs/learn/user-guides/index.md b/docs/learn/user-guides/index.md
index 2cfeb55eb1..33b0376e19 100644
--- a/docs/learn/user-guides/index.md
+++ b/docs/learn/user-guides/index.md
@@ -1,6 +1,6 @@
 # User guides
 
-In this section you will find guides that will help you understand the different components of `distilabel`.
+!!! warning "🚧 Work in Progress"
+    This page is a work in progress.
 
-!!! note
-    ALL THE `/examples` BELONG HERE WITH EXPLANATION
\ No newline at end of file
+In this section you will find guides that will help you understand the different components of `distilabel`.
diff --git a/docs/learn/user-guides/inference-endpoints-custom-task.md b/docs/learn/user-guides/inference-endpoints-custom-task.md
deleted file mode 100644
index 216578184f..0000000000
--- a/docs/learn/user-guides/inference-endpoints-custom-task.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Create an LLM from a huggingface Inference Endpoint for a Question Answering task
-
-This guide shows you how to create a custom task for question answering and use it with the LLM of our choice, in this case `InferenceEndpointsLLM`.
-
-Let's see the code:
-
-!!! note
-    To run this example you will need to set the `HF_INFERENCE_ENDPOINT_NAME` env var.
-
-```python
---8<-- "docs/snippets/learn/llms/inference-endpoints-llm.py"
-```
-
-## Create our custom task for Question Answering
-
-We start create our custom task by inheriting from `Llama2TextGenerationTask` and overriding the necessary methods:
-
-- Update the `generate_prompt` to make it more sound for our use case.
-
-- Update `parse_output` to return the desired format.
-
-- Return `input_args_names` and `output_arg_names` specific for our task, `[question]` and `[answer]` respectively.
-
-## Instantiate the LLM with out brand new task
-
-Now we are ready to create our LLM. In this case we are using `InferenceEndpointsLLM`, so we can instantiate the class and pass the previously created `Llama2QuestionAnsweringTask`, and call the `generate` method from our LLM with a question to see it in action.

From 0b5baf582f6f93fdd8d39d30aa92fdc0409a8e03 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Thu, 7 Dec 2023 18:48:57 +0100
Subject: [PATCH 14/31] chore: allow adding footnotes and docs layout

---
 mkdocs.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/mkdocs.yml b/mkdocs.yml
index 452fb4eb0d..dd95f5c26f 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -83,10 +83,10 @@ nav:
       - Create a Preference Dataset: learn/tutorials/nb-preference-dataset.ipynb
     - User Guides:
       - learn/user-guides/index.md
-      - Create an Inference Endpoint LLM for a QA task: learn/user-guides/inference-endpoints-custom-task.md
-  - API Reference:
-    - api/index.md
-    - distilabel.pipelines: api/pipeline.md
-    - distilabel.tasks: api/tasks.md
-    - distilabel.llms: api/llms.md
-    - Code reference: reference/
+  - Technical References:
+    - Concept Guides:
+      - technical-reference/index.md
+      - LLMs: technical-reference/llms.md
+      - Tasks: technical-reference/tasks.md
+      - Pipelines: technical-reference/pipeline.md
+    - API Reference: reference/

From 553617a830286f0b2420229fb8ef2efc83c5d31f Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Mon, 11 Dec 2023 18:39:55 +0100
Subject: [PATCH 15/31] docs: initial version of concept guides for llms and
 tasks

---
 docs/technical-reference/llms.md  |   4 +-
 docs/technical-reference/tasks.md | 262 ++++++++++++++++++++++++++++--
 2 files changed, 254 insertions(+), 12 deletions(-)

diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index 996d712c95..d65f8c05d1 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -1,6 +1,6 @@
 # LLMs
 
-The LLM class encapsulates the functionality for interacting with a language model. It distinguishes between *task* specifications and configurable arguments that influence the LLM's behavior. For illustration purposes, we employ the `TextGenerationTask` in this section and guide readers to the dedicated [`Tasks`](../api/tasks.md) section for comprehensive details.
+The `LLM` class encapsulates the functionality for interacting with a language model. It distinguishes between *task* specifications and configurable arguments that influence the LLM's behavior. For illustration purposes, we employ the `TextGenerationTask` in this section and guide readers to the dedicated [`Tasks`](../technical-reference/tasks.md) section for comprehensive details.
 
 To delineate their behavior, we have access to a series of arguments specific for each of them, but first let's see the general ones, and the `generate` method.
 
@@ -127,7 +127,7 @@ llm = TransformersLLM(
 )
 ```
 
-### InferenceEndpointsLLM
+### Inference Endpoints
 
 Hugging Face provides a streamlined approach for deploying models through [inference endpoints](https://huggingface.co/inference-endpoints) on their infrastructure. Opt for this solution if your model is hosted on Hugging Face.
 
diff --git a/docs/technical-reference/tasks.md b/docs/technical-reference/tasks.md
index d8e935d716..53b3f54b71 100644
--- a/docs/technical-reference/tasks.md
+++ b/docs/technical-reference/tasks.md
@@ -1,23 +1,265 @@
 # Tasks
 
-Already familiar with the `Task` component? Otherwise you can take a look at the [concepts](../concepts.md) and come back later.
+The `Task` class takes charge of setting how the LLM behaves, deciding whether it acts as a *generator* or a *labeller*. To accomplish this, the `Task` class creates a prompt using a template that will be sent to the [`LLM`](../technical-reference/llms.md). It specifies the necessary input arguments for generating the prompt and identifies the output arguments to be extracted from the `LLM` response. The `Task` class yields a `Prompt` that can generate a string with the format needed, depending on the specific `LLM` used.
+
+`distilabel` distinguishes between two primary categories of tasks: those focused on text generation and those centered around labelling. These `Task` classes delineate the LLM's conduct, be it the creation of textual content or the assignment of labels to text, each with precise guidelines tailored to their respective functionalities. Users can seamlessly leverage these distinct task types to tailor the LLM's behavior according to their specific application needs.
+
+Let's see the different tasks in `distilabel`:
 
 ## Text Generation
 
-This tasks will allow us guiding the LLM to generate texts.
+These set of classes are designed to steer a `LLM` in generating text with specific guidelines. They provide a structured approach to instruct the LLM on generating content in a manner tailored to predefined criteria.
+
+The following tasks for text generation are implemented:
+
+### TextGenerationTask
+
+This is the base class for *text generation*, and includes the following fields for guiding the generation process: `system_prompt`, which serves as the initial instruction or query given to the LLM, guiding it on what kind of information or output is expected. A list of `principles` to inject on the `system_prompt`, which by default correspond to those defiend in the UltraFeedback paper[^1], and lastly a distribution for these principles so the `LLM` can be directed towards the different principles with a more customized behaviour.
+
+[^1]:
+    The principles can be found [here][distilabel.tasks.text_generation.principles] in the codebase. More information on the *Principle Sampling* can be found in the [UltraFeedfack repository](https://github.com/OpenBMB/UltraFeedback#principle-sampling).
+
+The following methods define a task:
+
+- `generate_prompt`: This method will be used by the `LLM` during the creation of the prompts that will be used by the different models.
+- `parse_output`: After the `LLM` has generated the content, this method will be called after on the raw outputs to extract the relevant content.
+- `input_args_names` and `output_args_names`: These methods are used in the [`Pipeline`](../technical-reference/pipeline.md) to process the datasets. The first one defines the columns that will be extracted from the dataset to build the prompt in case of a `LLM` that acts as a generator or labeller alone, or the columns that should be placed in the dataset to be processed by the *labeller* `LLM`, in the case of a `Pipeline` that has both a *generator* and a *labeller*. The second one is in charge of inserting the defined fields as columns of the dataset generated dataset.
+
+After defining a task, the only action required is to pass it to the corresponding `LLM`. All the intricate processes are then handled internally:
+
+```python
+from distilabel.llm import TransformersLLM
+from distilabel.tasks import TextGenerationTask
+# This snippet uses `TransformersLLM`, but is the same for every other `LLM`.
+generator = TransformersLLM(
+    model=...,
+    tokenizer=...,
+    task=TextGenerationTask(),
+)
+```
+
+For the API reference visit [TextGenerationTask][distilabel.tasks.text_generation.base.TextGenerationTask].
+
+###Β Llama2TextGenerationTask
+
+This class inherits from the `TextGenerationTask` and it's specially prepared to deal with prompts in the form of the *Llama2* model, so it should be the go to task for `LLMs` intented for text generation that were trained using this prompt format. The specific prompt formats can be found in the source code of the [Prompt][distilabel.tasks.prompt.Prompt] class.
+
+```python
+from distilabel.llm import TransformersLLM
+from distilabel.tasks import Llama2TextGenerationTask
+# This snippet uses `TransformersLLM`, but is the same for every other `LLM`.
+generator = TransformersLLM(
+    model=...,
+    tokenizer=...,
+    task=Llama2TextGenerationTask(),
+)
+```
+
+For the API reference visit [Llama2TextGenerationTask][distilabel.tasks.text_generation.llama.Llama2TextGenerationTask].
+
+###Β OpenAITextGenerationTask
+
+The OpenAI task for text generation is similar to the `Llama2TextGenerationTask`, but with the specific prompt format expected by the *chat completion* task from OpenAI.
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import OpenAITextGenerationTask
+
+generator = OpenAILLM(
+    task=OpenAITextGenerationTask(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+For the API reference visit [OpenAITextGenerationTask][distilabel.tasks.text_generation.openai.OpenAITextGenerationTask].
+
+###Β SelfInstructTask
+
+The task specially designed to build the prompts following the Self-Instruct paper: [SELF-INSTRUCT: Aligning Language Models
+with Self-Generated Instructions](https://arxiv.org/pdf/2212.10560.pdf).
+
+From the original [repository](https://github.com/yizhongw/self-instruct/tree/main#how-self-instruct-works): *The Self-Instruct process is an iterative bootstrapping algorithm that starts with a seed set of manually-written instructions and uses them to prompt the language model to generate new instructions and corresponding input-output instances*, so this `Task` is specially interesting for generating new datasets from a set of predefined topics.
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import SelfInstructTask
+
+generator = OpenAILLM(
+    task=SelfInstructTask(
+        application_description="You are a question-answering assistant for...",
+        application_description="AI assistant",
+        num_instructions=3
+    ),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+For the API reference visit  [SelfInstructTask][distilabel.tasks.text_generation.self_instruct.SelfInstructTask].
+
+## Labelling
+
+Instead of generating text, you can instruct the `LLM` to label datasets. The existing tasks are designed specifically for creating `Preference` datasets.
+
+### Preference
+
+Preference datasets for Language Models (LLMs) are sets of information that show how people rank or prefer one thing over another in a straightforward and clear manner. These datasets help train language models to understand and generate content that aligns with user preferences, enhancing the model's ability to generate contextually relevant and preferred outputs.
+
+Contrary to the `TextGenerationTask`, the `PreferenceTask` is not intended for direct use. It implements the default methods `input_args_names` and `output_args_names`, but `generate_prompt` and `parse_output` are specific to each `PreferenceTask`. Examining the output_args_names reveals that the generation will encompass both the rating and the rationale that influenced that rating. `distilabel` implements the following preference tasks:
+
+####Β UltraFeedbackTask
+
+The task specially designed to build the prompts following the UltraFeedback paper: [UltraFeedback: Boosting Language Models With High Quality Feedback](https://arxiv.org/pdf/2310.01377.pdf).
+
+From the original [repository](https://github.com/OpenBMB/UltraFeedback): *To collect high-quality preference and textual feedback, we design a fine-grained annotation instruction, which contains 4 different aspects, namely instruction-following, truthfulness, honesty and helpfulness*. This `Task` is designed to label datasets following the different aspects defined for the UltraFeedback dataset creation.
+
+The following snippet can be used as a simplified UltraFeedback Task, for which we define 3 different ratings, but take into account the predefined versions are intended to be used out of the box:
+
+```python
+from distilabel.tasks.preference.ultrafeedback import UltraFeedbackTask, Rating
+from textwrap import dedent
+
+task_description = dedent(
+    """
+    # General Text Quality Assessment
+    Evaluate the model's outputs based on various criteria:
+    1. **Correctness & Informativeness**: Does the output provide accurate and helpful information?
+    2. **Honesty & Uncertainty**: How confidently does the model convey its information, and does it express uncertainty appropriately?
+    3. **Truthfulness & Hallucination**: Does the model introduce misleading or fabricated details?
+    4. **Instruction Following**: Does the model's output align with given instructions and the user's intent?
+    Your role is to provide a holistic assessment considering all the above factors.
+
+    **Scoring**: Rate outputs 1 to 3 based on the overall quality, considering all aspects:
+    """
+)
+
+ratings = [
+    Rating(value=1, description="Low Quality"),
+    Rating(value=2, description="Moderate Quality"),
+    Rating(value=3, description="Good Quality"),
+]
+
+ultrafeedback_task = UltraFeedbackTask(
+    system_prompt="Your role is to evaluate text quality based on given criteria",
+    task_description=task_description,
+    ratings=ratings
+)
+```
+
+- Text Quality:
+
+The following example uses a `LLM` to examinate the data for text quality criteria, which includes the different criteria from UltraFeedback (Correctness & Informativeness, Honesty & Uncertainty, Truthfulness & Hallucination and Instruction Following):
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_text_quality(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+- Helpfulness:
+
+The following example creates a UltraFeedback task to emphasize helpfulness, that is overall quality and correctness of the output:
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_helpfulness(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+- Truthfulness:
+
+The following example creates a UltraFeedback task to emphasize truthfulness and hallucination assessment:
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_truthfulness(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+- Honesty:
+
+The following example creates a UltraFeedback task to emphasize honesty and uncertainty expression assessment:
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_honesty(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+- Instruction Following:
+
+The following example creates a UltraFeedback task to emphasize the evaluation of alignment between output and intent:
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_instruction_following(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+For the API reference visit [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask].
+
+####Β JudgeLMTask
+
+The task specially designed to build the prompts following the UltraFeedback paper: [JudgeLM: Fine-tuned Large Language Models Are Scalable Judges](https://arxiv.org/pdf/2310.17631.pdf). This task is designed to evaluate the performance of AI assistants.
+
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import JudgeLMTask
+
+labeller = OpenAILLM(
+    task=JudgeLMTask(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
+
+For the API reference visit [JudgeLMTask][distilabel.tasks.preference.judgelm.JudgeLMTask].
+
+####Β UltraJudgeTask
 
-The following tasks are implemented:
+This class implements a `PreferenceTask` specifically for a better evaluation using AI Feedback. The task is defined based on both UltraFeedback and JudgeLM, but with several improvements / modifications.
 
-- [Llama2TextGenerationTask][distilabel.tasks.text_generation.llama.Llama2TextGenerationTask]: Your go to choice to prompt your LLM for the Llama2 model.
+It introduces an additional argument to differentiate various areas for processing. While these areas can be customized, the default values are as follows:
 
-- [OpenAITextGenerationTask][distilabel.tasks.text_generation.openai.OpenAITextGenerationTask]: The task for any chat-completion OpenAI model.
+```python
+from distilabel.tasks import UltraJudgeTask
 
-- [SelfInstructTask][distilabel.tasks.text_generation.self_instruct.SelfInstructTask]: A task following the Self-Instruct specification for building the prompts.
+# To see the complete system_prompt and task_description please take a look at the UltraJudgeTask definition
+ultrajudge_task = UltraJudgeTask(
+    system_prompt="You are an evaluator tasked with assessing AI assistants' responses from the perspective of typical user preferences...",
+    task_description="Your task is to rigorously evaluate the performance of..."
+    areas=["Practical Accuracy", "Clarity & Transparency", "Authenticity & Reliability", "Compliance with Intent"]
+)
+```
 
-## Preference
+Which can be directly used in the following way:
 
-- [JudgeLMTask][distilabel.tasks.preference.judgelm.JudgeLMTask]: What's this
+```python
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraJudgeTask
 
-- [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]: What's this
+labeller = OpenAILLM(
+    task=UltraJudgeTask(),
+    openai_api_key=os.getenv("OPENAI_API_KEY")
+)
+```
 
-- [UltraJudgeTask][distilabel.tasks.preference.ultrajudge.UltraJudgeTask]: What's this
+For the API reference visit [UltraJudgeTask][distilabel.tasks.preference.ultrajudge.UltraJudgeTask].

From fcc9a946679eb15c43d5a084b9ac113375d61d7b Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Tue, 12 Dec 2023 18:02:32 +0100
Subject: [PATCH 16/31] docs: initial version for pipeline and llms

---
 docs/technical-reference/llms.md     |   4 +-
 docs/technical-reference/pipeline.md | 329 +++++++++++++++++++++++++--
 2 files changed, 316 insertions(+), 17 deletions(-)

diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index d65f8c05d1..d2a6c849e0 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -1,6 +1,6 @@
 # LLMs
 
-The `LLM` class encapsulates the functionality for interacting with a language model. It distinguishes between *task* specifications and configurable arguments that influence the LLM's behavior. For illustration purposes, we employ the `TextGenerationTask` in this section and guide readers to the dedicated [`Tasks`](../technical-reference/tasks.md) section for comprehensive details.
+The [`LLM`][distilabel.llm.base.LLM] class encapsulates the functionality for interacting with a language model. It distinguishes between *task* specifications and configurable arguments that influence the LLM's behavior. For illustration purposes, we employ the `TextGenerationTask` in this section and guide readers to the dedicated [`Tasks`](../technical-reference/tasks.md) section for comprehensive details.
 
 To delineate their behavior, we have access to a series of arguments specific for each of them, but first let's see the general ones, and the `generate` method.
 
@@ -29,7 +29,7 @@ Aside from the specific parameters that each LLM has, let's briefly introduce th
 
 - `prompt_format` and `prompt_formatting_fn`:
 
-    These two arguments allow to tweak the prompt of our models, for example we can direct the LLM to format the prompt according to one of the defined formats, while `prompt_formatting_fn` allows to pass a function that will be applied to the prompt before the generation, for extra control of what we ingest to the model.
+    These two arguments allow to tweak the prompt of our models, for example we can direct the `LLM` to format the prompt according to one of the defined formats, while `prompt_formatting_fn` allows to pass a function that will be applied to the prompt before the generation, for extra control of what we ingest to the model.
 
 Once we have a `LLM` instantiated we will interact with it by means of the `generate` method. This method will take as arguments the inputs from which we want our model to generate text, and the number of generations we want. We will obtain in return lists of `LLMOutput`[^2], which is a general container for the LLM's outputs.
 
diff --git a/docs/technical-reference/pipeline.md b/docs/technical-reference/pipeline.md
index e6ab303090..54f05caf6c 100644
--- a/docs/technical-reference/pipeline.md
+++ b/docs/technical-reference/pipeline.md
@@ -1,35 +1,334 @@
 # Pipelines
 
-The `Pipeline` class is the center piece of `distilabel`, in charge of the generation and labelling process. 
+This section will detail the [`Pipeline`][distilabel.pipeline.Pipeline], providing guidance on creating and using them.
 
-We will use a sample of a instruction[^1] dataset to guide us through the process. 
+## Pipeline
 
-[^1]:
-    You can take a look at [Alpaca](https://crfm.stanford.edu/2023/03/13/alpaca.html) to get acquainted with instruction-following datasets.
+The [Pipeline][distilabel.pipeline.Pipeline] class is a central component in `distilabel`, responsible for crafting datasets. It manages the generation of datasets and oversees the interaction between the generator and labeller `LLMs`.
 
-Let's start by loading it and importing the necessary code
+You create an instance of the [`Pipeline`][distilabel.pipeline.Pipeline] by providing a *generator* and an optional *labeller* [LLM][distilabel.llm.base.LLM]. Interactions with it are facilitated through its `generate` method. This method requires a [`dataset`](https://huggingface.co/docs/datasets/v2.15.0/en/package_reference/main_classes#datasets.Dataset), specifies the *num_generations* to determine the number of examples to be created, and includes additional parameters for controlling the *batch_size* and managing the generation process.
+
+Let's start by a Pipeline with a single `LLM` as a generator.
+
+### Generator
+
+We will create a [`Pipeline`][distilabel.pipeline.Pipeline] that will use [Notus](https://huggingface.co/argilla/notus-7b-v1) from a Huggingface [Inference Endpoint][distilabel.llm.InferenceEndpointsLLM]. For this matter, we need to create a [TextGenerationTask][distilabel.tasks.TextGenerationTask], and specify the format we want to use for our `Prompt`, in this case *notus*, which corresponds to the same for *zephyr*.
 
 ```python
-from datasets import load_dataset
+import os
+
+from distilabel.tasks.prompt import Prompt
 
-dataset = load_dataset("argilla/distilabel-docs", split="train")
-dataset = dataset.remove_columns(
-    [column for column in dataset.column_names if column not in ["input"]]
+class NotusTextGenerationTask(TextGenerationTask):
+    def generate_prompt(self, input: str) -> str:
+        return Prompt(
+            system_prompt=self.system_prompt,
+            formatted_prompt=input,
+        ).format_as("notus")
+
+pipe_generation = Pipeline(
+    generator=InferenceEndpointsLLM(
+        endpoint_name=endpoint_name,  # The name given of the deployed model
+        endpoint_namespace=endpoint_namespace,  #Β This usually corresponds to the organization, in this case "argilla"
+        token=token,  #Β hf_...
+        task=NotusTextGenerationTask(),
+        max_new_tokens=512,
+        do_sample=True
+    )
 )
-# >>> dataset[0]["input"]
-# 'Arianna has 12 chocolates more than Danny. Danny has 6 chocolates more than Robbie. Arianna has twice as many chocolates as Robbie has. How many chocolates does Danny have?'
 ```
 
+We've set up our pipeline using a specialized [`TextGenerationTask`](distilabel.tasks.text_generation.base.TextGenerationTask) (refer to the [tasks section](./tasks.md) for more task details), and an [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM] configured for [`notus-7b-v1`](https://huggingface.co/argilla/notus-7b-v1), although any of the available `LLMs` will work.
+
+To utilize the [Pipeline][distilabel.pipeline.Pipeline] for dataset generation, we call the generate method. We provide it with the input dataset and specify the desired number of generations. In this example, we've prepared a `Dataset` with a single row to illustrate the process. This dataset contains one row, and we'll trigger 2 generations from it:
+
+```python
+from datasets import Dataset
+
+dataset = Dataset.from_dict({"input": ["Create an easy dinner recipe with few ingredients"]})
+dataset_generated = pipe_generation.generate(dataset, num_generations=2)
+```
+
+Now, let's examine the dataset that was generated. It's a [`CustomDataset`][distilabel.dataset.CustomDataset], equipped with additional features for seamless interaction with [`Argilla`](https://github.com/argilla-io/argilla).
+
+```python
+print(dataset_generated)
+# Dataset({
+#     features: ['input', 'generation_model', 'generation_prompt', 'raw_generation_responses', 'generations'],
+#     num_rows: 1
+# })
+
+print(dataset_generated[0]["generations"][0])
+# Here's a simple and delicious dinner recipe with only a few ingredients:
+
+# Garlic Butter Chicken with Roasted Vegetables
+
+# Ingredients:
+# - 4 boneless, skinless chicken breasts
+# - 4 tablespoons butter
+# - 4 cloves garlic, minced
+# - 1 teaspoon dried oregano
+# - 1/2 teaspoon salt
+# - 1/4 teaspoon black pepper
+# - 1 zucchini, sliced
+# - 1 red bell pepper, sliced
+# - 1 cup cherry tomatoes
+
+# Instructions:
+
+# 1. Preheat oven to 400Β°F (200Β°C).
+
+# 2. Melt butter in a small saucepan over low heat. Add minced garlic and heat until fragrant, about 1-2 minutes.
+
+# 3. Place chicken breasts in a baking dish and brush garlic butter over each one.
+
+# 4. Sprinkle oregano, salt, and black pepper over the chicken.
+
+# 5. In a separate baking dish, add sliced zucchini, red bell pepper, and cherry tomatoes. Brush with remaining garlic butter.
+
+# 6. Roast the chicken and vegetables in the preheated oven for 25-30 minutes or until cooked through and the vegetables are tender and lightly browned.
+
+# 7. Transfer the chicken to plates and serve with the roasted vegetables alongside. Enjoy!
+
+# This recipe requires simple ingredients and is easy to prepare, making it perfect for a quick, satisfying dinner. The garlic butter adds maximum flavor, while the roasted vegetables complement the chicken beautifully, providing additional nutrition and texture. With minimal effort, you can have a delicious and balanced meal on the table in no time.
+```
+
+### Labeller
 
+Next, we move on to labelLing a dataset. Just as before, we need an `LLM` for our `Pipeline`. In this case we will use [`OpenAILLM`][distilabel.llm.openai.OpenAILLM] with `gpt-4`, and a `PreferenceTask`, [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask] for instruction following.
 
 ```python
-from distilabel.llm import LlamaCppLLM
 from distilabel.pipeline import Pipeline
-from distilabel.tasks import TextGenerationTask
-from llama_cpp import Llama
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+pipe_labeller = Pipeline(
+    labeller=OpenAILLM(
+        model="gpt-4",
+        task=UltraFeedbackTask.for_instruction_following(),
+        max_new_tokens=256,
+        num_threads=8,
+        openai_api_key=os.getenv("OPENAI_API_KEY"),
+        temperature=0.3,
+    ),
+)
+```
+
+For this example dataset, we've extracted 2 sample rows from the [UltraFeedback binarized dataset](https://huggingface.co/datasets/argilla/ultrafeedback-binarized-preferences), formatted as expected by the default `LLM` and `Task`.
+
+We've selected two distinct examples, one correctly labeled and the other incorrectly labeled in the original dataset. In this instance, the `dataset` being generated includes two columns: the *input*, as seen in the generator, and a *generations* column containing the model's responses.
+
+```python
+from datasets import Dataset
+
+dataset_test = Dataset.from_dict(
+    {
+        "input": [
+            "Describe the capital of Spain in 25 words.",
+            "Design a conversation between a customer and a customer service agent."
+        ],
+        "generations": [
+            ["Santo Domingo is the capital of Dominican Republic"],
+            ["Customer: Hello, I'm having trouble with my purchase.\n\nCustomer Service Agent: I'm sorry to hear that. Could you please tell me more about the issue you are facing?\n\nCustomer: Yes, I ordered a pair of shoes from your company a week ago, but I haven't received them yet.\n\nCustomer Service Agent: I apologize for the inconvenience. Could you please provide me with your order number and full name so I can look into this for you?\n\nCustomer: Sure, my name is John Doe and my order number is ABCD1234.\n\nCustomer Service Agent: Thank you, John. I have checked on your order and it appears that it is still being processed. It should be shipped out within the next 24 hours.\n\nCustomer: That's good to hear, but can you also tell me the expected delivery time?\n\nCustomer Service Agent: Absolutely, based on your location, the estimated delivery time is 3-5 business days after shipping. You will receive a tracking number via email once the item is shipped, which will provide real-time updates on your package.\n\nCustomer: Thanks for the information. One more thing, what is your return policy if the shoes don't fit?\n\nCustomer Service Agent: Our company offers a 30-day return policy. If you are not satisfied with the product or if it doesn't fit, you can return it for a full refund or an exchange within 30 days of delivery. Please keep in mind that the product must be in its original packaging and in the same condition as when you received it.\n\nCustomer: Okay, that's good to know. Thank you for your help.\n\nCustomer Service Agent: You're welcome, John. I'm glad I could assist you. If you have any further questions or concerns, please don't hesitate to reach out to us. Have a great day!"]
+        ] 
+    }
+)
+
+ds_labelled = pipe_labeller.generate(dataset_test)
+```
+
+Let's select the relevant columns from the labelled dataset, and take a look at the first record. This allows us to observe the *rating* and the accompanying *rationale* that provides an explanation.
+
+```python
+ds_labelled.select_columns(["input", "generations", "rating", "rationale"])[0]
+{'input': 'Describe the capital of Spain in 25 words.',
+ 'generations': ['Santo Domingo is the capital of Dominican Republic'],
+ 'rating': [1.0],
+ 'rationale': ['The text is irrelevant to the instruction. It describes the capital of the Dominican Republic instead of Spain.']}
+```
 
+### Generator and Labeller
+
+In the final scenario, we have a [`Pipeline`][distilabel.pipeline.Pipeline] utilizing both a *generator* and a *labeller* `LLM`. Once more, we'll employ the [Inference Endpoint][distilabel.llm.InferenceEndpointsLLM] with `notus-7b-v1` for the *generator*, using a different *system prompt* this time. As for the labeller, we'll use `gpt-3.5-turbo`, which will label the examples for *instruction following*.
+
+```python
+pipe_full = Pipeline(
+    generator=InferenceEndpointsLLM(
+        endpoint_name=endpoint_name,
+        endpoint_namespace=endpoint_namespace,
+        token=token,
+        task=NotusTextGenerationTask(
+            system_prompt="You are an expert writer of XKCD, a webcomic of romance, sarcasm, math, and language."
+        ),
+        max_new_tokens=512,
+        do_sample=True
+    ),
+    labeller=OpenAILLM(
+        model="gpt-3.5-turbo",
+        task=UltraFeedbackTask.for_instruction_following(),
+        max_new_tokens=256,
+        num_threads=4,
+        openai_api_key=os.getenv("OPENAI_API_KEY"),
+        temperature=0.3,
+    ),
+)
+```
+
+For this example, we'll set up a pipeline to generate and label a dataset of short stories inspired by [XKCD](https://xkcd.com/). To do this, we'll define the *system_prompt* for the `NotusTextGenerationTask`. The dataset will follow the same format we used for the generator scenario, featuring an *input* column with the examples, in this case, just one.
+
+```python
+xkcd_instructions = Dataset.from_dict(
+    {
+        "input": [            
+            "Could you imagine an interview process going sideways?"
+        ]
+    }
+)
+ds_xkcd = pipe_full.generate(xkcd_instructions, num_generations=3)
 ```
 
-The API reference can be found here: [Pipeline][distilabel.pipeline.Pipeline]
+We will now take a look to one of the *generations*, along with the *rating* and *rational* given by our *labeller* `LLM`:
+
+```python
+print(ds_xkcd[1]["generations"][0])
+print("-----" * 5)
+print("RATING: ", ds_xkcd[1]["rating"][0])
+print("RATIONALE: ", ds_xkcd[1]["rationale"][0])
+
+# Yes, absolutely! Here's a fictional interview scenario turned into an XKCD-style comic:
+
+# (Interviewee meets with an unsmiling interviewer)
+
+# Interviewer: Good morning! Have a seat. Tell me about your experience working with teams.
+
+# Interviewee: Well, I've worked in large teams on group projects before. It could be challenging, but we always managed to pull through.
+
+# (Smugly) Interviewer: Challenging, huh? (tapping pen on desk) And how did you manage to overcome these challenges?
+
+# Interviewee: (confidently) Communication was key. I made sure to stay in touch with the team and keep everyone updated on our progress.
+
+# Interviewer: Communication. Hm. And what if communication failed?
+
+# Interviewee: (thrown off balance) Well, I mean...there was one time when we couldn't connect via video call. But we picked up the phone, and we all understood what needed to be done.
+
+# Interviewer: But what if the communication on the technical level failed, say, like a computer system with a software glitch?
+
+# Interviewee: (feeling the pressure) That's never happened to me before, but if it did, we would have to troubleshoot and find a workaround, right?
+
+# Interviewer: (smirking) Oh, but finding a workaround could mean delegating responsibilities among the team, which requires communication. It's a vicious cycle!
+
+# (Interviewee visibly uncomfortable)
+
+# Interviewer: And what if there was a communication breakdown among the team members themselves?
+
+# Interviewee: (unsure) I think we would try to sort it out as soon as possible to avoid any further problems.
+
+# Interviewer: (sarcastically) Yes, avoiding further problems is critical. Don't want to let those deadlines slip, do we?
+
+# (Interviewer types frantically on their computer keyboard)
+
+# Interviewer: (softly but wordily) Note to self: Avoid this candidate for team projects.
+
+# (The interviewer returns his attention back to the interviewee)
+
+# Interviewer: Well, moving on...
+# -------------------------
+# RATING:  4.0
+# RATIONALE:  The text provides a fictional interview scenario that aligns with the task goal of imagining an interview process going sideways. It includes dialogue between an interviewer and interviewee, showcasing a breakdown in communication and the interviewer's sarcastic and dismissive attitude towards the interviewee's responses.
+```
+
+## pipeline
+
+Considering recurring patterns in dataset creation, we can facilitate the process by utilizing the [`Pipeline`][distilabel.pipeline.Pipeline]. This is made simpler through the [`pipeline`][distilabel.pipeline.pipeline] function, which provides the necessary parameters for creating a `Pipeline`.
+
+In the code snippet below, we use the [`pipeline`][distilabel.pipeline.pipeline] function to craft a `pipeline` tailored for a *preference task*, specifically focusing on *text-quality* as the *subtask*. If we don't initially provide a *labeller* [`LLM`][distilabel.llm.base.LLM], we can specify the subtask we want our `pipeline` to address. By default, this corresponds to [`UltraFeedbackTask`][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]. It's mandatory to specify the generator of our choice; however, the labeller defaults to `gpt-3.5-turbo`. Optional parameters required for [OpenAILLM][distilabel.llm.openai.OpenAILLM] can also be passed as optional keyword arguments.
+
+```python
+from distilabel.pipeline import pipeline
+
+pipe = pipeline(
+    "preference",
+    "text-quality",
+    generator=InferenceEndpointsLLM(
+        endpoint_name=endpoint_name,
+        endpoint_namespace=endpoint_namespace,
+        token=token,
+        task=NotusTextGenerationTask(),
+        max_new_tokens=512,
+        do_sample=True
+    ),
+    max_new_tokens=256,
+    num_threads=2,
+    openai_api_key=os.getenv("OPENAI_API_KEY"),
+    temperature=0.0,
+)
+```
+
+
+For the dataset, we'll begin with three rows from [HuggingFaceH4/instruction-dataset](https://huggingface.co/datasets/HuggingFaceH4/instruction-dataset). We'll request two generations with checkpoints enabled to safeguard the data in the event of any failures, which is the default behavior.
+
+```python
+instruction_dataset = (
+    load_dataset("HuggingFaceH4/instruction-dataset", split="test[:3]")
+    .remove_columns(["completion", "meta"])
+    .rename_column("prompt", "input")
+)
+
+pipe_dataset = pipe.generate(
+    instruction_dataset,
+    num_generations=2,
+    batch_size=1,
+    enable_checkpoints=True,
+    display_progress_bar=True,
+)
+```
+
+Finally, let's see one of the examples from the dataset:
+
+```python
+print(pipe_dataset["input"][-1])
+# Create a 3 turn conversation between a customer and a grocery store clerk - that is, 3 per person. Then tell me what they talked about.
+
+print(pipe_dataset["generations"][-1][-1])
+# Customer: Hi there, I'm looking for some fresh berries. Do you have any raspberries or blueberries in stock?
+
+# Grocery Store Clerk: Yes, we have both raspberries and blueberries in stock today. Would you like me to grab some for you or can you find them yourself?
+
+# Customer: I'd like your help getting some berries. Can you also suggest which variety is sweeter? Raspberries or blueberries?
+
+# Grocery Store Clerk: Raspberries and blueberries both have distinct flavors. Raspberries are more tart and a little sweeter whereas blueberries tend to be a little sweeter and have a milder taste. It ultimately depends on your personal preference. Let me grab some of each for you to try at home and see which one you like better.
+
+# Customer: That sounds like a great plan. How often do you receive deliveries? Do you have some new varieties of berries arriving soon?
+
+# Grocery Store Clerk: We receive deliveries twice a week, on Wednesdays and Sundays. We also have a rotation of different varieties of berries throughout the season, so keep an eye out for new arrivals. Thanks for shopping with us, can I help you with anything else today?
+
+# Customer: No, that's all for now. I'm always happy to support your local store.
+
+# turn 1: berries, fresh produce availability, customer preference
+# turn 2: product recommendations based on taste and personal preference, availability
+# turn 3: store acknowledgment, shopping gratitude, loyalty and repeat business expectation.
+
+print(pipe_dataset["rating"][-1][-1])
+# 5.0
+
+print(pipe_dataset["rationale"][-1][-1])
+# The text accurately follows the given instructions and provides a conversation between a customer and a grocery store clerk. The information provided is correct, informative, and aligned with the user's intent. There are no hallucinations or misleading details.
+```
 
 The API reference can be found here: [pipeline][distilabel.pipeline.pipeline]
+
+## Argilla integration
+
+The [CustomDataset][distilabel.dataset.CustomDataset] generated entirely by AI models may require some additional human processing. To facilitate human feedback, the dataset can be uploaded to [`Argilla`](https://github.com/argilla-io/argilla). This process involves logging into an [`Argilla`](https://docs.argilla.io/en/latest/getting_started/cheatsheet.html#connect-to-argilla) instance, converting the dataset to the required format using `CustomDataset.to_argilla()`, and subsequently using push_to_argilla on the resulting dataset:
+
+```python
+import argilla as rg
+
+rg.init(
+    api_key="",
+    api_url=""
+)
+
+rg_dataset = pipe_dataset.to_argilla()  # Any dataset resulting from `Pipeline.generate`
+rg_dataset.push_to_argilla(name="preference-dataset", workspace="admin")
+```

From 49da487b8b1df874a55945fbef425a4cff5d93ff Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Tue, 12 Dec 2023 18:06:57 +0100
Subject: [PATCH 17/31] refactor: move wrong tutorial and place banner

---
 docs/learn/tutorials/index.md                 |    3 +
 .../tutorials/nb-preference-dataset.ipynb     | 5720 -----------------
 mkdocs.yml                                    |    1 -
 3 files changed, 3 insertions(+), 5721 deletions(-)
 delete mode 100644 docs/learn/tutorials/nb-preference-dataset.ipynb

diff --git a/docs/learn/tutorials/index.md b/docs/learn/tutorials/index.md
index 019b53750e..cb7f8c8963 100644
--- a/docs/learn/tutorials/index.md
+++ b/docs/learn/tutorials/index.md
@@ -1,3 +1,6 @@
 # Tutorials
 
+!!! warning "🚧 Work in Progress"
+    This page is a work in progress.
+    
 This section contains lessons that will guide you step by step to create different types of datasets with the help of `distilabel`.
diff --git a/docs/learn/tutorials/nb-preference-dataset.ipynb b/docs/learn/tutorials/nb-preference-dataset.ipynb
deleted file mode 100644
index 139119ba86..0000000000
--- a/docs/learn/tutorials/nb-preference-dataset.ipynb
+++ /dev/null
@@ -1,5720 +0,0 @@
-{
-  "cells": [
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "_7ptlRStN9Mw"
-      },
-      "source": [
-        "# βš–οΈ Create a preference dataset\n",
-        "\n",
-        "In this tutorial, we will create a preference dataset that can be later used to fine-tune an LLM using DPO. First, we will define a list of math topics and we will create a pipeline for generating a list of instructions using `self-instruct` and OpenAI's `gpt-3.5-turbo`. After that, we will create another pipeline in which we will ask `gpt-3.5-turbo` to generate 3 texts for each instruction, and finally we will ask it again to rate these responses, given us our preference dataset.\n",
-        "\n",
-        "You can also read this tutorial using google colab with the following button: \n",
-        "\n",
-        "[![open in colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/argilla-io/distilabel/blob/main/docs/learn/tutorials/nb-preference-dataset.ipynb)"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {},
-      "source": [
-        "## Setup\n",
-        "\n",
-        "For this tutorial you will need an API key associated to your OpenAI account. After that, you will need to create a Google Colab secret clicking the icon key in the left side bar and create a secret called `OPENAI_API_KEY` with your OpenAI API key as value.\n",
-        "\n",
-        "> Google Colab secrets has been released a few weeks ago and it's very useful to reuse and not leak your API Keys!"
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "id": "46hsMToDUN5H"
-      },
-      "outputs": [],
-      "source": [
-        "import os\n",
-        "from google.colab import userdata\n",
-        "\n",
-        "os.environ[\"OPENAI_API_KEY\"] = userdata.get(\"OPENAI_API_KEY\")"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "XAUHMiOJPs93"
-      },
-      "source": [
-        "### Installing `distilabel`\n",
-        "\n",
-        "Let's start by installing `distilabel` with the `openai` and `argilla` extras, to install the respective `openai` and `argilla` clients that we will need later. In addition, we will install an extension for timing some cells."
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/"
-        },
-        "id": "IpO8CKrn0hFL",
-        "outputId": "ab57f5fd-72de-495a-f7b8-98ac39915f9c"
-      },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.1/60.1 kB\u001b[0m \u001b[31m2.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.9/2.9 MB\u001b[0m \u001b[31m17.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m220.8/220.8 kB\u001b[0m \u001b[31m20.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.7/75.7 kB\u001b[0m \u001b[31m9.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m14.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m27.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m76.0/76.0 kB\u001b[0m \u001b[31m9.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m7.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
-            "\u001b[?25h\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
-            "llmx 0.0.15a0 requires cohere, which is not installed.\n",
-            "llmx 0.0.15a0 requires tiktoken, which is not installed.\u001b[0m\u001b[31m\n",
-            "\u001b[0mtime: 330 Β΅s (started: 2023-11-28 13:21:16 +00:00)\n"
-          ]
-        }
-      ],
-      "source": [
-        "%pip install distilabel[openai,argilla] ipython-autotime -qqq\n",
-        "%load_ext autotime"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "xEgKfbaY0KTl"
-      },
-      "source": [
-        "## Instruction generation\n",
-        "\n",
-        "As mentioned above, we will first create a `Pipeline` for generating instructions using `self-instruct` and `gpt-3.5-turbo`. For that we will create an instance of `SelfInstructTask`, which defines a prompt template for generating instructions given an application description. We will also create an instance of `OpenAILLM` for using `gpt-3.5-turbo` and we will pass it the `SelfInstructTask` instance that we created before.\n",
-        "\n",
-        "> As we're passing a `Task` for generating texts to the `OpenAILLM` we will call this one as a `generator`."
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/"
-        },
-        "id": "ARP2gtEtS1yE",
-        "outputId": "0802295a-1d3f-4065-c157-5604a9f058fd"
-      },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "time: 13.3 s (started: 2023-11-28 13:21:22 +00:00)\n"
-          ]
-        }
-      ],
-      "source": [
-        "from distilabel.tasks import SelfInstructTask\n",
-        "from distilabel.llm import OpenAILLM\n",
-        "from distilabel.pipeline import Pipeline"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "2ytKVekTXHNA"
-      },
-      "source": [
-        "First of all, we will create a Hugging Face πŸ€— `dataset` that will contain a single column called `input`. This column will contain the math topics from which we want our LLM to generate instructions.\n",
-        "\n",
-        "> It's important that the column is called `input`, because the `Task` that we will create later expects an input argument called `input`."
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/"
-        },
-        "id": "UIy6ihVox0aQ",
-        "outputId": "3d5b4e2e-d098-4e50-d0db-8eef501f53c3"
-      },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "time: 19.3 ms (started: 2023-11-28 13:21:46 +00:00)\n"
-          ]
-        }
-      ],
-      "source": [
-        "from datasets import Dataset\n",
-        "\n",
-        "\n",
-        "math_topics = [\n",
-        "    \"Algebraic Expressions\",\n",
-        "    \"Linear Equations\",\n",
-        "    \"Quadratic Equations\",\n",
-        "    \"Polynomial Functions\",\n",
-        "    \"Rational Expressions\",\n",
-        "    \"Exponential Functions\",\n",
-        "    \"Logarithmic Functions\",\n",
-        "    \"Sequences and Series\",\n",
-        "    \"Matrices\",\n",
-        "    \"Determinants\",\n",
-        "    \"Complex Numbers\",\n",
-        "    \"Trigonometry\",\n",
-        "    \"Geometry\",\n",
-        "    \"Coordinate Geometry\",\n",
-        "    \"Vector Algebra\",\n",
-        "    \"Statistics\",\n",
-        "    \"Probability\",\n",
-        "    \"Calculus\",\n",
-        "    \"Differential Calculus\",\n",
-        "    \"Integral Calculus\",\n",
-        "    \"Limits and Continuity\",\n",
-        "    \"Differentiation\",\n",
-        "    \"Integration\",\n",
-        "    \"Theorems of Calculus\",\n",
-        "    \"Mathematical Reasoning\",\n",
-        "    \"Set Theory\",\n",
-        "    \"Number Theory\",\n",
-        "    \"Permutations and Combinations\",\n",
-        "    \"Binomial Theorem\",\n",
-        "    \"Arithmetic Progressions\",\n",
-        "    \"Geometric Progressions\",\n",
-        "    \"Harmonic Progressions\",\n",
-        "    \"Trigonometric Ratios\",\n",
-        "    \"Trigonometric Identities\",\n",
-        "    \"Inverse Trigonometric Functions\",\n",
-        "    \"Hyperbolic Functions\",\n",
-        "    \"Conic Sections\",\n",
-        "    \"Circle Geometry\",\n",
-        "    \"Ellipse Geometry\",\n",
-        "    \"Parabola Geometry\",\n",
-        "    \"Hyperbola Geometry\",\n",
-        "    \"Function Theory\",\n",
-        "    \"Graph Theory\",\n",
-        "    \"Differential Equations\",\n",
-        "    \"Mathematical Induction\",\n",
-        "    \"Discrete Mathematics\",\n",
-        "]\n",
-        "\n",
-        "dataset = Dataset.from_dict({\n",
-        "    \"input\": math_topics\n",
-        "})"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "ZtM2ZZMdXbXg"
-      },
-      "source": [
-        "Next, we will create a `SelfInstructTask` that will guide the `LLM` using the prompt to generate instructions from the given list of inputs.\n",
-        "\n",
-        "> All the `Task`s have two properties: `input_args_names` and `output_args_names` that indicates which arguments expects as inputs and which outputs will generate respectively."
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/"
-        },
-        "id": "JUVqzpjEVxsX",
-        "outputId": "d8bbf771-7e8a-4ab9-8b43-05174d45aba9"
-      },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "`SelfInstructTask`\n",
-            "   - Input arguments: ['input']\n",
-            "   - Output arguments: ['generations']\n",
-            "time: 692 Β΅s (started: 2023-11-28 13:21:50 +00:00)\n"
-          ]
-        }
-      ],
-      "source": [
-        "application_description = (\n",
-        "    \"An AI assistant adept at answering a wide array of math, logic, and reasoning puzzles, trivia, \"\n",
-        "    \"and general questions. Users of this assistant love to ask the assistant to think and outlines \"\n",
-        "    \"the solutions step by step. It expects complete questions from users providing all the details \"\n",
-        "    \"to solve the proposed problem or respond to general knowledge questions. It covers general \"\n",
-        "    \"knowledge about math, puzzles, reasoning exercises, and real-life scenarios where math and \"\n",
-        "    \"reasoning are important.\"\n",
-        ")\n",
-        "\n",
-        "# by default `SelfInstructTask` will generate 5 instructions, but we can tweak\n",
-        "# this behaviour passing the `num_instructions` argument.\n",
-        "instruction_task = SelfInstructTask(\n",
-        "    application_description=application_description\n",
-        ")\n",
-        "\n",
-        "print(f\"`SelfInstructTask`\\n   - Input arguments: {instruction_task.input_args_names}\\n   - Output arguments: {instruction_task.output_args_names}\")"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "YASgix42ZOvO"
-      },
-      "source": [
-        "In the next step, we will create an `LLM`, in this case an instance of `OpenAILLM` as we want to use `gpt-3.5-turbo` to generate the instructions. We will pass the `instruction_task` for generating the prompts that we need for generating the instructions given the `input`s of our dataset."
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/"
-        },
-        "id": "2Da8DkWJV1Lr",
-        "outputId": "8289af8d-6027-45e2-86ea-187a3479587c"
-      },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "time: 497 ms (started: 2023-11-28 13:21:54 +00:00)\n"
-          ]
-        }
-      ],
-      "source": [
-        "instruction_generator = OpenAILLM(\n",
-        "    task=instruction_task,\n",
-        "    num_threads=8,\n",
-        "    max_new_tokens=1024,\n",
-        "    temperature=0.7\n",
-        ")"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "u-2fzkY0ZoWc"
-      },
-      "source": [
-        "Finally, we will create a `Pipeline` to orchestrate the whole generation process. In this case we will only pass a `generator`."
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/"
-        },
-        "id": "oNzYvsUMV768",
-        "outputId": "2aa55687-c3f4-4020-aed8-6574231c1fe0"
-      },
-      "outputs": [
-        {
-          "name": "stdout",
-          "output_type": "stream",
-          "text": [
-            "time: 576 Β΅s (started: 2023-11-28 13:21:56 +00:00)\n"
-          ]
-        }
-      ],
-      "source": [
-        "pipeline = Pipeline(generator=instruction_generator)"
-      ]
-    },
-    {
-      "cell_type": "markdown",
-      "metadata": {
-        "id": "DcLzuTj_ZxQv"
-      },
-      "source": [
-        "And trigger the generation process calling the `generate` method of the pipeline... We specify that we want `10` generations for each input"
-      ]
-    },
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "colab": {
-          "base_uri": "https://localhost:8080/",
-          "height": 515,
-          "referenced_widgets": [
-            "b689c54bb1584819a688a3a5ddadc244",
-            "136d4c25280e4568b2da72c383083809",
-            "8ae3a7625ea84b19a2addf4eb1ffb8cc",
-            "0b2eeb5c882e44ecb0b3b40ad9803f2a",
-            "4cb2d2df76eb473daff13135f955d793",
-            "c2eabf12fcbf4e75a5ef794ba1ad13e5",
-            "df72140b3c544c6a96a0579bfc2e1c73",
-            "64cfb92dacc546d68bb7b98e7752874d",
-            "88bfc7917f0941779a4d092debd586a4",
-            "10cbf7c3ab5f43b9a65073db593c6a5f",
-            "8f162bcb090f45e7bbbe7c7821f542bd",
-            "7f27083a093a4f43a613496689bf3f25",
-            "58cb8e9389cb4096af13a62b1365718a",
-            "d11504d1e86c444b9dbc11272288005d",
-            "6703f5738f904c97931b7988e15e46de",
-            "e4b04e0d97cf4058a0dc3523e09dd3fc",
-            "c21550505dc747b59cfa9cb6f613b36d",
-            "11b66141ac604485bbbeb2dc527fa955",
-            "a9788ac98de44a75953d1e4a79368493",
-            "838d5062812c4394852537ce6330e281",
-            "f98e13d7856d4b92b201fe13e0ad233d",
-            "b58e824d7f8d49c286d65282c8986a9a",
-            "9e91e2e8a54d4b9286c172751bda4210",
-            "e40f93919d4f4191bed73f84400b8841"
-          ]
-        },
-        "id": "PtUfJ-ryzrcu",
-        "outputId": "06e717bd-3e4f-4163-80c7-8db5a7a0ef29"
-      },
-      "outputs": [
-        {
-          "data": {
-            "application/vnd.jupyter.widget-view+json": {
-              "model_id": "b689c54bb1584819a688a3a5ddadc244",
-              "version_major": 2,
-              "version_minor": 0
-            },
-            "text/plain": [
-              "Output()"
-            ]
-          },
-          "metadata": {},
-          "output_type": "display_data"
-        },
-        {
-          "name": "stderr",
-          "output_type": "stream",
-          "text": [
-            "INFO:distilabel:Processing batch 1 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 1...\n",
-            "INFO:distilabel:Processing batch 2 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 2...\n",
-            "INFO:distilabel:Processing batch 3 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 3...\n",
-            "INFO:distilabel:Processing batch 4 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 4...\n",
-            "INFO:distilabel:Processing batch 5 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 5...\n",
-            "INFO:distilabel:Processing batch 6 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 6...\n",
-            "INFO:distilabel:Processing batch 7 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 7...\n",
-            "INFO:distilabel:Processing batch 8 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 8...\n",
-            "INFO:distilabel:Processing batch 9 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 9...\n",
-            "INFO:distilabel:Processing batch 10 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 10...\n",
-            "INFO:distilabel:Processing batch 11 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 11...\n",
-            "INFO:distilabel:Processing batch 12 of 12...\n",
-            "INFO:distilabel:Calling generator for batch 12...\n"
-          ]
-        },
-        {
-          "data": {
-            "text/html": [
-              "
\n"
-            ],
-            "text/plain": []
-          },
-          "metadata": {},
-          "output_type": "display_data"
-        },
-        {
-          "data": {
-            "text/html": [
-              "
\n",
-              "
\n" - ], - "text/plain": [ - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8ae3a7625ea84b19a2addf4eb1ffb8cc", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Flattening the indices: 0%| | 0/46 [00:00\n", - "\n" - ], - "text/plain": [ - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 2min 13s (started: 2023-11-28 13:21:58 +00:00)\n" - ] - } - ], - "source": [ - "distiset = pipeline.generate(\n", - " dataset=dataset,\n", - " num_generations=10,\n", - " batch_size=4\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With the help of the following function we will extract the instructions generated from distiset:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "g9occXMW0CS3", - "outputId": "bf70225b-9ee2-4885-9c81-47c7683e32c7" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of generated instructions: 4637\n", - "time: 60.1 ms (started: 2023-11-28 13:28:33 +00:00)\n" - ] - } - ], - "source": [ - "import re\n", - "\n", - "def transform(inst: str) -> str:\n", - " \"\"\"Remove 1., 2., ... from the instruction.\"\"\"\n", - " clean_inst = re.sub(r'^\\d+\\.\\s*', '', inst)\n", - " return f\"{clean_inst}\"\n", - "\n", - "instructions = [\n", - " transform(instruction)\n", - " for generations in distiset[\"generations\"]\n", - " for generation in generations\n", - " for instruction in generation\n", - " if instruction != \"\"\n", - "]\n", - "print(f\"Number of generated instructions: {len(instructions)}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's print 5 of them to see what they look like:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "HcHu_c4mbwOe", - "outputId": "98cc1456-65a1-45af-c3c8-828b501a1a71" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "How can the concept of probability be applied in real-life scenarios? \n", - "Could you outline the process to solve a quadratic equation using the quadratic formula?\n", - "Explain the process of expanding the binomial expression (x + 3)^2 step by step.\n", - "How can I find the sum of an arithmetic series?\n", - "Explain the concept of factorial and provide an example of its application in real-life scenarios.\n", - "time: 8.4 ms (started: 2023-11-28 14:38:11 +00:00)\n" - ] - } - ], - "source": [ - "import random\n", - "\n", - "samples = random.sample(instructions, 5)\n", - "\n", - "for sample in samples:\n", - " print(sample)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can create a huggingface `Dataset` and push it to the huggingface to use keep track of the instructions:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Sp7lbyfcdmiI", - "outputId": "aceced70-6477-41c2-e082-2277d60ae26d" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 17.8 ms (started: 2023-11-28 13:28:37 +00:00)\n" - ] - } - ], - "source": [ - "dataset = Dataset.from_dict({\"instructions\": instructions})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 131, - "referenced_widgets": [ - "a70c3be9900c41dea86c85490cb77c2d", - "4569748739b54af9a7747d5fa87e2144", - "7da0fbf826de4ef6b5ba7b05ab8a89cb", - "be5024ffd3474ebba98e64bedd61c099", - "9c7c379080e64c3a8f9a78aa30031f91", - "d4204267e89d461e8f062aff5cc8003f", - "ff45dfbcb201400d83fb8d22f80800a3", - "c59a9980b4f041d28b6a8c2d811f3d18", - "c3323dda5eca413480563bbb386054bd", - "f46b736d7dde48deae0513c5bfcd763e", - "f5ba3331c9cf4077952b081d21f27205", - "6db7a2e6384e4d44a9fc8c58cad4606a", - "8a8e63f88c0a44fb826f3cf8db36eff2", - "4e4bcea8214048ab8eef271845fdabb2", - "053d6f9c93d644f1ba0c691c66b470a6", - "48041d0944ab4f4687dcbbff7d43c214", - "b9be4144c87f4750908ac4463a6b4fa0", - "403b06d12fbb4d9ba02ae2f1ac5c50c8", - "529dcb50b22644f28cb7e4a8d3c104ef", - "8c02b949b1ef492d96be7f78efd3ee19", - "fff35ea38e8145c1be5cec4118dc0426", - "257de17ccdf444749f1abde950817562", - "f86181ec9ffa4ef29ee3b1c16415d93e", - "bb09b7b7c3a64a2d8946f22e317e2c22", - "9a44fdab9d2a45a69bdb451aec343f3b", - "7a0debb756874ac2be74b6886a101a77", - "a6df6936d7b84758ac0ed27bccde84a9", - "8ed252b97c1545f69b5041e720e4baf8", - "f21081c0e48149e6bd63a2cb8395788f", - "f3bd4b39e7ab4fc09bb45acd6e4bb4ce", - "cff570609e1245998eb9a86e1223a24f", - "d81431afdfb94a10a6ff349834c2f619", - "b43a4a0aef674280bf4d4a252b951161" - ] - }, - "id": "Y-i23xECc_J7", - "outputId": "6bf3f81b-fa02-40ff-cf7f-a94a38b18db2" - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a70c3be9900c41dea86c85490cb77c2d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Uploading the dataset shards: 0%| | 0/1 [00:00\n" - ], - "text/plain": [] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n",
-              "
\n" - ], - "text/plain": [ - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "81a74705aa8147ee921accc40ff8e7c9", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Flattening the indices: 0%| | 0/100 [00:00\n", - "\n" - ], - "text/plain": [ - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 5min 8s (started: 2023-11-28 13:29:07 +00:00)\n" - ] - } - ], - "source": [ - "distiset_pref = pipeline.generate(\n", - " dataset=dataset.shuffle().select(range(100)),\n", - " num_generations=3,\n", - " batch_size=8\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can inspect the columns of our dataset" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "spYhdTgrCdKG", - "outputId": "15dddde4-e998-43b2-9fce-1c1182ef6508" - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['input',\n", - " 'generation_model',\n", - " 'generation_prompt',\n", - " 'raw_generation_responses',\n", - " 'generations',\n", - " 'labelling_model',\n", - " 'labelling_prompt',\n", - " 'raw_labelling_response',\n", - " 'rating',\n", - " 'rationale']" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 4.16 ms (started: 2023-11-23 16:36:11 +00:00)\n" - ] - } - ], - "source": [ - "distiset_pref.column_names" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And print some of the generations to see what they look like:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "yHGUp0YBCuIV", - "outputId": "4f50039b-3aa6-404d-9eb0-6e1f081578f2" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Instruction: What is the significance of graph theory in computer science and network analysis?\n", - "Graph theory is a fundamental field in mathematics that has significant applications in computer science and network analysis. Here are a few ways it is significant:\n", - "\n", - "1. Network analysis: Graph theory provides a powerful framework for analyzing and understanding complex networks. It helps uncover key properties, such as connectivity, centrality, clustering, and community structure. These insights are essential for designing efficient and reliable networks, managing traffic, identifying vulnerabilities, and optimizing network performance.\n", - "\n", - "2. Data structures and algorithms: Graphs are commonly used as data structures in computer science. They are particularly useful for representing relationships and connections between entities. Many algorithms, such as Dijkstra's algorithm for shortest paths, the traveling salesman problem, and depth-first search, are based on graph theory and are widely employed in various computer science applications.\n", - "\n", - "3. Social networks and web analysis: Graph theory plays a crucial role in analyzing social networks and the structure of the web. It enables us to study patterns of interactions, identify influencers, detect communities, and understand information flow in complex systems like social media platforms and the World Wide Web.\n", - "\n", - "4. Circuit design and optimization: Graph theory aids in circuit design and optimization, especially in electronic and digital systems. By modeling circuits as graphs, engineers can analyze circuit behavior, optimize layouts, and solve various design problems that arise in areas like VLSI (Very Large Scale Integration) and hardware design.\n", - "\n", - "5. Computer graphics and image processing: Graph theory has applications in computer graphics and image processing. Techniques like graph coloring, graph matching, and graph-based segmentation are used for tasks such as color allocation, object recognition, and image compression.\n", - "\n", - "These are just a few examples of how graph theory is significant in computer science and network analysis. Its applications are vast and continue to grow as technology advances.\n", - "\n", - "\n", - "\n", - "Graph theory is highly significant in computer science and network analysis for a variety of reasons:\n", - "\n", - "1. Modeling Relationships: In computer science, graph theory allows us to model and represent complex relationships and dependencies between entities using graphs. This is particularly useful in network analysis, as it helps us understand the connections between nodes in a network, such as the internet or social networks.\n", - "\n", - "2. Algorithm Design: Graph algorithms play a crucial role in solving various computational problems efficiently. Many important algorithms, like Dijkstra's algorithm for finding the shortest path or Prim's algorithm for finding a minimum spanning tree, are based on graph theory. These algorithms are used extensively in network analysis, routing problems, optimizing resource allocation, and many other areas in computer science.\n", - "\n", - "3. Network Analysis: Graph theory provides a powerful framework for analyzing networks, both in theoretical and practical terms. It enables the identification of network structures, such as cliques, communities, or hubs, which helps in understanding network behavior, predicting patterns, and identifying vulnerabilities or bottlenecks.\n", - "\n", - "4. Optimization Problems: Graph theory offers tools for solving various optimization problems that arise in computer science and network analysis. For example, the traveling salesman problem, which seeks the shortest route through a set of cities, can be modeled as a graph problem, allowing the application of graph algorithms to find efficient solutions.\n", - "\n", - "5. Data Structures: Many data structures in computer science, such as trees and adjacency lists, are derived from graph theory. These data structures are fundamental for efficient storage and retrieval of information, and are widely used in implementing algorithms related to networks and other computational domains.\n", - "\n", - "Overall, graph theory provides a theoretical foundation and practical techniques to analyze and solve problems related to networks, computation, and data structures, making it an essential field within computer science and network analysis.\n", - "\n", - "\n", - "\n", - "Graph theory has significant applications in computer science and network analysis. Here are a few key areas where graph theory plays a crucial role:\n", - "\n", - "1. Network Analysis and Social Networks: Graph theory is fundamental to the analysis of complex networks, such as social networks, computer networks, biological networks, and transportation networks. It helps in understanding relationships, connectivity, and patterns within these networks.\n", - "\n", - "2. Data Structures and Algorithms: Many fundamental data structures and algorithms in computer science are based on graphs. Graphs are used to represent and model a variety of problems, including searching, sorting, shortest path algorithms, spanning trees, and flow optimization.\n", - "\n", - "3. Database Systems: Graph databases use graph theory to store and query data in a network-like structure. They enable efficient retrieval and analysis of interconnected data, making them suitable for domains like social media, recommendation systems, and fraud detection.\n", - "\n", - "4. Compiler Design and Code Optimization: Graph theory is employed in compiler design for optimizing code and representing dependencies between program components. Techniques like control flow graphs and data flow analysis utilize graph representations to optimize program execution.\n", - "\n", - "5. Artificial Intelligence and Machine Learning: Graphs are widely used in AI and machine learning to represent complex relationships and dependencies within data. Graph-based algorithms help in tasks like clustering, recommendation systems, community detection, and knowledge representation.\n", - "\n", - "6. Internet and Web Design: Web pages and links can be represented as graphs, enabling algorithms like PageRank to determine the importance and ranking of web pages. Graph theory is also used in studying internet topology, routing algorithms, and network flow optimization.\n", - "\n", - "Graph theory provides a powerful framework for modeling, analyzing, and solving problems in these areas and more. Its concepts and algorithms are essential tools for computer scientists and network analysts.\n", - "\n", - "\n", - "\n", - "time: 1.99 ms (started: 2023-11-23 16:38:05 +00:00)\n" - ] - } - ], - "source": [ - "print(\"Instruction:\", distiset_pref[0][\"input\"])\n", - "for generation in distiset_pref[0][\"generations\"]:\n", - " print(generation, end=\"\\n\\n\\n\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As well a as the rationale:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "FXLA6xjUDANK", - "outputId": "4d61141d-27a0-4f29-e55e-f99d94859710" - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['Text 1 fully aligns with the task goal and restrictions. It provides a comprehensive explanation of the significance of graph theory in computer science and network analysis by discussing multiple applications and how they are relevant in each area.',\n", - " 'Text 2 almost fully aligns with the task goal and restrictions. It covers most of the significant ways graph theory is used in computer science and network analysis, but it could benefit from providing more specific examples or details in some areas.',\n", - " 'Text 3 partially aligns with the task goal and restrictions. While it touches on some key areas where graph theory is significant, it lacks detailed explanations and examples in certain domains such as algorithm design and network analysis. It would benefit from providing a more comprehensive discussion in order to fully meet the requirements.']" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 4.56 ms (started: 2023-11-23 16:39:01 +00:00)\n" - ] - } - ], - "source": [ - "distiset_pref[0][\"rationale\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "f8XNwxnM0ylP" - }, - "source": [ - "## Exporting the generated dataset to Argilla" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are ready now to push our dataset to `Argilla` to check and possibly curate the AI generated data.\n", - "\n", - "Let's connect to our `Argilla` instance:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "3qgRZ9Ub3vG9", - "outputId": "80ae9bb2-831e-4284-a7b8-1d936bbf968a" - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.10/dist-packages/argilla/client/client.py:165: UserWarning: No workspace configuration was detected. To work with Argilla datasets, specify a valid workspace name on `rg.init` or set it up through the `rg.set_workspace` function.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 1.2 s (started: 2023-11-23 15:36:10 +00:00)\n" - ] - } - ], - "source": [ - "import argilla as rg\n", - "\n", - "rg.init(\n", - " api_key=\"owner.apikey\",\n", - " api_url=\"https://gabrielmbmb-distilabel.hf.space\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Create an `Argilla` dataset:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "BCjLWPSZyWov", - "outputId": "76503640-25cd-4b17-c95c-9fedf71d55a1" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 347 ms (started: 2023-11-23 15:36:31 +00:00)\n" - ] - } - ], - "source": [ - "rg_dataset = distiset_pref.to_argilla()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And push it to `Argilla`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "KaMCBrF3ymLp", - "outputId": "37a136e3-e4d4-4da7-b71f-4226a41b78c1" - }, - "outputs": [ - { - "data": { - "text/plain": [ - "RemoteFeedbackDataset(\n", - " id=4232d7ac-eaff-49b0-88b8-3a384b76efbb\n", - " name=math-preference-dataset\n", - " workspace=Workspace(id=2fc2ebed-8d20-41b0-b33a-5c5f3712da53, name=admin, inserted_at=2023-11-23 15:00:40.160242, updated_at=2023-11-23 15:00:40.160242)\n", - " url=https://gabrielmbmb-distilabel.hf.space/dataset/4232d7ac-eaff-49b0-88b8-3a384b76efbb/annotation-mode\n", - " fields=[RemoteTextField(id=UUID('dc965a9c-ac85-449b-ae16-bda998c88c1c'), client=None, name='input', title='Input', required=True, type='text', use_markdown=False), RemoteTextField(id=UUID('0d29f518-a3bf-4642-a7d7-1324329555b7'), client=None, name='generations-1', title='Generations-1', required=True, type='text', use_markdown=False), RemoteTextField(id=UUID('c0541a45-8892-49fb-8b85-fcaa0cd147e0'), client=None, name='generations-2', title='Generations-2', required=True, type='text', use_markdown=False), RemoteTextField(id=UUID('4da8a4b5-553d-4b1d-a14f-b936a313797f'), client=None, name='generations-3', title='Generations-3', required=True, type='text', use_markdown=False)]\n", - " questions=[RemoteRatingQuestion(id=UUID('fb012ff3-5fb7-40c0-b623-d4195c1508c8'), client=None, name='generations-1-rating', title=\"What's the rating for generations-1?\", description=None, required=True, type='rating', values=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), RemoteRatingQuestion(id=UUID('a7f02428-74e4-4497-8f26-803988e5c336'), client=None, name='generations-2-rating', title=\"What's the rating for generations-2?\", description=None, required=True, type='rating', values=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), RemoteRatingQuestion(id=UUID('cbab782f-b0c0-4ff6-8c64-c58ad3ea476a'), client=None, name='generations-3-rating', title=\"What's the rating for generations-3?\", description=None, required=True, type='rating', values=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]), RemoteTextQuestion(id=UUID('405620c5-8aea-4fda-b92b-ee72e90629a9'), client=None, name='ratings-rationale', title=\"What's the rationale behind the ratings?\", description=None, required=True, type='text', use_markdown=False)]\n", - " guidelines=None)" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time: 8.63 s (started: 2023-11-23 15:36:51 +00:00)\n" - ] - } - ], - "source": [ - "rg_dataset.push_to_argilla(name=\"math-preference-dataset\", workspace=\"admin\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusion" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "By this time we have a preference dataset for math topics in `Argilla` generated and labeled with `gpt-3.5-turbo` following the `self-instruct` task. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "00b7e88ff8e44cf684b04ebe3cc4b274": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "0406f9fcf57344e18df41912571a1e7b": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_818d685612e64c648d2fe9703a9f2546", - "placeholder": "​", - "style": "IPY_MODEL_193cdb64301849278f875d5dd0384c4d", - "value": "Generating train split: 100%" - } - }, - "045fd29b122740ccb2d8275a946e5821": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "04c93d170ccf4ba1be322f992979d026": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "053d6f9c93d644f1ba0c691c66b470a6": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_fff35ea38e8145c1be5cec4118dc0426", - "placeholder": "​", - "style": "IPY_MODEL_257de17ccdf444749f1abde950817562", - "value": " 5/5 [00:00<00:00, 196.53ba/s]" - } - }, - "09eabef0eb4b450785acd1bdc84c288a": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0a6761b687eb4149bbf6782a2f42a3f6": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0b2eeb5c882e44ecb0b3b40ad9803f2a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_64cfb92dacc546d68bb7b98e7752874d", - "placeholder": "​", - "style": "IPY_MODEL_88bfc7917f0941779a4d092debd586a4", - "value": "Flattening the indices: 100%" - } - }, - "0f128da9fa534f0f9a929b05735d0b77": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0ff6760331de48659321310d7d65c8b9": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "10cbf7c3ab5f43b9a65073db593c6a5f": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1105c277a48f4c7199bb2fe5721b271c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "11b66141ac604485bbbeb2dc527fa955": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "136d4c25280e4568b2da72c383083809": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "192f2806e0be41c281db874b851b5e16": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "193cdb64301849278f875d5dd0384c4d": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "1af33088160e4fe8b6e36872b69f9305": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d069a54844384b84bd28ffec81b7ff70", - "max": 100, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_1105c277a48f4c7199bb2fe5721b271c", - "value": 100 - } - }, - "21f21f4a6a61423f813d5c2c3a8c5c9b": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_0406f9fcf57344e18df41912571a1e7b", - "IPY_MODEL_71b78f2b7a1c4e75af71be0e0432106b", - "IPY_MODEL_966ec49a14c9448e9fe2eab3296c2353" - ], - "layout": "IPY_MODEL_498f6db56d1b48bd890c55f4e4f76b31" - } - }, - "2284d46253d346258a8de6e86a40d41c": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "248ca88c4f6f41a9b94f04d755d1f74e": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2284d46253d346258a8de6e86a40d41c", - "placeholder": "​", - "style": "IPY_MODEL_ae154b6f0b174c95b339213072b5c17d", - "value": " 100/100 [00:00<00:00, 3138.20 examples/s]" - } - }, - "257de17ccdf444749f1abde950817562": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "3201361e27a7494d886d71fb258644ea": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3ca1e6ebc11a49feb8378c26a26fae9c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_68ba0817a6e14f5699174cb86c56b40e", - "placeholder": "​", - "style": "IPY_MODEL_7cc2a83397be4eb5b142531a6f02348c", - "value": " 100/100 [00:00<00:00, 1792.48 examples/s]" - } - }, - "3d1d079535d74cbeb087ad9071166e44": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3f486e9463734b57a4b7b15b5bdec2a1": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_192f2806e0be41c281db874b851b5e16", - "placeholder": "​", - "style": "IPY_MODEL_ba3f1ba66aec46b3a935f87737e6010c", - "value": "Downloading data files: 100%" - } - }, - "403b06d12fbb4d9ba02ae2f1ac5c50c8": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "40ed572163424db79acf3a1a7756a012": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "410332859a4841d1ba9489e5d8c26179": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "43c4a6e7a7434f37b6304d95ca2037be": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_f141d5ca824247caa4e3efd1f296e9e9", - "IPY_MODEL_c2ce6931c3aa4e4ba22ecdb2877a9b3f", - "IPY_MODEL_73472f8c50a94e3c813b2df4e0c0a0f2" - ], - "layout": "IPY_MODEL_0f128da9fa534f0f9a929b05735d0b77" - } - }, - "4569748739b54af9a7747d5fa87e2144": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d4204267e89d461e8f062aff5cc8003f", - "placeholder": "​", - "style": "IPY_MODEL_ff45dfbcb201400d83fb8d22f80800a3", - "value": "Uploading the dataset shards: 100%" - } - }, - "46630688a04841b1826c23efcd5647ae": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_dfd124bd3bf544ddb0cce28b185b579f", - "placeholder": "​", - "style": "IPY_MODEL_cd1cebe82e5c4b148f19a19fd2a02d73", - "value": "Downloading data: 100%" - } - }, - "48041d0944ab4f4687dcbbff7d43c214": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "491a9528856e491ab98ab505b120f44a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_40ed572163424db79acf3a1a7756a012", - "placeholder": "​", - "style": "IPY_MODEL_71c90cf99b104cf0818db65b32e5993a", - "value": " 151k/151k [00:01<00:00, 93.0kB/s]" - } - }, - "498f6db56d1b48bd890c55f4e4f76b31": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4cb2d2df76eb473daff13135f955d793": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_10cbf7c3ab5f43b9a65073db593c6a5f", - "max": 46, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_8f162bcb090f45e7bbbe7c7821f542bd", - "value": 46 - } - }, - "4cf4b1ed25584696a33a8130480dca11": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "4e4bcea8214048ab8eef271845fdabb2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_529dcb50b22644f28cb7e4a8d3c104ef", - "max": 5, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_8c02b949b1ef492d96be7f78efd3ee19", - "value": 5 - } - }, - "5206e5bd166b430c8bef4c88f2a84988": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "529dcb50b22644f28cb7e4a8d3c104ef": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "55dac2a9d476474cb1781a8259dadf00": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "58cb8e9389cb4096af13a62b1365718a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "59772cc217a44d59a7bf6524c3640d24": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7161cea9043342eaab6b21a7ce467f4e", - "placeholder": "​", - "style": "IPY_MODEL_b83d664100734020bf29a587d1dcaef4", - "value": " 1/1 [00:00<00:00, 41.92it/s]" - } - }, - "5b2711e72956414d86c91eafab1bc945": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "63677978f5b248a881d59970b29cfb08": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "64cfb92dacc546d68bb7b98e7752874d": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6703f5738f904c97931b7988e15e46de": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a9788ac98de44a75953d1e4a79368493", - "placeholder": "​", - "style": "IPY_MODEL_838d5062812c4394852537ce6330e281", - "value": "Map: 100%" - } - }, - "68ba0817a6e14f5699174cb86c56b40e": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6db7a2e6384e4d44a9fc8c58cad4606a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_8a8e63f88c0a44fb826f3cf8db36eff2", - "IPY_MODEL_4e4bcea8214048ab8eef271845fdabb2", - "IPY_MODEL_053d6f9c93d644f1ba0c691c66b470a6" - ], - "layout": "IPY_MODEL_48041d0944ab4f4687dcbbff7d43c214" - } - }, - "701d81b74f8b4e25be9529329f9bf9e2": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7161cea9043342eaab6b21a7ce467f4e": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "71b78f2b7a1c4e75af71be0e0432106b": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_cad755038ed44cd7bf8b21cd6f79649f", - "max": 4699, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_78aeeadb7eef474c96297d857d946f15", - "value": 4699 - } - }, - "71c90cf99b104cf0818db65b32e5993a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "725fa9cb841948f8abb96a2af2b60aab": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_46630688a04841b1826c23efcd5647ae", - "IPY_MODEL_be95e7f0ac4e46c6a3345f99897a8152", - "IPY_MODEL_491a9528856e491ab98ab505b120f44a" - ], - "layout": "IPY_MODEL_3d1d079535d74cbeb087ad9071166e44" - } - }, - "73472f8c50a94e3c813b2df4e0c0a0f2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_8b6a41b282f349d5b09b2e1475064c58", - "placeholder": "​", - "style": "IPY_MODEL_4cf4b1ed25584696a33a8130480dca11", - "value": " 461/461 [00:00<00:00, 22.7kB/s]" - } - }, - "78aeeadb7eef474c96297d857d946f15": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "7a0debb756874ac2be74b6886a101a77": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d81431afdfb94a10a6ff349834c2f619", - "placeholder": "​", - "style": "IPY_MODEL_b43a4a0aef674280bf4d4a252b951161", - "value": " 444/444 [00:00<00:00, 29.3kB/s]" - } - }, - "7cc2a83397be4eb5b142531a6f02348c": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7da0fbf826de4ef6b5ba7b05ab8a89cb": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c59a9980b4f041d28b6a8c2d811f3d18", - "max": 1, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_c3323dda5eca413480563bbb386054bd", - "value": 1 - } - }, - "7f27083a093a4f43a613496689bf3f25": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "818d685612e64c648d2fe9703a9f2546": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "81a74705aa8147ee921accc40ff8e7c9": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ba336b33ed254c12996eb403ceef01ec", - "IPY_MODEL_1af33088160e4fe8b6e36872b69f9305", - "IPY_MODEL_248ca88c4f6f41a9b94f04d755d1f74e" - ], - "layout": "IPY_MODEL_3201361e27a7494d886d71fb258644ea" - } - }, - "838d5062812c4394852537ce6330e281": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "88bfc7917f0941779a4d092debd586a4": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "89b6500564934e748e997db520c8c9d7": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8a8e63f88c0a44fb826f3cf8db36eff2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b9be4144c87f4750908ac4463a6b4fa0", - "placeholder": "​", - "style": "IPY_MODEL_403b06d12fbb4d9ba02ae2f1ac5c50c8", - "value": "Creating parquet from Arrow format: 100%" - } - }, - "8ae3a7625ea84b19a2addf4eb1ffb8cc": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_0b2eeb5c882e44ecb0b3b40ad9803f2a", - "IPY_MODEL_4cb2d2df76eb473daff13135f955d793", - "IPY_MODEL_c2eabf12fcbf4e75a5ef794ba1ad13e5" - ], - "layout": "IPY_MODEL_df72140b3c544c6a96a0579bfc2e1c73" - } - }, - "8b6a41b282f349d5b09b2e1475064c58": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8c02b949b1ef492d96be7f78efd3ee19": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "8ed252b97c1545f69b5041e720e4baf8": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8f162bcb090f45e7bbbe7c7821f542bd": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "917fe1bfc31340f7a764f288061bda44": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "92393b4544f844fdb6deb06b919f7840": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "966ec49a14c9448e9fe2eab3296c2353": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_89b6500564934e748e997db520c8c9d7", - "placeholder": "​", - "style": "IPY_MODEL_63677978f5b248a881d59970b29cfb08", - "value": " 4699/4699 [00:00<00:00, 101428.27 examples/s]" - } - }, - "968dde0bd67249c4896f98a4a7fcaedb": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9a44fdab9d2a45a69bdb451aec343f3b": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "FloatProgressModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f3bd4b39e7ab4fc09bb45acd6e4bb4ce", - "max": 444, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_cff570609e1245998eb9a86e1223a24f", - "value": 444 - } - }, - "9a7bd9d737314a058cdbaac6299a2d13": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_be3deee31bfa4fc899dafa4ef95b14eb", - "IPY_MODEL_c73e97940fe44cad9164ffe817d9c3e5", - "IPY_MODEL_3ca1e6ebc11a49feb8378c26a26fae9c" - ], - "layout": "IPY_MODEL_c0008c6dc2c84ae0b8cf6a1fbcd88f78" - } - }, - "9c7c379080e64c3a8f9a78aa30031f91": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9e91e2e8a54d4b9286c172751bda4210": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9ed18bd25f104594912e6e5fc05cd714": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_fbcd6c8c4e10489f88bc68ed5dff3f1c", - "placeholder": "​", - "style": "IPY_MODEL_a7c54e1c6f3e4f8ab6125579623d4dfd", - "value": "Extracting data files: 100%" - } - }, - "a59390c35ecb420397e5f219b4421f0b": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a6df6936d7b84758ac0ed27bccde84a9": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a70c3be9900c41dea86c85490cb77c2d": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HBoxModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_4569748739b54af9a7747d5fa87e2144", - "IPY_MODEL_7da0fbf826de4ef6b5ba7b05ab8a89cb", - "IPY_MODEL_be5024ffd3474ebba98e64bedd61c099" - ], - "layout": "IPY_MODEL_9c7c379080e64c3a8f9a78aa30031f91" - } - }, - "a7c54e1c6f3e4f8ab6125579623d4dfd": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a9788ac98de44a75953d1e4a79368493": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "1.2.0", - "model_name": "LayoutModel", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ae154b6f0b174c95b339213072b5c17d": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b1d20ef79d984b7f8f92b1eec06e5626": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "b43a4a0aef674280bf4d4a252b951161": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b54f5d7a96184fb4ae7fc1974f5dbcc2": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "HTMLModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0a6761b687eb4149bbf6782a2f42a3f6", - "placeholder": "​", - "style": "IPY_MODEL_b584e8af0ed343be9037118fb9a8f6ea", - "value": " 1/1 [00:01<00:00, 1.65s/it]" - } - }, - "b584e8af0ed343be9037118fb9a8f6ea": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "DescriptionStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b58e824d7f8d49c286d65282c8986a9a": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "1.5.0", - "model_name": "ProgressStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "b689c54bb1584819a688a3a5ddadc244": { - "model_module": "@jupyter-widgets/output", - "model_module_version": "1.0.0", - "model_name": "OutputModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_136d4c25280e4568b2da72c383083809", - "msg_id": "", - "outputs": [ - { - "data": { - "text/html": "
\n",
-                  "text/plain": ""
-                },
-                "metadata": {},
-                "output_type": "display_data"
-              }
-            ]
-          }
-        },
-        "b83d664100734020bf29a587d1dcaef4": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "b9be4144c87f4750908ac4463a6b4fa0": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "ba336b33ed254c12996eb403ceef01ec": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_701d81b74f8b4e25be9529329f9bf9e2",
-            "placeholder": "​",
-            "style": "IPY_MODEL_00b7e88ff8e44cf684b04ebe3cc4b274",
-            "value": "Flattening the indices: 100%"
-          }
-        },
-        "ba3f1ba66aec46b3a935f87737e6010c": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "bb09b7b7c3a64a2d8946f22e317e2c22": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_8ed252b97c1545f69b5041e720e4baf8",
-            "placeholder": "​",
-            "style": "IPY_MODEL_f21081c0e48149e6bd63a2cb8395788f",
-            "value": "README.md: 100%"
-          }
-        },
-        "be3deee31bfa4fc899dafa4ef95b14eb": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_dc3c59fe20e841309267c6b12430f320",
-            "placeholder": "​",
-            "style": "IPY_MODEL_968dde0bd67249c4896f98a4a7fcaedb",
-            "value": "Map: 100%"
-          }
-        },
-        "be5024ffd3474ebba98e64bedd61c099": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_f46b736d7dde48deae0513c5bfcd763e",
-            "placeholder": "​",
-            "style": "IPY_MODEL_f5ba3331c9cf4077952b081d21f27205",
-            "value": " 1/1 [00:00<00:00,  1.64it/s]"
-          }
-        },
-        "be95e7f0ac4e46c6a3345f99897a8152": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "FloatProgressModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "FloatProgressModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "ProgressView",
-            "bar_style": "success",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_917fe1bfc31340f7a764f288061bda44",
-            "max": 150900,
-            "min": 0,
-            "orientation": "horizontal",
-            "style": "IPY_MODEL_b1d20ef79d984b7f8f92b1eec06e5626",
-            "value": 150900
-          }
-        },
-        "c0008c6dc2c84ae0b8cf6a1fbcd88f78": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "c1948088ad0b43719e672251bea3c72b": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "FloatProgressModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "FloatProgressModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "ProgressView",
-            "bar_style": "success",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_5206e5bd166b430c8bef4c88f2a84988",
-            "max": 1,
-            "min": 0,
-            "orientation": "horizontal",
-            "style": "IPY_MODEL_fa9b584ceb164692b53ed07ac9f094a2",
-            "value": 1
-          }
-        },
-        "c21550505dc747b59cfa9cb6f613b36d": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_9e91e2e8a54d4b9286c172751bda4210",
-            "placeholder": "​",
-            "style": "IPY_MODEL_e40f93919d4f4191bed73f84400b8841",
-            "value": " 46/46 [00:00<00:00, 1113.92 examples/s]"
-          }
-        },
-        "c2ce6931c3aa4e4ba22ecdb2877a9b3f": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "FloatProgressModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "FloatProgressModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "ProgressView",
-            "bar_style": "success",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_5b2711e72956414d86c91eafab1bc945",
-            "max": 461,
-            "min": 0,
-            "orientation": "horizontal",
-            "style": "IPY_MODEL_92393b4544f844fdb6deb06b919f7840",
-            "value": 461
-          }
-        },
-        "c2eabf12fcbf4e75a5ef794ba1ad13e5": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_7f27083a093a4f43a613496689bf3f25",
-            "placeholder": "​",
-            "style": "IPY_MODEL_58cb8e9389cb4096af13a62b1365718a",
-            "value": " 46/46 [00:00<00:00, 1618.92 examples/s]"
-          }
-        },
-        "c3323dda5eca413480563bbb386054bd": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "ProgressStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "ProgressStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "bar_color": null,
-            "description_width": ""
-          }
-        },
-        "c59a9980b4f041d28b6a8c2d811f3d18": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "c603976fe242402588a9cf9d29d924c8": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "c73e97940fe44cad9164ffe817d9c3e5": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "FloatProgressModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "FloatProgressModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "ProgressView",
-            "bar_style": "success",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_04c93d170ccf4ba1be322f992979d026",
-            "max": 100,
-            "min": 0,
-            "orientation": "horizontal",
-            "style": "IPY_MODEL_045fd29b122740ccb2d8275a946e5821",
-            "value": 100
-          }
-        },
-        "c7872208b499442b8ac64406e9253356": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "FloatProgressModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "FloatProgressModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "ProgressView",
-            "bar_style": "success",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_c603976fe242402588a9cf9d29d924c8",
-            "max": 1,
-            "min": 0,
-            "orientation": "horizontal",
-            "style": "IPY_MODEL_55dac2a9d476474cb1781a8259dadf00",
-            "value": 1
-          }
-        },
-        "cad755038ed44cd7bf8b21cd6f79649f": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "cd1cebe82e5c4b148f19a19fd2a02d73": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "cff570609e1245998eb9a86e1223a24f": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "ProgressStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "ProgressStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "bar_color": null,
-            "description_width": ""
-          }
-        },
-        "d069a54844384b84bd28ffec81b7ff70": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "d11504d1e86c444b9dbc11272288005d": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HBoxModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HBoxModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HBoxView",
-            "box_style": "",
-            "children": [
-              "IPY_MODEL_6703f5738f904c97931b7988e15e46de",
-              "IPY_MODEL_e4b04e0d97cf4058a0dc3523e09dd3fc",
-              "IPY_MODEL_c21550505dc747b59cfa9cb6f613b36d"
-            ],
-            "layout": "IPY_MODEL_11b66141ac604485bbbeb2dc527fa955"
-          }
-        },
-        "d4204267e89d461e8f062aff5cc8003f": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "d81431afdfb94a10a6ff349834c2f619": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "db7122df29344250bdc5f3dabb6bcaf5": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HBoxModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HBoxModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HBoxView",
-            "box_style": "",
-            "children": [
-              "IPY_MODEL_9ed18bd25f104594912e6e5fc05cd714",
-              "IPY_MODEL_c1948088ad0b43719e672251bea3c72b",
-              "IPY_MODEL_59772cc217a44d59a7bf6524c3640d24"
-            ],
-            "layout": "IPY_MODEL_0ff6760331de48659321310d7d65c8b9"
-          }
-        },
-        "dc3c59fe20e841309267c6b12430f320": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "df72140b3c544c6a96a0579bfc2e1c73": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "dfd124bd3bf544ddb0cce28b185b579f": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "e40f93919d4f4191bed73f84400b8841": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "e4b04e0d97cf4058a0dc3523e09dd3fc": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "FloatProgressModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "FloatProgressModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "ProgressView",
-            "bar_style": "success",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_f98e13d7856d4b92b201fe13e0ad233d",
-            "max": 46,
-            "min": 0,
-            "orientation": "horizontal",
-            "style": "IPY_MODEL_b58e824d7f8d49c286d65282c8986a9a",
-            "value": 46
-          }
-        },
-        "ed6bb95873274484935129f6a4cdaa4d": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HBoxModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HBoxModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HBoxView",
-            "box_style": "",
-            "children": [
-              "IPY_MODEL_3f486e9463734b57a4b7b15b5bdec2a1",
-              "IPY_MODEL_c7872208b499442b8ac64406e9253356",
-              "IPY_MODEL_b54f5d7a96184fb4ae7fc1974f5dbcc2"
-            ],
-            "layout": "IPY_MODEL_a59390c35ecb420397e5f219b4421f0b"
-          }
-        },
-        "f141d5ca824247caa4e3efd1f296e9e9": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HTMLModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HTMLModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HTMLView",
-            "description": "",
-            "description_tooltip": null,
-            "layout": "IPY_MODEL_09eabef0eb4b450785acd1bdc84c288a",
-            "placeholder": "​",
-            "style": "IPY_MODEL_410332859a4841d1ba9489e5d8c26179",
-            "value": "Downloading readme: 100%"
-          }
-        },
-        "f21081c0e48149e6bd63a2cb8395788f": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "f3bd4b39e7ab4fc09bb45acd6e4bb4ce": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "f46b736d7dde48deae0513c5bfcd763e": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "f5ba3331c9cf4077952b081d21f27205": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "f86181ec9ffa4ef29ee3b1c16415d93e": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "HBoxModel",
-          "state": {
-            "_dom_classes": [],
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "HBoxModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/controls",
-            "_view_module_version": "1.5.0",
-            "_view_name": "HBoxView",
-            "box_style": "",
-            "children": [
-              "IPY_MODEL_bb09b7b7c3a64a2d8946f22e317e2c22",
-              "IPY_MODEL_9a44fdab9d2a45a69bdb451aec343f3b",
-              "IPY_MODEL_7a0debb756874ac2be74b6886a101a77"
-            ],
-            "layout": "IPY_MODEL_a6df6936d7b84758ac0ed27bccde84a9"
-          }
-        },
-        "f98e13d7856d4b92b201fe13e0ad233d": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "fa9b584ceb164692b53ed07ac9f094a2": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "ProgressStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "ProgressStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "bar_color": null,
-            "description_width": ""
-          }
-        },
-        "fbcd6c8c4e10489f88bc68ed5dff3f1c": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        },
-        "ff45dfbcb201400d83fb8d22f80800a3": {
-          "model_module": "@jupyter-widgets/controls",
-          "model_module_version": "1.5.0",
-          "model_name": "DescriptionStyleModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/controls",
-            "_model_module_version": "1.5.0",
-            "_model_name": "DescriptionStyleModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "StyleView",
-            "description_width": ""
-          }
-        },
-        "fff35ea38e8145c1be5cec4118dc0426": {
-          "model_module": "@jupyter-widgets/base",
-          "model_module_version": "1.2.0",
-          "model_name": "LayoutModel",
-          "state": {
-            "_model_module": "@jupyter-widgets/base",
-            "_model_module_version": "1.2.0",
-            "_model_name": "LayoutModel",
-            "_view_count": null,
-            "_view_module": "@jupyter-widgets/base",
-            "_view_module_version": "1.2.0",
-            "_view_name": "LayoutView",
-            "align_content": null,
-            "align_items": null,
-            "align_self": null,
-            "border": null,
-            "bottom": null,
-            "display": null,
-            "flex": null,
-            "flex_flow": null,
-            "grid_area": null,
-            "grid_auto_columns": null,
-            "grid_auto_flow": null,
-            "grid_auto_rows": null,
-            "grid_column": null,
-            "grid_gap": null,
-            "grid_row": null,
-            "grid_template_areas": null,
-            "grid_template_columns": null,
-            "grid_template_rows": null,
-            "height": null,
-            "justify_content": null,
-            "justify_items": null,
-            "left": null,
-            "margin": null,
-            "max_height": null,
-            "max_width": null,
-            "min_height": null,
-            "min_width": null,
-            "object_fit": null,
-            "object_position": null,
-            "order": null,
-            "overflow": null,
-            "overflow_x": null,
-            "overflow_y": null,
-            "padding": null,
-            "right": null,
-            "top": null,
-            "visibility": null,
-            "width": null
-          }
-        }
-      }
-    }
-  },
-  "nbformat": 4,
-  "nbformat_minor": 0
-}
diff --git a/mkdocs.yml b/mkdocs.yml
index dd95f5c26f..4bdf99f784 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -80,7 +80,6 @@ nav:
     - learn/index.md
     - Tutorials:
       - learn/tutorials/index.md
-      - Create a Preference Dataset: learn/tutorials/nb-preference-dataset.ipynb
     - User Guides:
       - learn/user-guides/index.md
   - Technical References:

From 7fd9d8b078d43b5027f6dffe9c3be0307e59a011 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Thu, 14 Dec 2023 10:38:20 +0100
Subject: [PATCH 18/31] docs: apply suggestions from code review

Co-authored-by: Daniel Vila Suero 
---
 docs/learn/index.md               | 2 +-
 docs/learn/tutorials/index.md     | 2 +-
 docs/learn/user-guides/index.md   | 2 +-
 docs/technical-reference/index.md | 4 ++--
 docs/technical-reference/llms.md  | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/learn/index.md b/docs/learn/index.md
index 6a1b5fa331..7ba72a8a71 100644
--- a/docs/learn/index.md
+++ b/docs/learn/index.md
@@ -1,5 +1,5 @@
 # Learn
 
-This section serves as the reference guide for harnessing the capabilities of `distilabel`. Explore tutorials and guides that delve into the technical aspects of utilizing `distilabel`.
+This section is the guide for using `distilabel`. It contains tutorials and guides that delve into the technical aspects of utilizing `distilabel`.
 
 Consider this your initial step towards mastering the intricacies of `distilabel` for expert AI Feedback dataset crafting.
\ No newline at end of file
diff --git a/docs/learn/tutorials/index.md b/docs/learn/tutorials/index.md
index cb7f8c8963..4b46d3e620 100644
--- a/docs/learn/tutorials/index.md
+++ b/docs/learn/tutorials/index.md
@@ -3,4 +3,4 @@
 !!! warning "🚧 Work in Progress"
     This page is a work in progress.
     
-This section contains lessons that will guide you step by step to create different types of datasets with the help of `distilabel`.
+This section will guide you step by step to create different datasets types with `distilabel`.
diff --git a/docs/learn/user-guides/index.md b/docs/learn/user-guides/index.md
index 33b0376e19..62dd65bf19 100644
--- a/docs/learn/user-guides/index.md
+++ b/docs/learn/user-guides/index.md
@@ -3,4 +3,4 @@
 !!! warning "🚧 Work in Progress"
     This page is a work in progress.
 
-In this section you will find guides that will help you understand the different components of `distilabel`.
+This section explains the main components of `distilabel`.
diff --git a/docs/technical-reference/index.md b/docs/technical-reference/index.md
index 10085bfa5c..a437cdd477 100644
--- a/docs/technical-reference/index.md
+++ b/docs/technical-reference/index.md
@@ -1,7 +1,7 @@
 # Technical reference
 
-This is your place for the technical references of `distilabel`. Here you will find the different components of the library and how they interact with each other.
+This section contains the technical references of `distilabel`. It gives an overview of the core components and how they interact with each other.
 
 You can navigate through the different concepts to have an overview of what's available, or go directly to the specific part of the API in the API Reference.
 
-If you are not already familiar with the different components, please consider taking a look at the [concepts](../concepts.md) first.
\ No newline at end of file
+If you are not familiar with the different components, consider taking a look at the [concepts](../concepts.md) first.
\ No newline at end of file
diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index d2a6c849e0..210704627e 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -98,7 +98,7 @@ For the API reference visit [vLLM][distilabel.llm.vllm.vLLM].
 
 ## Huggingface LLMs
 
-In this section we differentiate between two different ways of working with the huggingface's models:
+This section explains two different ways to use huggingface's models:
 
 ### Transformers
 

From 43a04be6704e455f62fd803f218e6bd2550142d7 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Thu, 14 Dec 2023 14:18:24 +0100
Subject: [PATCH 19/31] docs: add suggestions from code review and move code
 snippets to its folder

---
 docs/learn/index.md                           |   2 -
 .../learn/llms/inference-endpoints-llm.py     |  40 ---
 .../learn/tasks/llama2-qa-task-0001.py        |  19 --
 .../llm/inference_endpoint_generate.py        |  24 ++
 .../llm/llamacpp_generate.py                  |  19 ++
 .../llm/openai_generate.py                    |  18 ++
 .../llm/transformers_generate.py              |  17 ++
 .../technical-reference/pipeline/argilla.py   |   6 +
 .../technical-reference/pipeline/pipe_1.py    |  23 ++
 .../technical-reference/pipeline/pipe_2.py    |  15 ++
 .../technical-reference/pipeline/pipe_3.py    |  27 ++
 .../pipeline/pipeline_generator_1.py          |  20 ++
 .../pipeline/pipeline_generator_2.py          |   6 +
 .../pipeline/pipeline_generator_3.py          |  39 +++
 .../pipeline/pipeline_labeller_1.py           |  16 ++
 .../pipeline/pipeline_labeller_2.py           |  18 ++
 .../pipeline/pipeline_labeller_3.py           |   9 +
 .../pipeline/pipeline_labeller_generator_1.py |  27 ++
 .../pipeline/pipeline_labeller_generator_2.py |   6 +
 .../pipeline/pipeline_labeller_generator_3.py |  45 ++++
 .../tasks/generic_llama2_textgeneration.py    |   9 +
 .../tasks/generic_openai_self_instruct.py     |  13 +
 .../tasks/generic_openai_textgeneration.py    |   8 +
 .../tasks/generic_transformersllm.py          |   9 +
 .../tasks/openai_for_helpfulness.py           |   8 +
 .../tasks/openai_for_honesty.py               |   8 +
 .../tasks/openai_for_instruction_following.py |   9 +
 .../tasks/openai_for_text_quality.py          |   9 +
 .../tasks/openai_for_truthfulness.py          |   9 +
 .../tasks/openai_judgelm.py                   |   6 +
 .../tasks/openai_ultrajudge.py                |   6 +
 .../tasks/ultrafeedback.py                    |  29 ++
 .../technical-reference/tasks/ultrajudge.py   |  13 +
 docs/technical-reference/index.md             |   4 +-
 docs/technical-reference/llms.md              |  93 ++-----
 docs/technical-reference/pipeline.md          | 253 +-----------------
 docs/technical-reference/tasks.md             | 132 +--------
 37 files changed, 519 insertions(+), 495 deletions(-)
 delete mode 100644 docs/snippets/learn/llms/inference-endpoints-llm.py
 delete mode 100644 docs/snippets/learn/tasks/llama2-qa-task-0001.py
 create mode 100644 docs/snippets/technical-reference/llm/inference_endpoint_generate.py
 create mode 100644 docs/snippets/technical-reference/llm/llamacpp_generate.py
 create mode 100644 docs/snippets/technical-reference/llm/openai_generate.py
 create mode 100644 docs/snippets/technical-reference/llm/transformers_generate.py
 create mode 100644 docs/snippets/technical-reference/pipeline/argilla.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipe_1.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipe_2.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipe_3.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_generator_1.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_generator_2.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_generator_3.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_labeller_1.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py
 create mode 100644 docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py
 create mode 100644 docs/snippets/technical-reference/tasks/generic_llama2_textgeneration.py
 create mode 100644 docs/snippets/technical-reference/tasks/generic_openai_self_instruct.py
 create mode 100644 docs/snippets/technical-reference/tasks/generic_openai_textgeneration.py
 create mode 100644 docs/snippets/technical-reference/tasks/generic_transformersllm.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_for_helpfulness.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_for_honesty.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_for_instruction_following.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_for_text_quality.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_for_truthfulness.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_judgelm.py
 create mode 100644 docs/snippets/technical-reference/tasks/openai_ultrajudge.py
 create mode 100644 docs/snippets/technical-reference/tasks/ultrafeedback.py
 create mode 100644 docs/snippets/technical-reference/tasks/ultrajudge.py

diff --git a/docs/learn/index.md b/docs/learn/index.md
index 7ba72a8a71..6ecb423ba4 100644
--- a/docs/learn/index.md
+++ b/docs/learn/index.md
@@ -1,5 +1,3 @@
 # Learn
 
 This section is the guide for using `distilabel`. It contains tutorials and guides that delve into the technical aspects of utilizing `distilabel`.
-
-Consider this your initial step towards mastering the intricacies of `distilabel` for expert AI Feedback dataset crafting.
\ No newline at end of file
diff --git a/docs/snippets/learn/llms/inference-endpoints-llm.py b/docs/snippets/learn/llms/inference-endpoints-llm.py
deleted file mode 100644
index c378490b73..0000000000
--- a/docs/snippets/learn/llms/inference-endpoints-llm.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import os
-
-from distilabel.llm import InferenceEndpointsLLM
-from distilabel.tasks import Llama2TextGenerationTask, Prompt
-
-
-class Llama2QuestionAnsweringTask(Llama2TextGenerationTask):
-    def generate_prompt(self, question: str) -> str:
-        return Prompt(
-            system_prompt=self.system_prompt,
-            formatted_prompt=question,
-        ).format_as("llama2")  # type: ignore
-
-    def parse_output(self, output: str) -> dict[str, str]:
-        return {"answer": output.strip()}
-
-    def input_args_names(self) -> list[str]:
-        return ["question"]
-
-    def output_args_names(self) -> list[str]:
-        return ["answer"]
-
-
-llm = InferenceEndpointsLLM(
-    endpoint_name=os.getenv("HF_INFERENCE_ENDPOINT_NAME"),  # type: ignore
-    endpoint_namespace=os.getenv("HF_NAMESPACE"),  # type: ignore
-    token=os.getenv("HF_TOKEN") or None,
-    task=Llama2QuestionAnsweringTask(),
-)
-print(llm.generate([{"question": "What's the capital of Spain?"}]))
-# Output: [
-#   [{
-#       'model_name': 'HuggingFaceH4/zephyr-7b-beta',
-#       'prompt_used': "[INST] <>\nYou are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.<>\n\nWhat's the capital of Spain? [/INST]",
-#       'raw_output': "\n<>\nThe capital of Spain is Madrid. Other major cities in Spain include Barcelona, Valencia, Seville, and Bilbao. Madrid is the largest city in Spain and serves as the country's political, economic, and cultural center. It is home to many famous landmarks, such as the Royal Palace, the Prado Museum, and the Plaza Mayor.",
-#       'parsed_output': {
-#           'answer': "<>\nThe capital of Spain is Madrid. Other major cities in Spain include Barcelona, Valencia, Seville, and Bilbao. Madrid is the largest city in Spain and serves as the country's political, economic, and cultural center. It is home to many famous landmarks, such as the Royal Palace, the Prado Museum, and the Plaza Mayor.
-#       },
-#   }]
-# ]
diff --git a/docs/snippets/learn/tasks/llama2-qa-task-0001.py b/docs/snippets/learn/tasks/llama2-qa-task-0001.py
deleted file mode 100644
index 566f02f0b4..0000000000
--- a/docs/snippets/learn/tasks/llama2-qa-task-0001.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from typing import Dict
-
-from distilabel.tasks import Llama2TextGenerationTask, Prompt
-
-class Llama2QuestionAnsweringTask(Llama2TextGenerationTask):
-    def generate_prompt(self, question: str) -> str:
-        return Prompt(
-            system_prompt=self.system_prompt,
-            formatted_prompt=question,
-        ).format_as("llama2")  # type: ignore
-
-    def parse_output(self, output: str) -> Dict[str, str]:
-        return {"answer": output.strip()}
-
-    def input_args_names(self) -> list[str]:
-        return ["question"]
-
-    def output_args_names(self) -> list[str]:
-        return ["answer"]
\ No newline at end of file
diff --git a/docs/snippets/technical-reference/llm/inference_endpoint_generate.py b/docs/snippets/technical-reference/llm/inference_endpoint_generate.py
new file mode 100644
index 0000000000..56acc68a14
--- /dev/null
+++ b/docs/snippets/technical-reference/llm/inference_endpoint_generate.py
@@ -0,0 +1,24 @@
+import os
+
+from distilabel.llm import InferenceEndpointsLLM
+from distilabel.tasks import TextGenerationTask
+
+endpoint_name = "aws-notus-7b-v1-4052" or os.getenv("HF_INFERENCE_ENDPOINT_NAME")
+endpoint_namespace = "argilla" or os.getenv("HF_NAMESPACE")
+token = os.getenv("HF_TOKEN")  # hf_...
+
+llm = InferenceEndpointsLLM(
+    endpoint_name=endpoint_name,
+    endpoint_namespace=endpoint_namespace,
+    token=token,
+    task=TextGenerationTask(),
+    max_new_tokens=512,
+    prompt_format="notus",
+)
+result = llm.generate([{"input": "What are critique LLMs?"}])
+# print(result[0][0]["parsed_output"]["generations"])
+# Critique LLMs (Long Land Moore Machines) are artificial intelligence models designed specifically for analyzing and evaluating the quality or worth of a particular subject or object. These models can be trained on a large dataset of reviews, ratings, or commentary related to a product, service, artwork, or any other topic of interest.
+# The training data can include both positive and negative feedback, helping the LLM to understand the nuanced aspects of quality and value. The model uses natural language processing (NLP) techniques to extract meaningful insights, including sentiment analysis, entity recognition, and text classification.
+# Once the model is trained, it can be used to analyze new input data and provide a critical assessment based on its learned understanding of quality and value. For example, a critique LLM for movies could evaluate a new film and generate a detailed review highlighting its strengths, weaknesses, and overall rating.
+# Critique LLMs are becoming increasingly useful in various industries, such as e-commerce, education, and entertainment, where they can provide objective and reliable feedback to help guide decision-making processes. They can also aid in content optimization by highlighting areas of improvement or recommending strategies for enhancing user engagement.
+# In summary, critique LLMs are powerful tools for analyzing and evaluating the quality or worth of different subjects or objects, helping individuals and organizations make informed decisions with confidence.
diff --git a/docs/snippets/technical-reference/llm/llamacpp_generate.py b/docs/snippets/technical-reference/llm/llamacpp_generate.py
new file mode 100644
index 0000000000..78dbfef7fa
--- /dev/null
+++ b/docs/snippets/technical-reference/llm/llamacpp_generate.py
@@ -0,0 +1,19 @@
+from distilabel.llm import LlamaCppLLM
+from distilabel.tasks import TextGenerationTask
+from llama_cpp import Llama
+
+# Instantiate our LLM with them:
+llm = LlamaCppLLM(
+    model=Llama(model_path="./notus-7b-v1.q4_k_m.gguf", n_gpu_layers=-1),
+    task=TextGenerationTask(),
+    max_new_tokens=128,
+    temperature=0.3,
+    prompt_format="notus",
+)
+
+result_llamacpp = llm.generate([{"input": "What is the capital of Spain?"}])
+# >>> print(result_llamacpp[0][0]["parsed_output"]["generations"])
+# The capital of Spain is Madrid. It is located in the center of the country and
+# is known for its vibrant culture, beautiful architecture, and delicious food.
+# Madrid is home to many famous landmarks such as the Prado Museum, Retiro Park,
+# and the Royal Palace of Madrid. I hope this information helps!
diff --git a/docs/snippets/technical-reference/llm/openai_generate.py b/docs/snippets/technical-reference/llm/openai_generate.py
new file mode 100644
index 0000000000..16d827712a
--- /dev/null
+++ b/docs/snippets/technical-reference/llm/openai_generate.py
@@ -0,0 +1,18 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import OpenAITextGenerationTask
+
+openaillm = OpenAILLM(
+    model="gpt-3.5-turbo",
+    task=OpenAITextGenerationTask(),
+    max_new_tokens=256,
+    num_threads=2,
+    openai_api_key=os.environ.get("OPENAI_API_KEY"),
+    temperature=0.3,
+)
+result_openai = openaillm.generate([{"input": "What is OpenAI?"}])
+# >>> result_openai
+# []
+# >>> result_openai[0].result()[0][0]["parsed_output"]["generations"]
+# 'OpenAI is an artificial intelligence research organization that aims to ensure that artificial general intelligence (AGI) benefits all of humanity. AGI refers to highly autonomous systems that outperform humans at most economically valuable work. OpenAI conducts research, develops AI technologies, and promotes the responsible and safe use of AI. They also work on projects to make AI more accessible and beneficial to society. OpenAI is committed to transparency, cooperation, and avoiding uses of AI that could harm humanity or concentrate power in the wrong hands.'
diff --git a/docs/snippets/technical-reference/llm/transformers_generate.py b/docs/snippets/technical-reference/llm/transformers_generate.py
new file mode 100644
index 0000000000..ded93c6672
--- /dev/null
+++ b/docs/snippets/technical-reference/llm/transformers_generate.py
@@ -0,0 +1,17 @@
+from distilabel.llm import TransformersLLM
+from distilabel.tasks import TextGenerationTask
+from transformers import AutoModelForCausalLM, AutoTokenizer
+
+# Load the models from huggingface hub:
+tokenizer = AutoTokenizer.from_pretrained("argilla/notus-7b-v1")
+model = AutoModelForCausalLM.from_pretrained("argilla/notus-7b-v1")
+
+# Instantiate our LLM with them:
+llm = TransformersLLM(
+    model=model,
+    tokenizer=tokenizer,
+    task=TextGenerationTask(),
+    max_new_tokens=128,
+    temperature=0.3,
+    prompt_format="notus",
+)
diff --git a/docs/snippets/technical-reference/pipeline/argilla.py b/docs/snippets/technical-reference/pipeline/argilla.py
new file mode 100644
index 0000000000..9e4414eaf1
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/argilla.py
@@ -0,0 +1,6 @@
+import argilla as rg
+
+rg.init(api_key="", api_url="")
+
+rg_dataset = pipe_dataset.to_argilla()  # noqa: F821 # Any dataset resulting from `Pipeline.generate`
+rg_dataset.push_to_argilla(name="preference-dataset", workspace="admin")
diff --git a/docs/snippets/technical-reference/pipeline/pipe_1.py b/docs/snippets/technical-reference/pipeline/pipe_1.py
new file mode 100644
index 0000000000..79a09babfe
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipe_1.py
@@ -0,0 +1,23 @@
+import os
+
+from distilabel.llm import InferenceEndpointsLLM
+from distilabel.pipeline import pipeline
+from distilabel.tasks import TextGenerationTask
+
+pipe = pipeline(
+    "preference",
+    "text-quality",
+    generator=InferenceEndpointsLLM(
+        endpoint_name=endpoint_name,  # noqa: F821
+        endpoint_namespace=endpoint_namespace,  # noqa: F821
+        token=token,  # noqa: F821
+        task=TextGenerationTask(),
+        max_new_tokens=512,
+        do_sample=True,
+        prompt_format="notus",
+    ),
+    max_new_tokens=256,
+    num_threads=2,
+    openai_api_key=os.getenv("OPENAI_API_KEY"),
+    temperature=0.0,
+)
diff --git a/docs/snippets/technical-reference/pipeline/pipe_2.py b/docs/snippets/technical-reference/pipeline/pipe_2.py
new file mode 100644
index 0000000000..5875922e5f
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipe_2.py
@@ -0,0 +1,15 @@
+from datasets import load_dataset
+
+instruction_dataset = (
+    load_dataset("HuggingFaceH4/instruction-dataset", split="test[:3]")
+    .remove_columns(["completion", "meta"])
+    .rename_column("prompt", "input")
+)
+
+pipe_dataset = pipe.generate(  # noqa: F821
+    instruction_dataset,
+    num_generations=2,
+    batch_size=1,
+    enable_checkpoints=True,
+    display_progress_bar=True,
+)
diff --git a/docs/snippets/technical-reference/pipeline/pipe_3.py b/docs/snippets/technical-reference/pipeline/pipe_3.py
new file mode 100644
index 0000000000..413159acc1
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipe_3.py
@@ -0,0 +1,27 @@
+print(pipe_dataset["input"][-1])  # noqa: F821
+# Create a 3 turn conversation between a customer and a grocery store clerk - that is, 3 per person. Then tell me what they talked about.
+
+print(pipe_dataset["generations"][-1][-1])  # noqa: F821
+# Customer: Hi there, I'm looking for some fresh berries. Do you have any raspberries or blueberries in stock?
+
+# Grocery Store Clerk: Yes, we have both raspberries and blueberries in stock today. Would you like me to grab some for you or can you find them yourself?
+
+# Customer: I'd like your help getting some berries. Can you also suggest which variety is sweeter? Raspberries or blueberries?
+
+# Grocery Store Clerk: Raspberries and blueberries both have distinct flavors. Raspberries are more tart and a little sweeter whereas blueberries tend to be a little sweeter and have a milder taste. It ultimately depends on your personal preference. Let me grab some of each for you to try at home and see which one you like better.
+
+# Customer: That sounds like a great plan. How often do you receive deliveries? Do you have some new varieties of berries arriving soon?
+
+# Grocery Store Clerk: We receive deliveries twice a week, on Wednesdays and Sundays. We also have a rotation of different varieties of berries throughout the season, so keep an eye out for new arrivals. Thanks for shopping with us, can I help you with anything else today?
+
+# Customer: No, that's all for now. I'm always happy to support your local store.
+
+# turn 1: berries, fresh produce availability, customer preference
+# turn 2: product recommendations based on taste and personal preference, availability
+# turn 3: store acknowledgment, shopping gratitude, loyalty and repeat business expectation.
+
+print(pipe_dataset["rating"][-1][-1])  # noqa: F821
+# 5.0
+
+print(pipe_dataset["rationale"][-1][-1])  # noqa: F821
+# The text accurately follows the given instructions and provides a conversation between a customer and a grocery store clerk. The information provided is correct, informative, and aligned with the user's intent. There are no hallucinations or misleading details.
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_generator_1.py b/docs/snippets/technical-reference/pipeline/pipeline_generator_1.py
new file mode 100644
index 0000000000..82d1fba09f
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_generator_1.py
@@ -0,0 +1,20 @@
+import os
+
+from distilabel.llm import InferenceEndpointsLLM
+from distilabel.pipeline import Pipeline
+from distilabel.tasks import TextGenerationTask
+
+endpoint_name = "aws-notus-7b-v1-4052" or os.getenv("HF_INFERENCE_ENDPOINT_NAME")
+endpoint_namespace = "argilla" or os.getenv("HF_NAMESPACE")
+
+pipe_generation = Pipeline(
+    generator=InferenceEndpointsLLM(
+        endpoint_name=endpoint_name,  # The name given of the deployed model
+        endpoint_namespace=endpoint_namespace,  # This usually corresponds to the organization, in this case "argilla"
+        token=os.getenv("HF_TOKEN"),  # hf_...
+        task=TextGenerationTask(),
+        max_new_tokens=512,
+        do_sample=True,
+        prompt_format="notus",
+    ),
+)
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py b/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py
new file mode 100644
index 0000000000..be29fe076d
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py
@@ -0,0 +1,6 @@
+from datasets import Dataset
+
+dataset = Dataset.from_dict(
+    {"input": ["Create an easy dinner recipe with few ingredients"]}
+)
+dataset_generated = pipe_generation.generate(dataset, num_generations=2)  # noqa: F821
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py b/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py
new file mode 100644
index 0000000000..4844435731
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py
@@ -0,0 +1,39 @@
+print(dataset_generated)  # noqa: F821
+# Dataset({
+#     features: ['input', 'generation_model', 'generation_prompt', 'raw_generation_responses', 'generations'],
+#     num_rows: 1
+# })
+
+print(dataset_generated[0]["generations"][0])  # noqa: F821
+# Here's a simple and delicious dinner recipe with only a few ingredients:
+
+# Garlic Butter Chicken with Roasted Vegetables
+
+# Ingredients:
+# - 4 boneless, skinless chicken breasts
+# - 4 tablespoons butter
+# - 4 cloves garlic, minced
+# - 1 teaspoon dried oregano
+# - 1/2 teaspoon salt
+# - 1/4 teaspoon black pepper
+# - 1 zucchini, sliced
+# - 1 red bell pepper, sliced
+# - 1 cup cherry tomatoes
+
+# Instructions:
+
+# 1. Preheat oven to 400Β°F (200Β°C).
+
+# 2. Melt butter in a small saucepan over low heat. Add minced garlic and heat until fragrant, about 1-2 minutes.
+
+# 3. Place chicken breasts in a baking dish and brush garlic butter over each one.
+
+# 4. Sprinkle oregano, salt, and black pepper over the chicken.
+
+# 5. In a separate baking dish, add sliced zucchini, red bell pepper, and cherry tomatoes. Brush with remaining garlic butter.
+
+# 6. Roast the chicken and vegetables in the preheated oven for 25-30 minutes or until cooked through and the vegetables are tender and lightly browned.
+
+# 7. Transfer the chicken to plates and serve with the roasted vegetables alongside. Enjoy!
+
+# This recipe requires simple ingredients and is easy to prepare, making it perfect for a quick, satisfying dinner. The garlic butter adds maximum flavor, while the roasted vegetables complement the chicken beautifully, providing additional nutrition and texture. With minimal effort, you can have a delicious and balanced meal on the table in no time.
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_1.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_1.py
new file mode 100644
index 0000000000..edc6b0bf2a
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_1.py
@@ -0,0 +1,16 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.pipeline import Pipeline
+from distilabel.tasks import UltraFeedbackTask
+
+pipe_labeller = Pipeline(
+    labeller=OpenAILLM(
+        model="gpt-4",
+        task=UltraFeedbackTask.for_instruction_following(),
+        max_new_tokens=256,
+        num_threads=8,
+        openai_api_key=os.getenv("OPENAI_API_KEY"),
+        temperature=0.3,
+    ),
+)
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py
new file mode 100644
index 0000000000..dd2bb68a03
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py
@@ -0,0 +1,18 @@
+from datasets import Dataset
+
+dataset_test = Dataset.from_dict(
+    {
+        "input": [
+            "Describe the capital of Spain in 25 words.",
+            "Design a conversation between a customer and a customer service agent.",
+        ],
+        "generations": [
+            ["Santo Domingo is the capital of Dominican Republic"],
+            [
+                "Customer: Hello, I'm having trouble with my purchase.\n\nCustomer Service Agent: I'm sorry to hear that. Could you please tell me more about the issue you are facing?\n\nCustomer: Yes, I ordered a pair of shoes from your company a week ago, but I haven't received them yet.\n\nCustomer Service Agent: I apologize for the inconvenience. Could you please provide me with your order number and full name so I can look into this for you?\n\nCustomer: Sure, my name is John Doe and my order number is ABCD1234.\n\nCustomer Service Agent: Thank you, John. I have checked on your order and it appears that it is still being processed. It should be shipped out within the next 24 hours.\n\nCustomer: That's good to hear, but can you also tell me the expected delivery time?\n\nCustomer Service Agent: Absolutely, based on your location, the estimated delivery time is 3-5 business days after shipping. You will receive a tracking number via email once the item is shipped, which will provide real-time updates on your package.\n\nCustomer: Thanks for the information. One more thing, what is your return policy if the shoes don't fit?\n\nCustomer Service Agent: Our company offers a 30-day return policy. If you are not satisfied with the product or if it doesn't fit, you can return it for a full refund or an exchange within 30 days of delivery. Please keep in mind that the product must be in its original packaging and in the same condition as when you received it.\n\nCustomer: Okay, that's good to know. Thank you for your help.\n\nCustomer Service Agent: You're welcome, John. I'm glad I could assist you. If you have any further questions or concerns, please don't hesitate to reach out to us. Have a great day!"
+            ],
+        ],
+    }
+)
+
+ds_labelled = pipe_labeller.generate(dataset_test)  # noqa: F821
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py
new file mode 100644
index 0000000000..dd8e809f06
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py
@@ -0,0 +1,9 @@
+ds_labelled.select_columns(["input", "generations", "rating", "rationale"])[0]  # noqa: F821
+# {
+#     "input": "Describe the capital of Spain in 25 words.",
+#     "generations": ["Santo Domingo is the capital of Dominican Republic"],
+#     "rating": [1.0],
+#     "rationale": [
+#         "The text is irrelevant to the instruction. It describes the capital of the Dominican Republic instead of Spain."
+#     ],
+# }
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py
new file mode 100644
index 0000000000..14771f2c3d
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py
@@ -0,0 +1,27 @@
+import os
+
+from distilabel.llm import InferenceEndpointsLLM, OpenAILLM
+from distilabel.pipeline import Pipeline
+from distilabel.tasks import TextGenerationTask, UltraFeedbackTask
+
+pipe_full = Pipeline(
+    generator=InferenceEndpointsLLM(
+        endpoint_name=endpoint_name,  # noqa: F821
+        endpoint_namespace=endpoint_namespace,  # noqa: F821
+        token=token,  # noqa: F821
+        task=TextGenerationTask(
+            system_prompt="You are an expert writer of XKCD, a webcomic of romance, sarcasm, math, and language."
+        ),
+        max_new_tokens=512,
+        do_sample=True,
+        prompt_format="notus",
+    ),
+    labeller=OpenAILLM(
+        model="gpt-3.5-turbo",
+        task=UltraFeedbackTask.for_instruction_following(),
+        max_new_tokens=256,
+        num_threads=4,
+        openai_api_key=os.getenv("OPENAI_API_KEY"),
+        temperature=0.3,
+    ),
+)
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py
new file mode 100644
index 0000000000..e6018538d2
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py
@@ -0,0 +1,6 @@
+from datasets import Dataset
+
+xkcd_instructions = Dataset.from_dict(
+    {"input": ["Could you imagine an interview process going sideways?"]}
+)
+ds_xkcd = pipe_full.generate(xkcd_instructions, num_generations=3)  # noqa: F821
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py
new file mode 100644
index 0000000000..3609d4ef59
--- /dev/null
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py
@@ -0,0 +1,45 @@
+print(ds_xkcd[1]["generations"][0])  # noqa: F821
+print("-----" * 5)
+print("RATING: ", ds_xkcd[1]["rating"][0])  # noqa: F821
+print("RATIONALE: ", ds_xkcd[1]["rationale"][0])  # noqa: F821
+
+# Yes, absolutely! Here's a fictional interview scenario turned into an XKCD-style comic:
+
+# (Interviewee meets with an unsmiling interviewer)
+
+# Interviewer: Good morning! Have a seat. Tell me about your experience working with teams.
+
+# Interviewee: Well, I've worked in large teams on group projects before. It could be challenging, but we always managed to pull through.
+
+# (Smugly) Interviewer: Challenging, huh? (tapping pen on desk) And how did you manage to overcome these challenges?
+
+# Interviewee: (confidently) Communication was key. I made sure to stay in touch with the team and keep everyone updated on our progress.
+
+# Interviewer: Communication. Hm. And what if communication failed?
+
+# Interviewee: (thrown off balance) Well, I mean...there was one time when we couldn't connect via video call. But we picked up the phone, and we all understood what needed to be done.
+
+# Interviewer: But what if the communication on the technical level failed, say, like a computer system with a software glitch?
+
+# Interviewee: (feeling the pressure) That's never happened to me before, but if it did, we would have to troubleshoot and find a workaround, right?
+
+# Interviewer: (smirking) Oh, but finding a workaround could mean delegating responsibilities among the team, which requires communication. It's a vicious cycle!
+
+# (Interviewee visibly uncomfortable)
+
+# Interviewer: And what if there was a communication breakdown among the team members themselves?
+
+# Interviewee: (unsure) I think we would try to sort it out as soon as possible to avoid any further problems.
+
+# Interviewer: (sarcastically) Yes, avoiding further problems is critical. Don't want to let those deadlines slip, do we?
+
+# (Interviewer types frantically on their computer keyboard)
+
+# Interviewer: (softly but wordily) Note to self: Avoid this candidate for team projects.
+
+# (The interviewer returns his attention back to the interviewee)
+
+# Interviewer: Well, moving on...
+# -------------------------
+# RATING:  4.0
+# RATIONALE:  The text provides a fictional interview scenario that aligns with the task goal of imagining an interview process going sideways. It includes dialogue between an interviewer and interviewee, showcasing a breakdown in communication and the interviewer's sarcastic and dismissive attitude towards the interviewee's responses.
diff --git a/docs/snippets/technical-reference/tasks/generic_llama2_textgeneration.py b/docs/snippets/technical-reference/tasks/generic_llama2_textgeneration.py
new file mode 100644
index 0000000000..49ab3ca205
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/generic_llama2_textgeneration.py
@@ -0,0 +1,9 @@
+from distilabel.llm import TransformersLLM
+from distilabel.tasks import Llama2TextGenerationTask
+
+# This snippet uses `TransformersLLM`, but is the same for every other `LLM`.
+generator = TransformersLLM(
+    model=...,
+    tokenizer=...,
+    task=Llama2TextGenerationTask(),
+)
diff --git a/docs/snippets/technical-reference/tasks/generic_openai_self_instruct.py b/docs/snippets/technical-reference/tasks/generic_openai_self_instruct.py
new file mode 100644
index 0000000000..c4f9f3987c
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/generic_openai_self_instruct.py
@@ -0,0 +1,13 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import SelfInstructTask
+
+generator = OpenAILLM(
+    task=SelfInstructTask(
+        system_prompt="You are a question-answering assistant for...",
+        application_description="AI assistant",
+        num_instructions=3,
+    ),
+    openai_api_key=os.getenv("OPENAI_API_KEY"),
+)
diff --git a/docs/snippets/technical-reference/tasks/generic_openai_textgeneration.py b/docs/snippets/technical-reference/tasks/generic_openai_textgeneration.py
new file mode 100644
index 0000000000..7f10affc03
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/generic_openai_textgeneration.py
@@ -0,0 +1,8 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import OpenAITextGenerationTask
+
+generator = OpenAILLM(
+    task=OpenAITextGenerationTask(), openai_api_key=os.getenv("OPENAI_API_KEY")
+)
diff --git a/docs/snippets/technical-reference/tasks/generic_transformersllm.py b/docs/snippets/technical-reference/tasks/generic_transformersllm.py
new file mode 100644
index 0000000000..a696a5b10f
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/generic_transformersllm.py
@@ -0,0 +1,9 @@
+from distilabel.llm import TransformersLLM
+from distilabel.tasks import TextGenerationTask
+
+# This snippet uses `TransformersLLM`, but is the same for every other `LLM`.
+generator = TransformersLLM(
+    model=...,
+    tokenizer=...,
+    task=TextGenerationTask(),
+)
diff --git a/docs/snippets/technical-reference/tasks/openai_for_helpfulness.py b/docs/snippets/technical-reference/tasks/openai_for_helpfulness.py
new file mode 100644
index 0000000000..d30733bac7
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_for_helpfulness.py
@@ -0,0 +1,8 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_helpfulness(), openai_api_key=os.getenv("OPENAI_API_KEY")
+)
diff --git a/docs/snippets/technical-reference/tasks/openai_for_honesty.py b/docs/snippets/technical-reference/tasks/openai_for_honesty.py
new file mode 100644
index 0000000000..004c8362a2
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_for_honesty.py
@@ -0,0 +1,8 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_honesty(), openai_api_key=os.getenv("OPENAI_API_KEY")
+)
diff --git a/docs/snippets/technical-reference/tasks/openai_for_instruction_following.py b/docs/snippets/technical-reference/tasks/openai_for_instruction_following.py
new file mode 100644
index 0000000000..bf01b134ba
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_for_instruction_following.py
@@ -0,0 +1,9 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_instruction_following(),
+    openai_api_key=os.getenv("OPENAI_API_KEY"),
+)
diff --git a/docs/snippets/technical-reference/tasks/openai_for_text_quality.py b/docs/snippets/technical-reference/tasks/openai_for_text_quality.py
new file mode 100644
index 0000000000..bd893dd779
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_for_text_quality.py
@@ -0,0 +1,9 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_text_quality(),
+    openai_api_key=os.getenv("OPENAI_API_KEY"),
+)
diff --git a/docs/snippets/technical-reference/tasks/openai_for_truthfulness.py b/docs/snippets/technical-reference/tasks/openai_for_truthfulness.py
new file mode 100644
index 0000000000..500e8701aa
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_for_truthfulness.py
@@ -0,0 +1,9 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraFeedbackTask
+
+labeller = OpenAILLM(
+    task=UltraFeedbackTask.for_truthfulness(),
+    openai_api_key=os.getenv("OPENAI_API_KEY"),
+)
diff --git a/docs/snippets/technical-reference/tasks/openai_judgelm.py b/docs/snippets/technical-reference/tasks/openai_judgelm.py
new file mode 100644
index 0000000000..6fc04ff2d0
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_judgelm.py
@@ -0,0 +1,6 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import JudgeLMTask
+
+labeller = OpenAILLM(task=JudgeLMTask(), openai_api_key=os.getenv("OPENAI_API_KEY"))
diff --git a/docs/snippets/technical-reference/tasks/openai_ultrajudge.py b/docs/snippets/technical-reference/tasks/openai_ultrajudge.py
new file mode 100644
index 0000000000..250fefa19e
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/openai_ultrajudge.py
@@ -0,0 +1,6 @@
+import os
+
+from distilabel.llm import OpenAILLM
+from distilabel.tasks import UltraJudgeTask
+
+labeller = OpenAILLM(task=UltraJudgeTask(), openai_api_key=os.getenv("OPENAI_API_KEY"))
diff --git a/docs/snippets/technical-reference/tasks/ultrafeedback.py b/docs/snippets/technical-reference/tasks/ultrafeedback.py
new file mode 100644
index 0000000000..cc8b81e4e9
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/ultrafeedback.py
@@ -0,0 +1,29 @@
+from textwrap import dedent
+
+from distilabel.tasks.preference.ultrafeedback import Rating, UltraFeedbackTask
+
+task_description = dedent(
+    """
+    # General Text Quality Assessment
+    Evaluate the model's outputs based on various criteria:
+    1. **Correctness & Informativeness**: Does the output provide accurate and helpful information?
+    2. **Honesty & Uncertainty**: How confidently does the model convey its information, and does it express uncertainty appropriately?
+    3. **Truthfulness & Hallucination**: Does the model introduce misleading or fabricated details?
+    4. **Instruction Following**: Does the model's output align with given instructions and the user's intent?
+    Your role is to provide a holistic assessment considering all the above factors.
+
+    **Scoring**: Rate outputs 1 to 3 based on the overall quality, considering all aspects:
+    """
+)
+
+ratings = [
+    Rating(value=1, description="Low Quality"),
+    Rating(value=2, description="Moderate Quality"),
+    Rating(value=3, description="Good Quality"),
+]
+
+ultrafeedback_task = UltraFeedbackTask(
+    system_prompt="Your role is to evaluate text quality based on given criteria",
+    task_description=task_description,
+    ratings=ratings,
+)
diff --git a/docs/snippets/technical-reference/tasks/ultrajudge.py b/docs/snippets/technical-reference/tasks/ultrajudge.py
new file mode 100644
index 0000000000..52c8f243e7
--- /dev/null
+++ b/docs/snippets/technical-reference/tasks/ultrajudge.py
@@ -0,0 +1,13 @@
+from distilabel.tasks import UltraJudgeTask
+
+# To see the complete system_prompt and task_description please take a look at the UltraJudgeTask definition
+ultrajudge_task = UltraJudgeTask(
+    system_prompt="You are an evaluator tasked with assessing AI assistants' responses from the perspective of typical user preferences...",
+    task_description="Your task is to rigorously evaluate the performance of...",
+    areas=[
+        "Practical Accuracy",
+        "Clarity & Transparency",
+        "Authenticity & Reliability",
+        "Compliance with Intent",
+    ],
+)
diff --git a/docs/technical-reference/index.md b/docs/technical-reference/index.md
index a437cdd477..1a473425c8 100644
--- a/docs/technical-reference/index.md
+++ b/docs/technical-reference/index.md
@@ -1,7 +1,5 @@
 # Technical reference
 
-This section contains the technical references of `distilabel`. It gives an overview of the core components and how they interact with each other.
-
-You can navigate through the different concepts to have an overview of what's available, or go directly to the specific part of the API in the API Reference.
+Explore `distilabel`'s technical references for an understanding of its components and their interactions, or directly access the API Reference for specific details.
 
 If you are not familiar with the different components, consider taking a look at the [concepts](../concepts.md) first.
\ No newline at end of file
diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index 210704627e..a67968b660 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -1,23 +1,29 @@
 # LLMs
 
-The [`LLM`][distilabel.llm.base.LLM] class encapsulates the functionality for interacting with a language model. It distinguishes between *task* specifications and configurable arguments that influence the LLM's behavior. For illustration purposes, we employ the `TextGenerationTask` in this section and guide readers to the dedicated [`Tasks`](../technical-reference/tasks.md) section for comprehensive details.
+## LLM
 
-To delineate their behavior, we have access to a series of arguments specific for each of them, but first let's see the general ones, and the `generate` method.
+The [`LLM`][distilabel.llm.base.LLM] class encapsulates the functionality for interacting with a language model.
 
-- **General parameters**
+It distinguishes between *task* specifications and configurable parameters that influence the LLM's behavior.
 
-Aside from the specific parameters that each LLM has, let's briefly introduce the general arguments we may find[^1]:
+For illustration purposes, we employ the [`TextGenerationTask`][distilabel.tasks.text_generation.base.TextGenerationTask] in this section and guide you to the dedicated [`Tasks`](../technical-reference/tasks.md) section for comprehensive details.
+
+LLM classes share several general parameters and define implementation-specific ones. Let's explain the general parameters first and the generate method, and then the specifics for each class.
+
+### General Parameters
+
+Let's briefly introduce the general parameters we may find[^1]:
 
 [^1]:
     You can take a look at this blog post from [cohere](https://txt.cohere.com/llm-parameters-best-outputs-language-ai/) for a thorough explanation of the different parameters.
 
 - `max_new_tokens`:
 
-    This argument controls the maximum number of tokens the LLM is allowed to use.
+    This parameter controls the maximum number of tokens the LLM is allowed to use.
 
 - `temperature`: 
 
-    Argument associated to the creativity of the model, a value close to 0 makes the model more deterministic, while higher values make the model more "creative".
+    Parameter associated to the creativity of the model, a value close to 0 makes the model more deterministic, while higher values make the model more "creative".
 
 - `top_k` and `top_p`:
 
@@ -29,9 +35,11 @@ Aside from the specific parameters that each LLM has, let's briefly introduce th
 
 - `prompt_format` and `prompt_formatting_fn`:
 
-    These two arguments allow to tweak the prompt of our models, for example we can direct the `LLM` to format the prompt according to one of the defined formats, while `prompt_formatting_fn` allows to pass a function that will be applied to the prompt before the generation, for extra control of what we ingest to the model.
+    These two parameters allow to tweak the prompt of our models, for example we can direct the `LLM` to format the prompt according to one of the defined formats, while `prompt_formatting_fn` allows to pass a function that will be applied to the prompt before the generation, for extra control of what we ingest to the model.
+
+###Β Generate method
 
-Once we have a `LLM` instantiated we will interact with it by means of the `generate` method. This method will take as arguments the inputs from which we want our model to generate text, and the number of generations we want. We will obtain in return lists of `LLMOutput`[^2], which is a general container for the LLM's outputs.
+Once you create an `LLM`, you use the `generate` method to interact with it. This method requires inputs for text generation and specifies the number of desired generations. The output will be in the form of lists containing `LLMOutput`[^2] objects, which act as a general container for the LLM's results.
 
 [^2]:
     Or it can also return lists of *Futures* containing the lists of these `LLMOutputs`, if we deal with an asynchronous or thread based API.
@@ -45,22 +53,7 @@ These may be the default choice for your ambitious tasks.
 For the API reference visit [OpenAILLM][distilabel.llm.openai.OpenAILLM].
 
 ```python
-from distilabel.tasks import OpenAITextGenerationTask
-from distilabel.llm import OpenAILLM
-
-openaillm = OpenAILLM(
-    model="gpt-3.5-turbo",
-    task=OpenAITextGenerationTask(),
-    max_new_tokens=256,
-    num_threads=2,
-    openai_api_key=os.environ.get("OPENAI_API_KEY"),
-    temperature=0.3,
-)
-result_openai = openaillm.generate([{"input": "What is OpenAI?"}])
-#Β >>> result_openai
-# []
-# >>> result_openai[0].result()[0][0]["parsed_output"]["generations"]
-# 'OpenAI is an artificial intelligence research organization that aims to ensure that artificial general intelligence (AGI) benefits all of humanity. AGI refers to highly autonomous systems that outperform humans at most economically valuable work. OpenAI conducts research, develops AI technologies, and promotes the responsible and safe use of AI. They also work on projects to make AI more accessible and beneficial to society. OpenAI is committed to transparency, cooperation, and avoiding uses of AI that could harm humanity or concentrate power in the wrong hands.'
+--8<-- "docs/snippets/technical-reference/llm/openai_generate.py"
 ```
 
 ## Llama.cpp
@@ -70,24 +63,7 @@ Applicable for local execution of Language Models (LLMs). Utilize this LLM when
 Let's see an example using [notus-7b-v1](https://huggingface.co/argilla/notus-7b-v1). First, you can download the weights from the following [link](https://huggingface.co/TheBloke/notus-7B-v1-GGUF):
 
 ```python
-from distilabel.llm import LlamaCppLLM
-from distilabel.tasks import Llama2TextGenerationTask
-from llama_cpp import Llama
-
-# Instantiate our LLM with them:
-llm = LlamaCppLLM(
-    model=Llama(
-        model_path="./notus-7b-v1.q4_k_m.gguf", n_gpu_layers=-1
-    ),
-    task=Llama2TextGenerationTask(),
-    max_new_tokens=128,
-    temperature=0.3,
-)
-
-result_llamacpp = llm.generate([{"input": "What is the capital of Spain?"}])
-# >>> print(result_llamacpp[0][0]["parsed_output"]["generations"])
-# The capital of Spain is Madrid. It has been the capital since 1561 and is located in the center of the country.  Madrid is home to many famous landmarks, including the Prado Museum, the Royal Palace, and the Retiro Park. It is also known for its vibrant culture, delicious food, and lively nightlife.
-# Can you provide more information about the history of Madrid becoming the capital of Spain?
+--8<-- "docs/snippets/technical-reference/llm/llamacpp_generate.py"
 ```
 
 For the API reference visit [LlammaCppLLM][distilabel.llm.llama_cpp.LlamaCppLLM].
@@ -102,29 +78,14 @@ This section explains two different ways to use huggingface's models:
 
 ### Transformers
 
-Opt for this option if you intend to utilize a model deployed on Hugging Face's model hub. Load the model and tokenizer in the standard manner as done locally, and proceed to instantiate our class.
+This is the option to utilize a model deployed on Hugging Face's model hub. Load the model and tokenizer in the standard manner as done locally, and proceed to instantiate your class.
 
 For the API reference visit [TransformersLLM][distilabel.llm.huggingface.transformers.TransformersLLM].
 
 Let's see an example using [notus-7b-v1](https://huggingface.co/argilla/notus-7b-v1):
 
 ```python
-from transformers import AutoTokenizer, AutoModelForCausalLM
-from distilabel.llm import TransformersLLM
-
-# Load the models from huggingface hub:
-tokenizer = AutoTokenizer.from_pretrained("argilla/notus-7b-v1")
-model = AutoModelForCausalLM.from_pretrained("argilla/notus-7b-v1")
-
-# Instantiate our LLM with them:
-llm = TransformersLLM(
-    model=model,
-    tokenizer=tokenizer,
-    task=TextGenerationTask(),
-    max_new_tokens=128,
-    temperature=0.3,
-    prompt_format="zephyr",  # This model follows the same format has zephyr
-)
+--8<-- "docs/snippets/technical-reference/llm/transformers_generate.py"
 ```
 
 ### Inference Endpoints
@@ -136,17 +97,5 @@ For the API reference visit [InferenceEndpointsLLM][distilabel.llm.huggingface.i
 Let's see how to interact with these LLMs:
 
 ```python
-from distilabel.llm import InferenceEndpointsLLM
-
-endpoint_name = "aws-notus-7b-v1-4052" or os.getenv("HF_INFERENCE_ENDPOINT_NAME")
-endpoint_namespace = "argilla" or os.getenv("HF_NAMESPACE")
-token = os.getenv("HF_TOKEN")  # hf_...
-
-llm = InferenceEndpointsLLM(
-    endpoint_name=endpoint_name,
-    endpoint_namespace=endpoint_namespace,
-    token=token,
-    task=Llama2TextGenerationTask(),
-    max_new_tokens=512
-)
+--8<-- "docs/snippets/technical-reference/llm/inference_endpoint_generate.py"
 ```
diff --git a/docs/technical-reference/pipeline.md b/docs/technical-reference/pipeline.md
index 54f05caf6c..5ad696a6c6 100644
--- a/docs/technical-reference/pipeline.md
+++ b/docs/technical-reference/pipeline.md
@@ -15,27 +15,7 @@ Let's start by a Pipeline with a single `LLM` as a generator.
 We will create a [`Pipeline`][distilabel.pipeline.Pipeline] that will use [Notus](https://huggingface.co/argilla/notus-7b-v1) from a Huggingface [Inference Endpoint][distilabel.llm.InferenceEndpointsLLM]. For this matter, we need to create a [TextGenerationTask][distilabel.tasks.TextGenerationTask], and specify the format we want to use for our `Prompt`, in this case *notus*, which corresponds to the same for *zephyr*.
 
 ```python
-import os
-
-from distilabel.tasks.prompt import Prompt
-
-class NotusTextGenerationTask(TextGenerationTask):
-    def generate_prompt(self, input: str) -> str:
-        return Prompt(
-            system_prompt=self.system_prompt,
-            formatted_prompt=input,
-        ).format_as("notus")
-
-pipe_generation = Pipeline(
-    generator=InferenceEndpointsLLM(
-        endpoint_name=endpoint_name,  # The name given of the deployed model
-        endpoint_namespace=endpoint_namespace,  #Β This usually corresponds to the organization, in this case "argilla"
-        token=token,  #Β hf_...
-        task=NotusTextGenerationTask(),
-        max_new_tokens=512,
-        do_sample=True
-    )
-)
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_generator_1.py"
 ```
 
 We've set up our pipeline using a specialized [`TextGenerationTask`](distilabel.tasks.text_generation.base.TextGenerationTask) (refer to the [tasks section](./tasks.md) for more task details), and an [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM] configured for [`notus-7b-v1`](https://huggingface.co/argilla/notus-7b-v1), although any of the available `LLMs` will work.
@@ -43,54 +23,13 @@ We've set up our pipeline using a specialized [`TextGenerationTask`](distilabel.
 To utilize the [Pipeline][distilabel.pipeline.Pipeline] for dataset generation, we call the generate method. We provide it with the input dataset and specify the desired number of generations. In this example, we've prepared a `Dataset` with a single row to illustrate the process. This dataset contains one row, and we'll trigger 2 generations from it:
 
 ```python
-from datasets import Dataset
-
-dataset = Dataset.from_dict({"input": ["Create an easy dinner recipe with few ingredients"]})
-dataset_generated = pipe_generation.generate(dataset, num_generations=2)
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_generator_2.py"
 ```
 
 Now, let's examine the dataset that was generated. It's a [`CustomDataset`][distilabel.dataset.CustomDataset], equipped with additional features for seamless interaction with [`Argilla`](https://github.com/argilla-io/argilla).
 
 ```python
-print(dataset_generated)
-# Dataset({
-#     features: ['input', 'generation_model', 'generation_prompt', 'raw_generation_responses', 'generations'],
-#     num_rows: 1
-# })
-
-print(dataset_generated[0]["generations"][0])
-# Here's a simple and delicious dinner recipe with only a few ingredients:
-
-# Garlic Butter Chicken with Roasted Vegetables
-
-# Ingredients:
-# - 4 boneless, skinless chicken breasts
-# - 4 tablespoons butter
-# - 4 cloves garlic, minced
-# - 1 teaspoon dried oregano
-# - 1/2 teaspoon salt
-# - 1/4 teaspoon black pepper
-# - 1 zucchini, sliced
-# - 1 red bell pepper, sliced
-# - 1 cup cherry tomatoes
-
-# Instructions:
-
-# 1. Preheat oven to 400Β°F (200Β°C).
-
-# 2. Melt butter in a small saucepan over low heat. Add minced garlic and heat until fragrant, about 1-2 minutes.
-
-# 3. Place chicken breasts in a baking dish and brush garlic butter over each one.
-
-# 4. Sprinkle oregano, salt, and black pepper over the chicken.
-
-# 5. In a separate baking dish, add sliced zucchini, red bell pepper, and cherry tomatoes. Brush with remaining garlic butter.
-
-# 6. Roast the chicken and vegetables in the preheated oven for 25-30 minutes or until cooked through and the vegetables are tender and lightly browned.
-
-# 7. Transfer the chicken to plates and serve with the roasted vegetables alongside. Enjoy!
-
-# This recipe requires simple ingredients and is easy to prepare, making it perfect for a quick, satisfying dinner. The garlic butter adds maximum flavor, while the roasted vegetables complement the chicken beautifully, providing additional nutrition and texture. With minimal effort, you can have a delicious and balanced meal on the table in no time.
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_generator_3.py"
 ```
 
 ### Labeller
@@ -98,20 +37,7 @@ print(dataset_generated[0]["generations"][0])
 Next, we move on to labelLing a dataset. Just as before, we need an `LLM` for our `Pipeline`. In this case we will use [`OpenAILLM`][distilabel.llm.openai.OpenAILLM] with `gpt-4`, and a `PreferenceTask`, [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask] for instruction following.
 
 ```python
-from distilabel.pipeline import Pipeline
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraFeedbackTask
-
-pipe_labeller = Pipeline(
-    labeller=OpenAILLM(
-        model="gpt-4",
-        task=UltraFeedbackTask.for_instruction_following(),
-        max_new_tokens=256,
-        num_threads=8,
-        openai_api_key=os.getenv("OPENAI_API_KEY"),
-        temperature=0.3,
-    ),
-)
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_labeller_1.py"
 ```
 
 For this example dataset, we've extracted 2 sample rows from the [UltraFeedback binarized dataset](https://huggingface.co/datasets/argilla/ultrafeedback-binarized-preferences), formatted as expected by the default `LLM` and `Task`.
@@ -119,32 +45,13 @@ For this example dataset, we've extracted 2 sample rows from the [UltraFeedback
 We've selected two distinct examples, one correctly labeled and the other incorrectly labeled in the original dataset. In this instance, the `dataset` being generated includes two columns: the *input*, as seen in the generator, and a *generations* column containing the model's responses.
 
 ```python
-from datasets import Dataset
-
-dataset_test = Dataset.from_dict(
-    {
-        "input": [
-            "Describe the capital of Spain in 25 words.",
-            "Design a conversation between a customer and a customer service agent."
-        ],
-        "generations": [
-            ["Santo Domingo is the capital of Dominican Republic"],
-            ["Customer: Hello, I'm having trouble with my purchase.\n\nCustomer Service Agent: I'm sorry to hear that. Could you please tell me more about the issue you are facing?\n\nCustomer: Yes, I ordered a pair of shoes from your company a week ago, but I haven't received them yet.\n\nCustomer Service Agent: I apologize for the inconvenience. Could you please provide me with your order number and full name so I can look into this for you?\n\nCustomer: Sure, my name is John Doe and my order number is ABCD1234.\n\nCustomer Service Agent: Thank you, John. I have checked on your order and it appears that it is still being processed. It should be shipped out within the next 24 hours.\n\nCustomer: That's good to hear, but can you also tell me the expected delivery time?\n\nCustomer Service Agent: Absolutely, based on your location, the estimated delivery time is 3-5 business days after shipping. You will receive a tracking number via email once the item is shipped, which will provide real-time updates on your package.\n\nCustomer: Thanks for the information. One more thing, what is your return policy if the shoes don't fit?\n\nCustomer Service Agent: Our company offers a 30-day return policy. If you are not satisfied with the product or if it doesn't fit, you can return it for a full refund or an exchange within 30 days of delivery. Please keep in mind that the product must be in its original packaging and in the same condition as when you received it.\n\nCustomer: Okay, that's good to know. Thank you for your help.\n\nCustomer Service Agent: You're welcome, John. I'm glad I could assist you. If you have any further questions or concerns, please don't hesitate to reach out to us. Have a great day!"]
-        ] 
-    }
-)
-
-ds_labelled = pipe_labeller.generate(dataset_test)
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py"
 ```
 
 Let's select the relevant columns from the labelled dataset, and take a look at the first record. This allows us to observe the *rating* and the accompanying *rationale* that provides an explanation.
 
 ```python
-ds_labelled.select_columns(["input", "generations", "rating", "rationale"])[0]
-{'input': 'Describe the capital of Spain in 25 words.',
- 'generations': ['Santo Domingo is the capital of Dominican Republic'],
- 'rating': [1.0],
- 'rationale': ['The text is irrelevant to the instruction. It describes the capital of the Dominican Republic instead of Spain.']}
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py"
 ```
 
 ### Generator and Labeller
@@ -152,89 +59,19 @@ ds_labelled.select_columns(["input", "generations", "rating", "rationale"])[0]
 In the final scenario, we have a [`Pipeline`][distilabel.pipeline.Pipeline] utilizing both a *generator* and a *labeller* `LLM`. Once more, we'll employ the [Inference Endpoint][distilabel.llm.InferenceEndpointsLLM] with `notus-7b-v1` for the *generator*, using a different *system prompt* this time. As for the labeller, we'll use `gpt-3.5-turbo`, which will label the examples for *instruction following*.
 
 ```python
-pipe_full = Pipeline(
-    generator=InferenceEndpointsLLM(
-        endpoint_name=endpoint_name,
-        endpoint_namespace=endpoint_namespace,
-        token=token,
-        task=NotusTextGenerationTask(
-            system_prompt="You are an expert writer of XKCD, a webcomic of romance, sarcasm, math, and language."
-        ),
-        max_new_tokens=512,
-        do_sample=True
-    ),
-    labeller=OpenAILLM(
-        model="gpt-3.5-turbo",
-        task=UltraFeedbackTask.for_instruction_following(),
-        max_new_tokens=256,
-        num_threads=4,
-        openai_api_key=os.getenv("OPENAI_API_KEY"),
-        temperature=0.3,
-    ),
-)
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py"
 ```
 
 For this example, we'll set up a pipeline to generate and label a dataset of short stories inspired by [XKCD](https://xkcd.com/). To do this, we'll define the *system_prompt* for the `NotusTextGenerationTask`. The dataset will follow the same format we used for the generator scenario, featuring an *input* column with the examples, in this case, just one.
 
 ```python
-xkcd_instructions = Dataset.from_dict(
-    {
-        "input": [            
-            "Could you imagine an interview process going sideways?"
-        ]
-    }
-)
-ds_xkcd = pipe_full.generate(xkcd_instructions, num_generations=3)
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py"
 ```
 
 We will now take a look to one of the *generations*, along with the *rating* and *rational* given by our *labeller* `LLM`:
 
 ```python
-print(ds_xkcd[1]["generations"][0])
-print("-----" * 5)
-print("RATING: ", ds_xkcd[1]["rating"][0])
-print("RATIONALE: ", ds_xkcd[1]["rationale"][0])
-
-# Yes, absolutely! Here's a fictional interview scenario turned into an XKCD-style comic:
-
-# (Interviewee meets with an unsmiling interviewer)
-
-# Interviewer: Good morning! Have a seat. Tell me about your experience working with teams.
-
-# Interviewee: Well, I've worked in large teams on group projects before. It could be challenging, but we always managed to pull through.
-
-# (Smugly) Interviewer: Challenging, huh? (tapping pen on desk) And how did you manage to overcome these challenges?
-
-# Interviewee: (confidently) Communication was key. I made sure to stay in touch with the team and keep everyone updated on our progress.
-
-# Interviewer: Communication. Hm. And what if communication failed?
-
-# Interviewee: (thrown off balance) Well, I mean...there was one time when we couldn't connect via video call. But we picked up the phone, and we all understood what needed to be done.
-
-# Interviewer: But what if the communication on the technical level failed, say, like a computer system with a software glitch?
-
-# Interviewee: (feeling the pressure) That's never happened to me before, but if it did, we would have to troubleshoot and find a workaround, right?
-
-# Interviewer: (smirking) Oh, but finding a workaround could mean delegating responsibilities among the team, which requires communication. It's a vicious cycle!
-
-# (Interviewee visibly uncomfortable)
-
-# Interviewer: And what if there was a communication breakdown among the team members themselves?
-
-# Interviewee: (unsure) I think we would try to sort it out as soon as possible to avoid any further problems.
-
-# Interviewer: (sarcastically) Yes, avoiding further problems is critical. Don't want to let those deadlines slip, do we?
-
-# (Interviewer types frantically on their computer keyboard)
-
-# Interviewer: (softly but wordily) Note to self: Avoid this candidate for team projects.
-
-# (The interviewer returns his attention back to the interviewee)
-
-# Interviewer: Well, moving on...
-# -------------------------
-# RATING:  4.0
-# RATIONALE:  The text provides a fictional interview scenario that aligns with the task goal of imagining an interview process going sideways. It includes dialogue between an interviewer and interviewee, showcasing a breakdown in communication and the interviewer's sarcastic and dismissive attitude towards the interviewee's responses.
+--8<-- "docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py"
 ```
 
 ## pipeline
@@ -244,75 +81,19 @@ Considering recurring patterns in dataset creation, we can facilitate the proces
 In the code snippet below, we use the [`pipeline`][distilabel.pipeline.pipeline] function to craft a `pipeline` tailored for a *preference task*, specifically focusing on *text-quality* as the *subtask*. If we don't initially provide a *labeller* [`LLM`][distilabel.llm.base.LLM], we can specify the subtask we want our `pipeline` to address. By default, this corresponds to [`UltraFeedbackTask`][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]. It's mandatory to specify the generator of our choice; however, the labeller defaults to `gpt-3.5-turbo`. Optional parameters required for [OpenAILLM][distilabel.llm.openai.OpenAILLM] can also be passed as optional keyword arguments.
 
 ```python
-from distilabel.pipeline import pipeline
-
-pipe = pipeline(
-    "preference",
-    "text-quality",
-    generator=InferenceEndpointsLLM(
-        endpoint_name=endpoint_name,
-        endpoint_namespace=endpoint_namespace,
-        token=token,
-        task=NotusTextGenerationTask(),
-        max_new_tokens=512,
-        do_sample=True
-    ),
-    max_new_tokens=256,
-    num_threads=2,
-    openai_api_key=os.getenv("OPENAI_API_KEY"),
-    temperature=0.0,
-)
+--8<-- "docs/snippets/technical-reference/pipeline/pipe_1.py"
 ```
 
-
 For the dataset, we'll begin with three rows from [HuggingFaceH4/instruction-dataset](https://huggingface.co/datasets/HuggingFaceH4/instruction-dataset). We'll request two generations with checkpoints enabled to safeguard the data in the event of any failures, which is the default behavior.
 
 ```python
-instruction_dataset = (
-    load_dataset("HuggingFaceH4/instruction-dataset", split="test[:3]")
-    .remove_columns(["completion", "meta"])
-    .rename_column("prompt", "input")
-)
-
-pipe_dataset = pipe.generate(
-    instruction_dataset,
-    num_generations=2,
-    batch_size=1,
-    enable_checkpoints=True,
-    display_progress_bar=True,
-)
+--8<-- "docs/snippets/technical-reference/pipeline/pipe_2.py"
 ```
 
 Finally, let's see one of the examples from the dataset:
 
 ```python
-print(pipe_dataset["input"][-1])
-# Create a 3 turn conversation between a customer and a grocery store clerk - that is, 3 per person. Then tell me what they talked about.
-
-print(pipe_dataset["generations"][-1][-1])
-# Customer: Hi there, I'm looking for some fresh berries. Do you have any raspberries or blueberries in stock?
-
-# Grocery Store Clerk: Yes, we have both raspberries and blueberries in stock today. Would you like me to grab some for you or can you find them yourself?
-
-# Customer: I'd like your help getting some berries. Can you also suggest which variety is sweeter? Raspberries or blueberries?
-
-# Grocery Store Clerk: Raspberries and blueberries both have distinct flavors. Raspberries are more tart and a little sweeter whereas blueberries tend to be a little sweeter and have a milder taste. It ultimately depends on your personal preference. Let me grab some of each for you to try at home and see which one you like better.
-
-# Customer: That sounds like a great plan. How often do you receive deliveries? Do you have some new varieties of berries arriving soon?
-
-# Grocery Store Clerk: We receive deliveries twice a week, on Wednesdays and Sundays. We also have a rotation of different varieties of berries throughout the season, so keep an eye out for new arrivals. Thanks for shopping with us, can I help you with anything else today?
-
-# Customer: No, that's all for now. I'm always happy to support your local store.
-
-# turn 1: berries, fresh produce availability, customer preference
-# turn 2: product recommendations based on taste and personal preference, availability
-# turn 3: store acknowledgment, shopping gratitude, loyalty and repeat business expectation.
-
-print(pipe_dataset["rating"][-1][-1])
-# 5.0
-
-print(pipe_dataset["rationale"][-1][-1])
-# The text accurately follows the given instructions and provides a conversation between a customer and a grocery store clerk. The information provided is correct, informative, and aligned with the user's intent. There are no hallucinations or misleading details.
+--8<-- "docs/snippets/technical-reference/pipeline/pipe_3.py"
 ```
 
 The API reference can be found here: [pipeline][distilabel.pipeline.pipeline]
@@ -322,13 +103,5 @@ The API reference can be found here: [pipeline][distilabel.pipeline.pipeline]
 The [CustomDataset][distilabel.dataset.CustomDataset] generated entirely by AI models may require some additional human processing. To facilitate human feedback, the dataset can be uploaded to [`Argilla`](https://github.com/argilla-io/argilla). This process involves logging into an [`Argilla`](https://docs.argilla.io/en/latest/getting_started/cheatsheet.html#connect-to-argilla) instance, converting the dataset to the required format using `CustomDataset.to_argilla()`, and subsequently using push_to_argilla on the resulting dataset:
 
 ```python
-import argilla as rg
-
-rg.init(
-    api_key="",
-    api_url=""
-)
-
-rg_dataset = pipe_dataset.to_argilla()  # Any dataset resulting from `Pipeline.generate`
-rg_dataset.push_to_argilla(name="preference-dataset", workspace="admin")
+--8<-- "docs/snippets/technical-reference/pipeline/argilla.py"
 ```
diff --git a/docs/technical-reference/tasks.md b/docs/technical-reference/tasks.md
index 53b3f54b71..7f02cede66 100644
--- a/docs/technical-reference/tasks.md
+++ b/docs/technical-reference/tasks.md
@@ -28,14 +28,7 @@ The following methods define a task:
 After defining a task, the only action required is to pass it to the corresponding `LLM`. All the intricate processes are then handled internally:
 
 ```python
-from distilabel.llm import TransformersLLM
-from distilabel.tasks import TextGenerationTask
-# This snippet uses `TransformersLLM`, but is the same for every other `LLM`.
-generator = TransformersLLM(
-    model=...,
-    tokenizer=...,
-    task=TextGenerationTask(),
-)
+--8<-- "docs/snippets/technical-reference/tasks/generic_transformersllm.py"
 ```
 
 For the API reference visit [TextGenerationTask][distilabel.tasks.text_generation.base.TextGenerationTask].
@@ -45,14 +38,7 @@ For the API reference visit [TextGenerationTask][distilabel.tasks.text_generatio
 This class inherits from the `TextGenerationTask` and it's specially prepared to deal with prompts in the form of the *Llama2* model, so it should be the go to task for `LLMs` intented for text generation that were trained using this prompt format. The specific prompt formats can be found in the source code of the [Prompt][distilabel.tasks.prompt.Prompt] class.
 
 ```python
-from distilabel.llm import TransformersLLM
-from distilabel.tasks import Llama2TextGenerationTask
-# This snippet uses `TransformersLLM`, but is the same for every other `LLM`.
-generator = TransformersLLM(
-    model=...,
-    tokenizer=...,
-    task=Llama2TextGenerationTask(),
-)
+--8<-- "docs/snippets/technical-reference/tasks/generic_llama2_textgeneration.py"
 ```
 
 For the API reference visit [Llama2TextGenerationTask][distilabel.tasks.text_generation.llama.Llama2TextGenerationTask].
@@ -62,13 +48,7 @@ For the API reference visit [Llama2TextGenerationTask][distilabel.tasks.text_gen
 The OpenAI task for text generation is similar to the `Llama2TextGenerationTask`, but with the specific prompt format expected by the *chat completion* task from OpenAI.
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import OpenAITextGenerationTask
-
-generator = OpenAILLM(
-    task=OpenAITextGenerationTask(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/generic_openai_textgeneration.py"
 ```
 
 For the API reference visit [OpenAITextGenerationTask][distilabel.tasks.text_generation.openai.OpenAITextGenerationTask].
@@ -81,17 +61,7 @@ with Self-Generated Instructions](https://arxiv.org/pdf/2212.10560.pdf).
 From the original [repository](https://github.com/yizhongw/self-instruct/tree/main#how-self-instruct-works): *The Self-Instruct process is an iterative bootstrapping algorithm that starts with a seed set of manually-written instructions and uses them to prompt the language model to generate new instructions and corresponding input-output instances*, so this `Task` is specially interesting for generating new datasets from a set of predefined topics.
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import SelfInstructTask
-
-generator = OpenAILLM(
-    task=SelfInstructTask(
-        application_description="You are a question-answering assistant for...",
-        application_description="AI assistant",
-        num_instructions=3
-    ),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/generic_openai_self_instruct.py"
 ```
 
 For the API reference visit  [SelfInstructTask][distilabel.tasks.text_generation.self_instruct.SelfInstructTask].
@@ -115,34 +85,7 @@ From the original [repository](https://github.com/OpenBMB/UltraFeedback): *To co
 The following snippet can be used as a simplified UltraFeedback Task, for which we define 3 different ratings, but take into account the predefined versions are intended to be used out of the box:
 
 ```python
-from distilabel.tasks.preference.ultrafeedback import UltraFeedbackTask, Rating
-from textwrap import dedent
-
-task_description = dedent(
-    """
-    # General Text Quality Assessment
-    Evaluate the model's outputs based on various criteria:
-    1. **Correctness & Informativeness**: Does the output provide accurate and helpful information?
-    2. **Honesty & Uncertainty**: How confidently does the model convey its information, and does it express uncertainty appropriately?
-    3. **Truthfulness & Hallucination**: Does the model introduce misleading or fabricated details?
-    4. **Instruction Following**: Does the model's output align with given instructions and the user's intent?
-    Your role is to provide a holistic assessment considering all the above factors.
-
-    **Scoring**: Rate outputs 1 to 3 based on the overall quality, considering all aspects:
-    """
-)
-
-ratings = [
-    Rating(value=1, description="Low Quality"),
-    Rating(value=2, description="Moderate Quality"),
-    Rating(value=3, description="Good Quality"),
-]
-
-ultrafeedback_task = UltraFeedbackTask(
-    system_prompt="Your role is to evaluate text quality based on given criteria",
-    task_description=task_description,
-    ratings=ratings
-)
+--8<-- "docs/snippets/technical-reference/tasks/ultrafeedback.py"
 ```
 
 - Text Quality:
@@ -150,13 +93,7 @@ ultrafeedback_task = UltraFeedbackTask(
 The following example uses a `LLM` to examinate the data for text quality criteria, which includes the different criteria from UltraFeedback (Correctness & Informativeness, Honesty & Uncertainty, Truthfulness & Hallucination and Instruction Following):
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraFeedbackTask
-
-labeller = OpenAILLM(
-    task=UltraFeedbackTask.for_text_quality(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_for_text_quality.py"
 ```
 
 - Helpfulness:
@@ -164,13 +101,7 @@ labeller = OpenAILLM(
 The following example creates a UltraFeedback task to emphasize helpfulness, that is overall quality and correctness of the output:
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraFeedbackTask
-
-labeller = OpenAILLM(
-    task=UltraFeedbackTask.for_helpfulness(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_for_helpfulness.py"
 ```
 
 - Truthfulness:
@@ -178,13 +109,7 @@ labeller = OpenAILLM(
 The following example creates a UltraFeedback task to emphasize truthfulness and hallucination assessment:
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraFeedbackTask
-
-labeller = OpenAILLM(
-    task=UltraFeedbackTask.for_truthfulness(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_for_truthfulness.py"
 ```
 
 - Honesty:
@@ -192,13 +117,7 @@ labeller = OpenAILLM(
 The following example creates a UltraFeedback task to emphasize honesty and uncertainty expression assessment:
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraFeedbackTask
-
-labeller = OpenAILLM(
-    task=UltraFeedbackTask.for_honesty(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_for_honesty.py"
 ```
 
 - Instruction Following:
@@ -206,13 +125,7 @@ labeller = OpenAILLM(
 The following example creates a UltraFeedback task to emphasize the evaluation of alignment between output and intent:
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraFeedbackTask
-
-labeller = OpenAILLM(
-    task=UltraFeedbackTask.for_instruction_following(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_for_instruction_following.py"
 ```
 
 For the API reference visit [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask].
@@ -222,13 +135,7 @@ For the API reference visit [UltraFeedbackTask][distilabel.tasks.preference.ultr
 The task specially designed to build the prompts following the UltraFeedback paper: [JudgeLM: Fine-tuned Large Language Models Are Scalable Judges](https://arxiv.org/pdf/2310.17631.pdf). This task is designed to evaluate the performance of AI assistants.
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import JudgeLMTask
-
-labeller = OpenAILLM(
-    task=JudgeLMTask(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_judgelm.py"
 ```
 
 For the API reference visit [JudgeLMTask][distilabel.tasks.preference.judgelm.JudgeLMTask].
@@ -240,26 +147,13 @@ This class implements a `PreferenceTask` specifically for a better evaluation us
 It introduces an additional argument to differentiate various areas for processing. While these areas can be customized, the default values are as follows:
 
 ```python
-from distilabel.tasks import UltraJudgeTask
-
-# To see the complete system_prompt and task_description please take a look at the UltraJudgeTask definition
-ultrajudge_task = UltraJudgeTask(
-    system_prompt="You are an evaluator tasked with assessing AI assistants' responses from the perspective of typical user preferences...",
-    task_description="Your task is to rigorously evaluate the performance of..."
-    areas=["Practical Accuracy", "Clarity & Transparency", "Authenticity & Reliability", "Compliance with Intent"]
-)
+--8<-- "docs/snippets/technical-reference/tasks/ultrajudge.py"
 ```
 
 Which can be directly used in the following way:
 
 ```python
-from distilabel.llm import OpenAILLM
-from distilabel.tasks import UltraJudgeTask
-
-labeller = OpenAILLM(
-    task=UltraJudgeTask(),
-    openai_api_key=os.getenv("OPENAI_API_KEY")
-)
+--8<-- "docs/snippets/technical-reference/tasks/openai_ultrajudge.py"
 ```
 
 For the API reference visit [UltraJudgeTask][distilabel.tasks.preference.ultrajudge.UltraJudgeTask].

From 046416a08e0001c9a6592855e12db22d90436ac2 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Fri, 15 Dec 2023 16:05:24 +0100
Subject: [PATCH 20/31] docs: removed noqa and avoid checking the docs with
 ruff

---
 .../technical-reference/pipeline/argilla.py   | 16 +++++++++++++-
 .../technical-reference/pipeline/pipe_1.py    | 20 ++++++++++++++---
 .../technical-reference/pipeline/pipe_2.py    | 16 +++++++++++++-
 .../technical-reference/pipeline/pipe_3.py    | 22 +++++++++++++++----
 .../pipeline/pipeline_generator_2.py          | 16 +++++++++++++-
 .../pipeline/pipeline_generator_3.py          | 18 +++++++++++++--
 .../pipeline/pipeline_labeller_2.py           | 16 +++++++++++++-
 .../pipeline/pipeline_labeller_3.py           | 16 +++++++++++++-
 .../pipeline/pipeline_labeller_generator_1.py | 20 ++++++++++++++---
 .../pipeline/pipeline_labeller_generator_2.py | 16 +++++++++++++-
 .../pipeline/pipeline_labeller_generator_3.py | 20 ++++++++++++++---
 pyproject.toml                                |  1 +
 12 files changed, 176 insertions(+), 21 deletions(-)

diff --git a/docs/snippets/technical-reference/pipeline/argilla.py b/docs/snippets/technical-reference/pipeline/argilla.py
index 9e4414eaf1..a87097e68f 100644
--- a/docs/snippets/technical-reference/pipeline/argilla.py
+++ b/docs/snippets/technical-reference/pipeline/argilla.py
@@ -1,6 +1,20 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 import argilla as rg
 
 rg.init(api_key="", api_url="")
 
-rg_dataset = pipe_dataset.to_argilla()  # noqa: F821 # Any dataset resulting from `Pipeline.generate`
+rg_dataset = pipe_dataset.to_argilla()
 rg_dataset.push_to_argilla(name="preference-dataset", workspace="admin")
diff --git a/docs/snippets/technical-reference/pipeline/pipe_1.py b/docs/snippets/technical-reference/pipeline/pipe_1.py
index 79a09babfe..091d70641f 100644
--- a/docs/snippets/technical-reference/pipeline/pipe_1.py
+++ b/docs/snippets/technical-reference/pipeline/pipe_1.py
@@ -1,3 +1,17 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 import os
 
 from distilabel.llm import InferenceEndpointsLLM
@@ -8,9 +22,9 @@
     "preference",
     "text-quality",
     generator=InferenceEndpointsLLM(
-        endpoint_name=endpoint_name,  # noqa: F821
-        endpoint_namespace=endpoint_namespace,  # noqa: F821
-        token=token,  # noqa: F821
+        endpoint_name=endpoint_name,
+        endpoint_namespace=endpoint_namespace,
+        token=token,
         task=TextGenerationTask(),
         max_new_tokens=512,
         do_sample=True,
diff --git a/docs/snippets/technical-reference/pipeline/pipe_2.py b/docs/snippets/technical-reference/pipeline/pipe_2.py
index 5875922e5f..fb4efcaf03 100644
--- a/docs/snippets/technical-reference/pipeline/pipe_2.py
+++ b/docs/snippets/technical-reference/pipeline/pipe_2.py
@@ -1,3 +1,17 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 from datasets import load_dataset
 
 instruction_dataset = (
@@ -6,7 +20,7 @@
     .rename_column("prompt", "input")
 )
 
-pipe_dataset = pipe.generate(  # noqa: F821
+pipe_dataset = pipe.generate(
     instruction_dataset,
     num_generations=2,
     batch_size=1,
diff --git a/docs/snippets/technical-reference/pipeline/pipe_3.py b/docs/snippets/technical-reference/pipeline/pipe_3.py
index 413159acc1..a5be009d71 100644
--- a/docs/snippets/technical-reference/pipeline/pipe_3.py
+++ b/docs/snippets/technical-reference/pipeline/pipe_3.py
@@ -1,7 +1,21 @@
-print(pipe_dataset["input"][-1])  # noqa: F821
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+print(pipe_dataset["input"][-1])
 # Create a 3 turn conversation between a customer and a grocery store clerk - that is, 3 per person. Then tell me what they talked about.
 
-print(pipe_dataset["generations"][-1][-1])  # noqa: F821
+print(pipe_dataset["generations"][-1][-1])
 # Customer: Hi there, I'm looking for some fresh berries. Do you have any raspberries or blueberries in stock?
 
 # Grocery Store Clerk: Yes, we have both raspberries and blueberries in stock today. Would you like me to grab some for you or can you find them yourself?
@@ -20,8 +34,8 @@
 # turn 2: product recommendations based on taste and personal preference, availability
 # turn 3: store acknowledgment, shopping gratitude, loyalty and repeat business expectation.
 
-print(pipe_dataset["rating"][-1][-1])  # noqa: F821
+print(pipe_dataset["rating"][-1][-1])
 # 5.0
 
-print(pipe_dataset["rationale"][-1][-1])  # noqa: F821
+print(pipe_dataset["rationale"][-1][-1])
 # The text accurately follows the given instructions and provides a conversation between a customer and a grocery store clerk. The information provided is correct, informative, and aligned with the user's intent. There are no hallucinations or misleading details.
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py b/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py
index be29fe076d..5eeeaa8918 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_generator_2.py
@@ -1,6 +1,20 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 from datasets import Dataset
 
 dataset = Dataset.from_dict(
     {"input": ["Create an easy dinner recipe with few ingredients"]}
 )
-dataset_generated = pipe_generation.generate(dataset, num_generations=2)  # noqa: F821
+dataset_generated = pipe_generation.generate(dataset, num_generations=2)
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py b/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py
index 4844435731..a1168f97d8 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_generator_3.py
@@ -1,10 +1,24 @@
-print(dataset_generated)  # noqa: F821
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+print(dataset_generated)
 # Dataset({
 #     features: ['input', 'generation_model', 'generation_prompt', 'raw_generation_responses', 'generations'],
 #     num_rows: 1
 # })
 
-print(dataset_generated[0]["generations"][0])  # noqa: F821
+print(dataset_generated[0]["generations"][0])
 # Here's a simple and delicious dinner recipe with only a few ingredients:
 
 # Garlic Butter Chicken with Roasted Vegetables
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py
index dd2bb68a03..2a8f0651cf 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_2.py
@@ -1,3 +1,17 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 from datasets import Dataset
 
 dataset_test = Dataset.from_dict(
@@ -15,4 +29,4 @@
     }
 )
 
-ds_labelled = pipe_labeller.generate(dataset_test)  # noqa: F821
+ds_labelled = pipe_labeller.generate(dataset_test)
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py
index dd8e809f06..0c4195c068 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_3.py
@@ -1,4 +1,18 @@
-ds_labelled.select_columns(["input", "generations", "rating", "rationale"])[0]  # noqa: F821
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ds_labelled.select_columns(["input", "generations", "rating", "rationale"])[0]
 # {
 #     "input": "Describe the capital of Spain in 25 words.",
 #     "generations": ["Santo Domingo is the capital of Dominican Republic"],
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py
index 14771f2c3d..7508c8d575 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_1.py
@@ -1,3 +1,17 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 import os
 
 from distilabel.llm import InferenceEndpointsLLM, OpenAILLM
@@ -6,9 +20,9 @@
 
 pipe_full = Pipeline(
     generator=InferenceEndpointsLLM(
-        endpoint_name=endpoint_name,  # noqa: F821
-        endpoint_namespace=endpoint_namespace,  # noqa: F821
-        token=token,  # noqa: F821
+        endpoint_name=endpoint_name,
+        endpoint_namespace=endpoint_namespace,
+        token=token,
         task=TextGenerationTask(
             system_prompt="You are an expert writer of XKCD, a webcomic of romance, sarcasm, math, and language."
         ),
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py
index e6018538d2..a1bad54079 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_2.py
@@ -1,6 +1,20 @@
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 from datasets import Dataset
 
 xkcd_instructions = Dataset.from_dict(
     {"input": ["Could you imagine an interview process going sideways?"]}
 )
-ds_xkcd = pipe_full.generate(xkcd_instructions, num_generations=3)  # noqa: F821
+ds_xkcd = pipe_full.generate(xkcd_instructions, num_generations=3)
diff --git a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py
index 3609d4ef59..fa0fa1863d 100644
--- a/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py
+++ b/docs/snippets/technical-reference/pipeline/pipeline_labeller_generator_3.py
@@ -1,7 +1,21 @@
-print(ds_xkcd[1]["generations"][0])  # noqa: F821
+# Copyright 2023-present, Argilla, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+print(ds_xkcd[1]["generations"][0])
 print("-----" * 5)
-print("RATING: ", ds_xkcd[1]["rating"][0])  # noqa: F821
-print("RATIONALE: ", ds_xkcd[1]["rationale"][0])  # noqa: F821
+print("RATING: ", ds_xkcd[1]["rating"][0])
+print("RATIONALE: ", ds_xkcd[1]["rationale"][0])
 
 # Yes, absolutely! Here's a fictional interview scenario turned into an XKCD-style comic:
 
diff --git a/pyproject.toml b/pyproject.toml
index 59a53253d6..86d3e4ccb9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -58,6 +58,7 @@ path = "src/distilabel/__init__.py"
 line-length = 88
 select = ["E", "W", "F", "I", "C", "B"]
 ignore = ["E501", "B905", "B008"]
+exclude = ["docs"]
 
 [tool.pytest.ini_options]
 testpaths = ["tests"]

From 1e2ad18fb272a91e1b2e0c2e935639296c7fef94 Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Fri, 15 Dec 2023 16:14:02 +0100
Subject: [PATCH 21/31] chore: add new alembig image

---
 docs/assets/alembic.svg | 42 +++++++++++++++++++++++++++++++++++++++++
 mkdocs.yml              |  2 +-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 docs/assets/alembic.svg

diff --git a/docs/assets/alembic.svg b/docs/assets/alembic.svg
new file mode 100644
index 0000000000..e2cba9d3bc
--- /dev/null
+++ b/docs/assets/alembic.svg
@@ -0,0 +1,42 @@
+
+
+
+
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+		
+	
+	
+		
+	
+	
+
+
diff --git a/mkdocs.yml b/mkdocs.yml
index 4bdf99f784..4bce6afa76 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -13,7 +13,7 @@ extra_css:
 
 theme:
   name: material
-  logo: assets/distilabel-icon.svg
+  logo: assets/alembic.svg
   favicon: assets/distilabel-icon.svg
   features:
     - navigation.instant

From 2c82ea8274310cdd30ca7f508ad529d290fa7e51 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 08:55:18 +0100
Subject: [PATCH 22/31] Remove commented line

Co-authored-by: Alvaro Bartolome 
---
 mkdocs.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mkdocs.yml b/mkdocs.yml
index 4bce6afa76..87f6417459 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -19,7 +19,6 @@ theme:
     - navigation.instant
     - navigation.tabs
     - toc.follow
-    #- toc.integrate
     - content.code.copy
     - content.code.annotate
   palette:

From e25a1b47f5a2e074a3a67c56c465d38ca98316e0 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 08:59:49 +0100
Subject: [PATCH 23/31] Update logo.svg new name

Co-authored-by: Alvaro Bartolome 
---
 mkdocs.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mkdocs.yml b/mkdocs.yml
index 87f6417459..f4a68d9f0f 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -13,7 +13,7 @@ extra_css:
 
 theme:
   name: material
-  logo: assets/alembic.svg
+  logo: assets/logo.svg
   favicon: assets/distilabel-icon.svg
   features:
     - navigation.instant

From eaf5db7152454cac249d16c41727c9f4de4cec7a Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 09:00:47 +0100
Subject: [PATCH 24/31] Rename to HuggingFace

Co-authored-by: Alvaro Bartolome 
---
 docs/technical-reference/llms.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index a67968b660..75ac47a7a7 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -74,7 +74,7 @@ For the API reference visit [vLLM][distilabel.llm.vllm.vLLM].
 
 ## Huggingface LLMs
 
-This section explains two different ways to use huggingface's models:
+This section explains two different ways to use HuggingFace models:
 
 ### Transformers
 

From b441c06dd1f96b08c87485ef298c64bc383b12d9 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 09:01:03 +0100
Subject: [PATCH 25/31] Rename to HuggingFace

Co-authored-by: Alvaro Bartolome 
---
 docs/technical-reference/llms.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index 75ac47a7a7..aee74d4a6c 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -90,7 +90,7 @@ Let's see an example using [notus-7b-v1](https://huggingface.co/argilla/notus-7b
 
 ### Inference Endpoints
 
-Hugging Face provides a streamlined approach for deploying models through [inference endpoints](https://huggingface.co/inference-endpoints) on their infrastructure. Opt for this solution if your model is hosted on Hugging Face.
+HuggingFace provides a streamlined approach for deploying models through [inference endpoints](https://huggingface.co/inference-endpoints) on their infrastructure. Opt for this solution if your model is hosted on HuggingFace.
 
 For the API reference visit [InferenceEndpointsLLM][distilabel.llm.huggingface.inference_endpoints.InferenceEndpointsLLM].
 

From 9096994ea3586458e69958b7244b639072adeb40 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 09:02:00 +0100
Subject: [PATCH 26/31] Rename to HuggingFace

Co-authored-by: Alvaro Bartolome 
---
 docs/technical-reference/llms.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/technical-reference/llms.md b/docs/technical-reference/llms.md
index aee74d4a6c..dcc234c8ce 100644
--- a/docs/technical-reference/llms.md
+++ b/docs/technical-reference/llms.md
@@ -72,7 +72,7 @@ For the API reference visit [LlammaCppLLM][distilabel.llm.llama_cpp.LlamaCppLLM]
 
 For the API reference visit [vLLM][distilabel.llm.vllm.vLLM].
 
-## Huggingface LLMs
+## HuggingFace LLMs
 
 This section explains two different ways to use HuggingFace models:
 

From 43fe493f55ac3cd4424a4e28f2427d45bafaabdf Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 09:04:34 +0100
Subject: [PATCH 27/31] Point doc reference to main branch

Co-authored-by: Alvaro Bartolome 
---
 docs/technical-reference/pipeline.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/technical-reference/pipeline.md b/docs/technical-reference/pipeline.md
index 5ad696a6c6..436fc3e4d6 100644
--- a/docs/technical-reference/pipeline.md
+++ b/docs/technical-reference/pipeline.md
@@ -6,7 +6,7 @@ This section will detail the [`Pipeline`][distilabel.pipeline.Pipeline], providi
 
 The [Pipeline][distilabel.pipeline.Pipeline] class is a central component in `distilabel`, responsible for crafting datasets. It manages the generation of datasets and oversees the interaction between the generator and labeller `LLMs`.
 
-You create an instance of the [`Pipeline`][distilabel.pipeline.Pipeline] by providing a *generator* and an optional *labeller* [LLM][distilabel.llm.base.LLM]. Interactions with it are facilitated through its `generate` method. This method requires a [`dataset`](https://huggingface.co/docs/datasets/v2.15.0/en/package_reference/main_classes#datasets.Dataset), specifies the *num_generations* to determine the number of examples to be created, and includes additional parameters for controlling the *batch_size* and managing the generation process.
+You create an instance of the [`Pipeline`][distilabel.pipeline.Pipeline] by providing a *generator* and an optional *labeller* [LLM][distilabel.llm.base.LLM]. Interactions with it are facilitated through its `generate` method. This method requires a [`dataset`](https://huggingface.co/docs/datasets/main/en/package_reference/main_classes#datasets.Dataset), specifies the *num_generations* to determine the number of examples to be created, and includes additional parameters for controlling the *batch_size* and managing the generation process.
 
 Let's start by a Pipeline with a single `LLM` as a generator.
 

From 0e0bac5b25eb2dd1bccc9ad24e04a5493fa506ca Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 09:05:40 +0100
Subject: [PATCH 28/31] Fixed reference

Co-authored-by: Alvaro Bartolome 
---
 docs/technical-reference/tasks.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/technical-reference/tasks.md b/docs/technical-reference/tasks.md
index 7f02cede66..43f0fa58fa 100644
--- a/docs/technical-reference/tasks.md
+++ b/docs/technical-reference/tasks.md
@@ -78,7 +78,7 @@ Contrary to the `TextGenerationTask`, the `PreferenceTask` is not intended for d
 
 ####Β UltraFeedbackTask
 
-The task specially designed to build the prompts following the UltraFeedback paper: [UltraFeedback: Boosting Language Models With High Quality Feedback](https://arxiv.org/pdf/2310.01377.pdf).
+This task is specifically designed to build the prompts following the format defined in the ["UltraFeedback: Boosting Language Models With High Quality Feedback"](https://arxiv.org/pdf/2310.01377.pdf) paper.
 
 From the original [repository](https://github.com/OpenBMB/UltraFeedback): *To collect high-quality preference and textual feedback, we design a fine-grained annotation instruction, which contains 4 different aspects, namely instruction-following, truthfulness, honesty and helpfulness*. This `Task` is designed to label datasets following the different aspects defined for the UltraFeedback dataset creation.
 

From 4b0ca609eda64421a4fee1a5540a30d9803a7783 Mon Sep 17 00:00:00 2001
From: Agus <56895847+plaguss@users.noreply.github.com>
Date: Tue, 19 Dec 2023 09:14:54 +0100
Subject: [PATCH 29/31] Remove comment

Co-authored-by: Alvaro Bartolome 
---
 docs/technical-reference/tasks.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/technical-reference/tasks.md b/docs/technical-reference/tasks.md
index 43f0fa58fa..259809a652 100644
--- a/docs/technical-reference/tasks.md
+++ b/docs/technical-reference/tasks.md
@@ -74,7 +74,7 @@ Instead of generating text, you can instruct the `LLM` to label datasets. The ex
 
 Preference datasets for Language Models (LLMs) are sets of information that show how people rank or prefer one thing over another in a straightforward and clear manner. These datasets help train language models to understand and generate content that aligns with user preferences, enhancing the model's ability to generate contextually relevant and preferred outputs.
 
-Contrary to the `TextGenerationTask`, the `PreferenceTask` is not intended for direct use. It implements the default methods `input_args_names` and `output_args_names`, but `generate_prompt` and `parse_output` are specific to each `PreferenceTask`. Examining the output_args_names reveals that the generation will encompass both the rating and the rationale that influenced that rating. `distilabel` implements the following preference tasks:
+Contrary to the `TextGenerationTask`, the `PreferenceTask` is not intended for direct use. It implements the default methods `input_args_names` and `output_args_names`, but `generate_prompt` and `parse_output` are specific to each `PreferenceTask`. Examining the `output_args_names` reveals that the generation will encompass both the rating and the rationale that influenced that rating.
 
 ####Β UltraFeedbackTask
 

From dfd9952a152421adb31d7adfc0e29b5f491a3d3e Mon Sep 17 00:00:00 2001
From: plaguss 
Date: Tue, 19 Dec 2023 12:14:42 +0100
Subject: [PATCH 30/31] Add grid with different sections

---
 docs/assets/{alembic.svg => logo.svg} |  0
 docs/index.md                         | 30 ++++++++++++++++
 docs/technical-reference/tasks.md     | 50 +++++++++++++--------------
 pyproject.toml                        |  1 -
 4 files changed, 55 insertions(+), 26 deletions(-)
 rename docs/assets/{alembic.svg => logo.svg} (100%)

diff --git a/docs/assets/alembic.svg b/docs/assets/logo.svg
similarity index 100%
rename from docs/assets/alembic.svg
rename to docs/assets/logo.svg
diff --git a/docs/index.md b/docs/index.md
index 6be6af1640..39e4ac5588 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -39,3 +39,33 @@ will create a `labeller` LLM using `OpenAILLM` with the `UltraFeedback` task for
 For a more complete example, check out our awesome notebook on Google Colab:
 
 [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1rO1-OlLFPBC0KPuXQOeMpZOeajiwNoMy?usp=sharing)
+
+## Navigation
+
+
+ +-

[**Tutorials**](./learn/tutorials/)

+ + --- + + End to end project lessons. + +-

[**User Guides**](./learn/user-guides/)

+ + --- + + Practical guides to achieve specific tasks with `distilabel`. + +-

[**Concept Guides**](./technical-reference/llms.md)

+ + --- + + Understand the components and their interactions. + +-

[**API Reference**](./reference/distilabel)

+ + --- + + Technical description of the classes and functions. + +
\ No newline at end of file diff --git a/docs/technical-reference/tasks.md b/docs/technical-reference/tasks.md index 259809a652..d449cf3b72 100644 --- a/docs/technical-reference/tasks.md +++ b/docs/technical-reference/tasks.md @@ -88,45 +88,45 @@ The following snippet can be used as a simplified UltraFeedback Task, for which --8<-- "docs/snippets/technical-reference/tasks/ultrafeedback.py" ``` -- Text Quality: +=== "Text Quality" -The following example uses a `LLM` to examinate the data for text quality criteria, which includes the different criteria from UltraFeedback (Correctness & Informativeness, Honesty & Uncertainty, Truthfulness & Hallucination and Instruction Following): + The following example uses a `LLM` to examinate the data for text quality criteria, which includes the different criteria from UltraFeedback (Correctness & Informativeness, Honesty & Uncertainty, Truthfulness & Hallucination and Instruction Following): -```python ---8<-- "docs/snippets/technical-reference/tasks/openai_for_text_quality.py" -``` + ```python + --8<-- "docs/snippets/technical-reference/tasks/openai_for_text_quality.py" + ``` -- Helpfulness: +=== "Helpfulness" -The following example creates a UltraFeedback task to emphasize helpfulness, that is overall quality and correctness of the output: + The following example creates a UltraFeedback task to emphasize helpfulness, that is overall quality and correctness of the output: -```python ---8<-- "docs/snippets/technical-reference/tasks/openai_for_helpfulness.py" -``` + ```python + --8<-- "docs/snippets/technical-reference/tasks/openai_for_helpfulness.py" + ``` -- Truthfulness: +=== "Truthfulness" -The following example creates a UltraFeedback task to emphasize truthfulness and hallucination assessment: + The following example creates a UltraFeedback task to emphasize truthfulness and hallucination assessment: -```python ---8<-- "docs/snippets/technical-reference/tasks/openai_for_truthfulness.py" -``` + ```python + --8<-- "docs/snippets/technical-reference/tasks/openai_for_truthfulness.py" + ``` -- Honesty: +=== "Honesty" -The following example creates a UltraFeedback task to emphasize honesty and uncertainty expression assessment: + The following example creates a UltraFeedback task to emphasize honesty and uncertainty expression assessment: -```python ---8<-- "docs/snippets/technical-reference/tasks/openai_for_honesty.py" -``` + ```python + --8<-- "docs/snippets/technical-reference/tasks/openai_for_honesty.py" + ``` -- Instruction Following: +=== "Instruction Following" -The following example creates a UltraFeedback task to emphasize the evaluation of alignment between output and intent: + The following example creates a UltraFeedback task to emphasize the evaluation of alignment between output and intent: -```python ---8<-- "docs/snippets/technical-reference/tasks/openai_for_instruction_following.py" -``` + ```python + --8<-- "docs/snippets/technical-reference/tasks/openai_for_instruction_following.py" + ``` For the API reference visit [UltraFeedbackTask][distilabel.tasks.preference.ultrafeedback.UltraFeedbackTask]. diff --git a/pyproject.toml b/pyproject.toml index 0b4f775193..8cb60158ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,6 @@ docs = [ "mkdocs-literate-nav >= 0.6.1", "mkdocs-section-index >= 0.3.8", "mkdocs-gen-files >= 0.5.0", - "mknotebooks >= 0.8.0", ] [project.urls] From 0b337046132859183fdc5d12044d13b353746863 Mon Sep 17 00:00:00 2001 From: plaguss Date: Tue, 19 Dec 2023 17:06:50 +0100 Subject: [PATCH 31/31] Update colours --- docs/stylesheets/extra.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index c14316c8d2..e32447d5d9 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -2,4 +2,14 @@ --md-primary-fg-color: #FF675F; --md-primary-fg-color--light: #FF675F; --md-primary-fg-color--dark: #FF675F; +} +[data-md-color-scheme="default"] { + --md-primary-fg-color: #000000; + --md-typeset-a-color: #FF675F; + --md-accent-fg-color: #F7A399; +} +[data-md-color-scheme="slate"] { + --md-primary-fg-color: #000000; + --md-typeset-a-color: #F7A399; + --md-accent-fg-color: #FF675F; } \ No newline at end of file