diff --git a/lab-abstractive-question-answering.ipynb b/lab-abstractive-question-answering.ipynb new file mode 100644 index 00000000000..b1d233f758c --- /dev/null +++ b/lab-abstractive-question-answering.ipynb @@ -0,0 +1,9315 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "O7KBOS0yO_mi" + }, + "source": [ + "# LAB | Abstractive Question Answering" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WL4goh8fPC5l" + }, + "source": [ + "Abstractive question-answering focuses on the generation of multi-sentence answers to open-ended questions. It usually works by searching massive document stores for relevant information and then using this information to synthetically generate answers. This notebook demonstrates how Pinecone helps you build an abstractive question-answering system. We need three main components:\n", + "\n", + "- A vector index to store and run semantic search\n", + "- A retriever model for embedding context passages\n", + "- A generator model to generate answers" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "n6uNNJmuPIVT" + }, + "source": [ + "# Install Dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZINfOdPyJHBZ", + "outputId": "769bbd40-6fdf-42a1-b62d-92ce34ae9d05" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\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", + "datasets 2.14.0 requires huggingface-hub<1.0.0,>=0.14.0, but you have huggingface-hub 1.8.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!pip install -qU pinecone-client==3.1.0 sentence-transformers torch" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "y0EU4eIbPTTL" + }, + "source": [ + "# Load and Prepare Dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "USvwSnsDvrdz" + }, + "source": [ + "Our source data will be taken from the Wiki Snippets dataset, which contains over 17 million passages from Wikipedia. But, since indexing the entire dataset may take some time, we will only utilize 50,000 passages in this demo that include \"History\" in the \"section title\" column. If you want, you may utilize the complete dataset. Pinecone vector database can effortlessly manage millions of documents for you." + ] + }, + { + "cell_type": "code", + "source": [ + "# Uninstall current version and install an older version that supports scripts\n", + "# !pip uninstall datasets -y\n", + "# Install compatible versions together\n", + "!pip install datasets==2.14.0 pyarrow==14.0.1" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "RQdUjSBQD4v4", + "outputId": "ec5a26cd-364d-4f29-b162-77cd1e1c82c9" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: datasets==2.14.0 in /usr/local/lib/python3.12/dist-packages (2.14.0)\n", + "Requirement already satisfied: pyarrow==14.0.1 in /usr/local/lib/python3.12/dist-packages (14.0.1)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (2.0.2)\n", + "Requirement already satisfied: dill<0.3.8,>=0.3.0 in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (0.3.7)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (2.2.2)\n", + "Requirement already satisfied: requests>=2.19.0 in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (2.32.4)\n", + "Requirement already satisfied: tqdm>=4.62.1 in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (4.67.3)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (3.6.0)\n", + "Requirement already satisfied: multiprocess in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (0.70.15)\n", + "Requirement already satisfied: fsspec>=2021.11.1 in /usr/local/lib/python3.12/dist-packages (from fsspec[http]>=2021.11.1->datasets==2.14.0) (2025.3.0)\n", + "Requirement already satisfied: aiohttp in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (3.13.3)\n", + "Collecting huggingface-hub<1.0.0,>=0.14.0 (from datasets==2.14.0)\n", + " Using cached huggingface_hub-0.36.2-py3-none-any.whl.metadata (15 kB)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (26.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.12/dist-packages (from datasets==2.14.0) (6.0.3)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (1.4.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (25.4.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (1.8.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (6.7.1)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (0.4.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.12/dist-packages (from aiohttp->datasets==2.14.0) (1.23.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<1.0.0,>=0.14.0->datasets==2.14.0) (3.25.2)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<1.0.0,>=0.14.0->datasets==2.14.0) (1.4.2)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.12/dist-packages (from huggingface-hub<1.0.0,>=0.14.0->datasets==2.14.0) (4.15.0)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.19.0->datasets==2.14.0) (3.4.6)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests>=2.19.0->datasets==2.14.0) (3.11)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.19.0->datasets==2.14.0) (2.5.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests>=2.19.0->datasets==2.14.0) (2026.2.25)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas->datasets==2.14.0) (2.9.0.post0)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas->datasets==2.14.0) (2025.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas->datasets==2.14.0) (2025.3)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas->datasets==2.14.0) (1.17.0)\n", + "Using cached huggingface_hub-0.36.2-py3-none-any.whl (566 kB)\n", + "Installing collected packages: huggingface-hub\n", + " Attempting uninstall: huggingface-hub\n", + " Found existing installation: huggingface_hub 1.8.0\n", + " Uninstalling huggingface_hub-1.8.0:\n", + " Successfully uninstalled huggingface_hub-1.8.0\n", + "\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", + "transformers 5.0.0 requires huggingface-hub<2.0,>=1.3.0, but you have huggingface-hub 0.36.2 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed huggingface-hub-0.36.2\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "bShG-f5IPPtG", + "outputId": "4a35b9ef-aff1-444d-ba93-b9f995584153" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "\n", + "A module that was compiled using NumPy 1.x cannot be run in\n", + "NumPy 2.0.2 as it may crash. To support both 1.x and 2.x\n", + "versions of NumPy, modules must be compiled with NumPy 2.0.\n", + "Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.\n", + "\n", + "If you are a user of the module, the easiest solution will be to\n", + "downgrade to 'numpy<2' or try to upgrade the affected module.\n", + "We expect that some modules will need time to support NumPy 2.\n", + "\n", + "Traceback (most recent call last): File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"/usr/local/lib/python3.12/dist-packages/colab_kernel_launcher.py\", line 37, in \n", + " ColabKernelApp.launch_instance()\n", + " File \"/usr/local/lib/python3.12/dist-packages/traitlets/config/application.py\", line 992, in launch_instance\n", + " app.start()\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelapp.py\", line 712, in start\n", + " self.io_loop.start()\n", + " File \"/usr/local/lib/python3.12/dist-packages/tornado/platform/asyncio.py\", line 211, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"/usr/lib/python3.12/asyncio/base_events.py\", line 645, in run_forever\n", + " self._run_once()\n", + " File \"/usr/lib/python3.12/asyncio/base_events.py\", line 1999, in _run_once\n", + " handle._run()\n", + " File \"/usr/lib/python3.12/asyncio/events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 510, in dispatch_queue\n", + " await self.process_one()\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 499, in process_one\n", + " await dispatch(*args)\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 406, in dispatch_shell\n", + " await result\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 730, in execute_request\n", + " reply_content = await reply_content\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/ipkernel.py\", line 383, in do_execute\n", + " res = shell.run_cell(\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/zmqshell.py\", line 528, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 2975, in run_cell\n", + " result = self._run_cell(\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3030, in _run_cell\n", + " return runner(coro)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/async_helpers.py\", line 78, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3257, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3473, in run_ast_nodes\n", + " if (await self.run_code(code, result, async_=asy)):\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3553, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"/tmp/ipykernel_20625/1451297137.py\", line 1, in \n", + " from datasets import load_dataset\n", + " File \"/usr/local/lib/python3.12/dist-packages/datasets/__init__.py\", line 22, in \n", + " from .arrow_dataset import Dataset\n", + " File \"/usr/local/lib/python3.12/dist-packages/datasets/arrow_dataset.py\", line 58, in \n", + " import pandas as pd\n", + " File \"/usr/local/lib/python3.12/dist-packages/pandas/__init__.py\", line 26, in \n", + " from pandas.compat import (\n", + " File \"/usr/local/lib/python3.12/dist-packages/pandas/compat/__init__.py\", line 27, in \n", + " from pandas.compat.pyarrow import (\n", + " File \"/usr/local/lib/python3.12/dist-packages/pandas/compat/pyarrow.py\", line 8, in \n", + " import pyarrow as pa\n", + " File \"/usr/local/lib/python3.12/dist-packages/pyarrow/__init__.py\", line 65, in \n", + " import pyarrow.lib as _lib\n" + ] + }, + { + "output_type": "error", + "ename": "AttributeError", + "evalue": "_ARRAY_API not found", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;31mAttributeError\u001b[0m: _ARRAY_API not found" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "\n", + "A module that was compiled using NumPy 1.x cannot be run in\n", + "NumPy 2.0.2 as it may crash. To support both 1.x and 2.x\n", + "versions of NumPy, modules must be compiled with NumPy 2.0.\n", + "Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.\n", + "\n", + "If you are a user of the module, the easiest solution will be to\n", + "downgrade to 'numpy<2' or try to upgrade the affected module.\n", + "We expect that some modules will need time to support NumPy 2.\n", + "\n", + "Traceback (most recent call last): File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"/usr/local/lib/python3.12/dist-packages/colab_kernel_launcher.py\", line 37, in \n", + " ColabKernelApp.launch_instance()\n", + " File \"/usr/local/lib/python3.12/dist-packages/traitlets/config/application.py\", line 992, in launch_instance\n", + " app.start()\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelapp.py\", line 712, in start\n", + " self.io_loop.start()\n", + " File \"/usr/local/lib/python3.12/dist-packages/tornado/platform/asyncio.py\", line 211, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"/usr/lib/python3.12/asyncio/base_events.py\", line 645, in run_forever\n", + " self._run_once()\n", + " File \"/usr/lib/python3.12/asyncio/base_events.py\", line 1999, in _run_once\n", + " handle._run()\n", + " File \"/usr/lib/python3.12/asyncio/events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 510, in dispatch_queue\n", + " await self.process_one()\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 499, in process_one\n", + " await dispatch(*args)\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 406, in dispatch_shell\n", + " await result\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 730, in execute_request\n", + " reply_content = await reply_content\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/ipkernel.py\", line 383, in do_execute\n", + " res = shell.run_cell(\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/zmqshell.py\", line 528, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 2975, in run_cell\n", + " result = self._run_cell(\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3030, in _run_cell\n", + " return runner(coro)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/async_helpers.py\", line 78, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3257, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3473, in run_ast_nodes\n", + " if (await self.run_code(code, result, async_=asy)):\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3553, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"/tmp/ipykernel_20625/1451297137.py\", line 1, in \n", + " from datasets import load_dataset\n", + " File \"/usr/local/lib/python3.12/dist-packages/datasets/__init__.py\", line 22, in \n", + " from .arrow_dataset import Dataset\n", + " File \"/usr/local/lib/python3.12/dist-packages/datasets/arrow_dataset.py\", line 58, in \n", + " import pandas as pd\n", + " File \"/usr/local/lib/python3.12/dist-packages/pandas/__init__.py\", line 49, in \n", + " from pandas.core.api import (\n", + " File \"/usr/local/lib/python3.12/dist-packages/pandas/core/api.py\", line 9, in \n", + " from pandas.core.dtypes.dtypes import (\n", + " File \"/usr/local/lib/python3.12/dist-packages/pandas/core/dtypes/dtypes.py\", line 24, in \n", + " from pandas._libs import (\n", + " File \"/usr/local/lib/python3.12/dist-packages/pyarrow/__init__.py\", line 65, in \n", + " import pyarrow.lib as _lib\n" + ] + }, + { + "output_type": "error", + "ename": "AttributeError", + "evalue": "_ARRAY_API not found", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;31mAttributeError\u001b[0m: _ARRAY_API not found" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "\n", + "A module that was compiled using NumPy 1.x cannot be run in\n", + "NumPy 2.0.2 as it may crash. To support both 1.x and 2.x\n", + "versions of NumPy, modules must be compiled with NumPy 2.0.\n", + "Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.\n", + "\n", + "If you are a user of the module, the easiest solution will be to\n", + "downgrade to 'numpy<2' or try to upgrade the affected module.\n", + "We expect that some modules will need time to support NumPy 2.\n", + "\n", + "Traceback (most recent call last): File \"\", line 198, in _run_module_as_main\n", + " File \"\", line 88, in _run_code\n", + " File \"/usr/local/lib/python3.12/dist-packages/colab_kernel_launcher.py\", line 37, in \n", + " ColabKernelApp.launch_instance()\n", + " File \"/usr/local/lib/python3.12/dist-packages/traitlets/config/application.py\", line 992, in launch_instance\n", + " app.start()\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelapp.py\", line 712, in start\n", + " self.io_loop.start()\n", + " File \"/usr/local/lib/python3.12/dist-packages/tornado/platform/asyncio.py\", line 211, in start\n", + " self.asyncio_loop.run_forever()\n", + " File \"/usr/lib/python3.12/asyncio/base_events.py\", line 645, in run_forever\n", + " self._run_once()\n", + " File \"/usr/lib/python3.12/asyncio/base_events.py\", line 1999, in _run_once\n", + " handle._run()\n", + " File \"/usr/lib/python3.12/asyncio/events.py\", line 88, in _run\n", + " self._context.run(self._callback, *self._args)\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 510, in dispatch_queue\n", + " await self.process_one()\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 499, in process_one\n", + " await dispatch(*args)\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 406, in dispatch_shell\n", + " await result\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/kernelbase.py\", line 730, in execute_request\n", + " reply_content = await reply_content\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/ipkernel.py\", line 383, in do_execute\n", + " res = shell.run_cell(\n", + " File \"/usr/local/lib/python3.12/dist-packages/ipykernel/zmqshell.py\", line 528, in run_cell\n", + " return super().run_cell(*args, **kwargs)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 2975, in run_cell\n", + " result = self._run_cell(\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3030, in _run_cell\n", + " return runner(coro)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/async_helpers.py\", line 78, in _pseudo_sync_runner\n", + " coro.send(None)\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3257, in run_cell_async\n", + " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3473, in run_ast_nodes\n", + " if (await self.run_code(code, result, async_=asy)):\n", + " File \"/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py\", line 3553, in run_code\n", + " exec(code_obj, self.user_global_ns, self.user_ns)\n", + " File \"/tmp/ipykernel_20625/1451297137.py\", line 1, in \n", + " from datasets import load_dataset\n", + " File \"/usr/local/lib/python3.12/dist-packages/datasets/__init__.py\", line 22, in \n", + " from .arrow_dataset import Dataset\n", + " File \"/usr/local/lib/python3.12/dist-packages/datasets/arrow_dataset.py\", line 59, in \n", + " import pyarrow as pa\n", + " File \"/usr/local/lib/python3.12/dist-packages/pyarrow/__init__.py\", line 65, in \n", + " import pyarrow.lib as _lib\n" + ] + }, + { + "output_type": "error", + "ename": "AttributeError", + "evalue": "_ARRAY_API not found", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;31mAttributeError\u001b[0m: _ARRAY_API not found" + ] + }, + { + "output_type": "error", + "ename": "ImportError", + "evalue": "numpy.core.multiarray failed to import", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_20625/1451297137.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mdatasets\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mload_dataset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;31m# load the dataset from huggingface in streaming mode and shuffle it\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m wiki_data = load_dataset(\n\u001b[1;32m 5\u001b[0m \u001b[0;34m'vblagoje/wikipedia_snippets_streamed'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/datasets/__init__.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0m__version__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"2.14.0\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0marrow_dataset\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mDataset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0marrow_reader\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mReadInstruction\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbuilder\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mArrowBasedBuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mBeamBasedBuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mBuilderConfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mDatasetBuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mGeneratorBasedBuilder\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/datasets/arrow_dataset.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpyarrow\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpa\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 60\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpyarrow\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompute\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpc\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mhuggingface_hub\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mDatasetCard\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mDatasetCardData\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mHfApi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mHfFolder\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pyarrow/__init__.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0m_gc_enabled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_gc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misenabled\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0m_gc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpyarrow\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlib\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0m_lib\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 66\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0m_gc_enabled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[0m_gc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.12/dist-packages/pyarrow/lib.pyx\u001b[0m in \u001b[0;36minit pyarrow.lib\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: numpy.core.multiarray failed to import", + "", + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0;32m\nNOTE: If your import is failing due to a missing package, you can\nmanually install dependencies using either !pip or !apt.\n\nTo view examples of installing some common dependencies, click the\n\"Open Examples\" button below.\n\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n" + ], + "errorDetails": { + "actions": [ + { + "action": "open_url", + "actionText": "Open Examples", + "url": "/notebooks/snippets/importing_libraries.ipynb" + } + ] + } + } + ], + "source": [ + "from datasets import load_dataset\n", + "\n", + "# load the dataset from huggingface in streaming mode and shuffle it\n", + "wiki_data = load_dataset(\n", + " 'vblagoje/wikipedia_snippets_streamed',\n", + " split='train',\n", + " streaming=True\n", + ").shuffle(seed=960)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MoPdaLFAvvci" + }, + "source": [ + "We are loading the dataset in the streaming mode so that we don't have to wait for the whole dataset to download (which is over 9GB). Instead, we iteratively download records one at a time." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "VLjXCwKevy4K" + }, + "outputs": [], + "source": [ + "# show the contents of a single document in the dataset\n", + "next(iter(wiki_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "yHYNM6VXv1MJ" + }, + "outputs": [], + "source": [ + "# filter only documents with History as section_title - Replace None with your code\n", + "history = wiki_data.filter(lambda x: 'history' in x['section_title'].lower())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_8sTBqS0v4RM" + }, + "source": [ + "Let's iterate through the dataset and apply our filter to select the 50,000 historical passages. We will extract `article_title`, `section_title` and `passage_text` from each document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 49, + "referenced_widgets": [ + "2453af0ab9f74f0c8af3d0a5b84cd1da", + "c951a02c7e384328bf4b895e4ac23bc7", + "5e4fb5220e9e462fbdd1d7f513b58602", + "0e3cbf48197e4f50aafb28b0bad986ff", + "7e6834870b064eecb5d292dd59aa1d48", + "9c140d2e9e914a71a534929fa283e574", + "9878b3e5c775499da23abe62904f59f3", + "e3cb55cf46de4c7cb9d9fc82f2eb15da", + "560c79f4011d45e98737717790fa4bcc", + "3bedc4c4788242d8b316d5d690d34900", + "742a7faaf32d4f5b8233b5f2c51128d2" + ] + }, + "id": "Ob0prowIzjJ9", + "outputId": "246bf14f-8287-4058-b07e-a8bc198ac651" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2453af0ab9f74f0c8af3d0a5b84cd1da", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/50000 [00:00= total_doc_count:\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "RvTA40mq5FKj", + "outputId": "c441b678-4d86-474e-8c2b-6249f1b83378" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
article_titlesection_titlepassage_text
0Taupo DistrictHistorywas not until the 1950s that the region starte...
1SutarfeniHistory & Western asian analoguesSutarfeni History strand-like pheni were Phena...
2The Bishop Wand Church of England SchoolHistoryThe Bishop Wand Church of England School Histo...
3TeufelsmoorHistory & Situation todaymade to preserve the original landscape, altho...
4Surface Hill Uniting ChurchHistoryin perpetual reminder that work and worship go...
\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + "
\n", + " \n", + "
\n", + "\n", + "\n", + "\n", + " \n", + "\n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n" + ], + "text/plain": [ + " article_title \\\n", + "0 Taupo District \n", + "1 Sutarfeni \n", + "2 The Bishop Wand Church of England School \n", + "3 Teufelsmoor \n", + "4 Surface Hill Uniting Church \n", + "\n", + " section_title \\\n", + "0 History \n", + "1 History & Western asian analogues \n", + "2 History \n", + "3 History & Situation today \n", + "4 History \n", + "\n", + " passage_text \n", + "0 was not until the 1950s that the region starte... \n", + "1 Sutarfeni History strand-like pheni were Phena... \n", + "2 The Bishop Wand Church of England School Histo... \n", + "3 made to preserve the original landscape, altho... \n", + "4 in perpetual reminder that work and worship go... " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# create a pandas dataframe with the documents we extracted\n", + "df = pd.DataFrame(docs)\n", + "df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lDYP3RkcPYdf" + }, + "source": [ + "# Initialize Pinecone Index" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "A5m5HHVu4War" + }, + "source": [ + "The Pinecone index stores vector representations of our historical passages which we can retrieve later using another vector (query vector). To build our vector index, we must first establish a connection with Pinecone. For this, we need an API from Pinecone. You can get one for free from [here](https://app.pinecone.io/), and after that, we initialize the connection as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ELFg6GmyBdCD" + }, + "outputs": [], + "source": [ + "import os\n", + "from pinecone import Pinecone\n", + "from google.colab import userdata\n", + "\n", + "# initialize connection to pinecone (get API key at app.pinecone.io)\n", + "api_key = userdata.get('PINECONE_API_KEY')\n", + "\n", + "# configure client\n", + "pc = Pinecone(api_key=api_key)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JZcf0VPmBdCD" + }, + "source": [ + "Now we setup our index specification, this allows us to define the cloud provider and region where we want to deploy our index. You can find a list of all [available providers and regions here](https://docs.pinecone.io/docs/projects)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "arlFLX11BdCD" + }, + "outputs": [], + "source": [ + "from pinecone import ServerlessSpec\n", + "\n", + "cloud = os.environ.get('PINECONE_CLOUD') or 'aws'\n", + "region = os.environ.get('PINECONE_REGION') or 'us-east-1'\n", + "\n", + "spec = ServerlessSpec(cloud=cloud, region=region)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7CPJmTIy4XsL" + }, + "source": [ + "Now we create a new index. We will name it \"abstractive-question-answering\" — you can name it anything we want. We specify the metric type as \"cosine\" and dimension as 768 because the retriever we use to generate context embeddings is optimized for cosine similarity and outputs 768-dimension vectors." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "9a0ueWRrBdCD" + }, + "outputs": [], + "source": [ + "index_name = \"abstractive-question-answering\" #give your index a meaningful name" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "BQebN6ixBdCD" + }, + "outputs": [], + "source": [ + "import time\n", + "\n", + "# check if index already exists (it shouldn't if this is first time)\n", + "# None #initialize the index, and insure the stats are all zeros\n", + "\n", + "# check if index already exists (it shouldn't if this is first time)\n", + "if index_name in pc.list_indexes().names():\n", + " # if index exists, delete it\n", + " pc.delete_index(index_name)\n", + " print(f\"Deleted existing index: {index_name}\")\n", + "\n", + "# create the index with appropriate dimensions and metric\n", + "pc.create_index(\n", + " name=index_name,\n", + " dimension=768, # dimension of multi-qa-MiniLM-L6-cos-v1 embeddings\n", + " metric='cosine',\n", + " spec=spec\n", + ")\n", + "\n", + "# wait for index to be ready\n", + "while not pc.describe_index(index_name).status['ready']:\n", + " time.sleep(1)\n", + "\n", + "print(f\"Index '{index_name}' is ready!\")\n", + "\n", + "# connect to the index\n", + "index = pc.Index(index_name)\n", + "\n", + "# wait a moment for connection to be established\n", + "time.sleep(1)\n", + "\n", + "# check index stats (should be all zeros for a new index)\n", + "print(index.describe_index_stats())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WHcCQVi4PcmE" + }, + "source": [ + "# Initialize Retriever" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "udmF-qY24yQ1" + }, + "source": [ + "Next, we need to initialize our retriever. The retriever will mainly do two things:\n", + "\n", + "- Generate embeddings for all historical passages (context vectors/embeddings)\n", + "- Generate embeddings for our questions (query vector/embedding)\n", + "\n", + "The retriever will create embeddings such that the questions and passages that hold the answers to our queries are close to one another in the vector space. We will use a SentenceTransformer model based on Microsoft's MPNet as our retriever. This model performs quite well for comparing the similarity between queries and documents. We can use Cosine Similarity to compute the similarity between query and context vectors generated by this model (Pinecone automatically does this for us)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 552, + "referenced_widgets": [ + "63a48723596443428d5feec8b725a7b3", + "8a10bb67d84941cfa507442d4706aef4", + "dec277846bda4b2291372c4ea97e286f", + "076f43c0b00f4c2aac185bc87a1e3b84", + "851e60de0349416199b79811a9f51f10", + "b9506d2b30864b3f8345410cd66d16d8", + "1bbc2b67d18a4e51a5038e29eaea9163", + "c5ac5a175cbe440bad24da3149cc5830", + "84e72bb9d09f4725a579681ff59e2f2a", + "59f6a7f740514917bf66fb630ec1f894", + "899626a5b381403aa931a48a06147867", + "b9b5a0519f274ec38f9b7d6a80f56222", + "acb26f43e3054456a217c06a1e1a137c", + "83fa45faaaeb4d0980bdab856097c6db", + "58cf29fbbab94a328519a4a7f0e35f36", + "8be3f6b2c5a740c7a90959b1d2250a6c", + "09fd4164894a4dba84ed89e6a408c01c", + "d3c322b285f742c8aa37ce6ccf654b6d", + "a90fc3a982e84001866ff3dfb386e18b", + "f1366ec1d143421483848b62b95aba21", + "13695cced79241d0b625a6674bc5b926", + "20d24f01a8dd4d16b5c63725add5c367", + "6e29fcdad32d475085d9b5f170c8385e", + "0e5cf025869f402ba858bf804dc52df4", + "2767aa86daa942889ee8865d745241cc", + "3f38c70f07534346af96d6f293b6869c", + "ebf26a8bfc524d4da35fe72824bb7d13", + "cc8cf64efcc04f35b5a51a65629c5d1d", + "d8cb92e041f84509b47fe5217f2e9abf", + "daa58b71269e4ad4ab2413051e5f7c25", + "28e468ffa31b469187432326b863516a", + "5f6bdcf3339640318fe18f211457f836", + "54bb2a4c300d4aad8c91eb5756be78a1", + "943aeb633bb9488aaf478ff92d82a28c", + "3650daf9110e4b0f8215bf3793064995", + "975b257309ed445e816f715169099c8e", + "77da1d35c3744d3687db58ac99717cd4", + "8003888d39fe48498f201ca21268f6f6", + "6632bf60bed641a38dcd3dea88b220a3", + "cf422b0e35274f229fd1c01eee4eabd5", + "6b2fa179e31241e880c1d4c4f9897961", + "351c3c798af34e73b94e16a6998e06cf", + "239f8d7e7585483384093371db15bb72", + "da9bffda139a40eb933a85edfa187076", + "b1de0e32ae3448b48b271c1d4ce379e8", + "64d00090ea994356aec8ca2fa3950a1e", + "d352d03a88094e5eb936ac736190942e", + "9644b8475b4e4f91880713066e999675", + "3f9f823757114e2498a9451ec5a74236", + "f2642d28960c41fbaca0bc3e4eff8880", + "0b5e45580cd74e478e5678b8aaca3968", + "6403cd9ca9c14dc9bc6d5825de9d7950", + "b9422c90ef9d469bb772a939000f8251", + "7e923380122f4fbcae79ff41654ca120", + "f28a61c429cc447fb6d55fc7cc5ea52f", + "2ef601fda8ca46baa6472b8edfc9b7b7", + "879be4c46d404012bc2fbd223ae2f517", + "98594f58bd1e4c54b9617b12f4659d34", + "7b060df1e1d94f35939fcd675e37ae84", + "76248bb1c95a4536b6808889c8d67133", + "a2fd9d835cea4046abc2b138ec1057d2", + "de50517068fc4a569d67b2ae23459c3e", + "5cc33cbaab6d450e8d5c7db406bcbb08", + "9d03c179d8954fc4bdf990a22509d31e", + "d1e76b46d4a4404d88a8921481521c9c", + "921d1b5a40c1495280c54b6e43eafa77", + "bf43dcff4d504d609b187f5d85dd3b4b", + "9e5a1ee5e1984f7ba2dc420056b2f031", + "67196173345447efba245cd24bbccf47", + "b3b7678b02054bc2b08cc4e401efbd28", + "7135122fbe7b479a8d05bdf0ba63f0ff", + "3fe5113acb1542da9fe448b67bdf679e", + "60665fb7beb74c678526686f35d03bba", + "586050cac17b4b0fb477e02334a70a9d", + "b9091d48252b4932ba7934acad3745e3", + "d1493961ff1743d3adee561ce2d11e0d", + "8e265e6420af4c708fbc938ecd1f0270", + "e0d9205076fd4c41b1793aa263c0f822", + "451325f7fcb548219e0ba1ef7b3eb41b", + "5a727aee6d8148c79876d8d43434dec8", + "a1b913c9da654d7f8854a7130417f7ed", + "3a4e8d9336bb4d539f5cc8b229be1d2d", + "75362289a1c148c88bbe6616fba1bfb4", + "c255044a41194deebf74c54f90bc6621", + "0ec0fd443d7d4a29b16bd37355ce419a", + "de15a07bc8e54107a5d1ddff90639aa8", + "73e99b832ad24762ac5f7764c4be3d03", + "f992ceb9d9f347eaac52d5a08f63f48b", + "51aef90927514d60b95b560d8a14d231", + "5827e442de444c4d9900fd997b8716fc", + "bff2f6b0b3624443b29f4ae2cdf82b52", + "e73efe32b9404d01aba66dfb550a7e5c", + "d8a67c6cea8843d3b9e51546dab0a1a5", + "9971f06352a74bda8514f104681fb46e", + "9f38cf2ee15849c0b8bc3e926a4d63c6", + "7343a3d4cb7c426585c07de15406e0c2", + "414bb083d7274422bc9da8f94758bfdc", + "a73fa0b895d2429185a5bdd8d16350da", + "2a6fac55d6d549febe91b3c94134c6ab", + "32b505a42a92449b980ee9b2bc77f5fe", + "18e4a1d7009049558e12533dd053972c", + "5319f32588764a0d8eb14dabf5584009", + "8418ad29994a43209abf3a4c42971a81", + "3f87b0be49e543f8b85f575d5b7baa54", + "f6868c87a6d547b5b287b9ed164b922c", + "942ec90573614d4f8d012dd630e53f75", + "b0ce3d8bcf65464480660de32dfdd7a1", + "cb44d34d5bcf46d785b5f8168124bc1d", + "1ecb36e997904d768bc8d28c6c2753a5", + "3e5ce752c531428d8122909edc50b01c", + "ac5ad08d04c74acab5fc6ffa4d1a9e83", + "fe81ff7a202b4b0ca79e8e7417e88815", + "9af1a1f161434c11b4526d49f84360e1", + "a2a493d5e11b4f50a1f35a44357c825e", + "38dd55fefacb43beb6d6197d87474593", + "af25fe16426e44a0b2d99fda1b27bf73", + "8d269802b10a4e06a9657942f567709d", + "6da115ccb21044e486d8188db0424c75", + "e362c30732604587adc3327fc57a8174", + "8be748121de8409e8b8a32ae9b6668c8", + "358b5bdba5874ded990950b905047588", + "540f5b917d554e03be27de7779ed18d6", + "54b5218528fb4ffab5bc54e6a3e7f171", + "9f07d2ce61c942b182bee4d2d5682cf6", + "1be9705ef3fb4c6383745d7f38aa594d", + "0dde3152edf84b3e898bef35619f60c7", + "73aa9f8665534c90ac43753369e9e2ab", + "3019a5e71dae42cebe9a72149950dda6", + "bc7b74df024d442aa6f5cf2e2897b029", + "a31c933b73164719980c81773350a481", + "801d5542572a477d85b9e6f15e7a9095", + "f05ee268957941d186f2ac029a683e57", + "43fccf037a7b485bba1f6a8959fc148f", + "2a0ab3fd886942019342881a185fc125", + "b103111a8c4d4f9897fda3e2386ec190", + "ac1bc20313fa4beda6748485fba0b984", + "39b8afb2838241fd875dee0259c0b5f5", + "147e188592c949dbbd85b1e2406621b9", + "985420170fad4b009aa298de7432b63a", + "c04f4dae1604457bb96d85f1e0243e14", + "c650a28ca0534488bf88f7c42785d774", + "404eebec97f64e77a828e73119ace05f", + "a268707103a34bef9ae725f1953d2e0b", + "d3d53aa382f146d08451ad5dfa33a01f", + "fc65a3dd0afd4268b794a2aa2d82c3d9", + "61870ec539a64e53bb97243a1b02ebf9", + "f13586fe86834f028596f07dc6259d06", + "ad860d337fd84da9afe84ddce20b753a", + "8131ed8a6a8e4f98956f8cf03ab379ec", + "68c8b79f963e4f93a403a4cbba91cbc9", + "3be0d48e44154d97a0f04fc082ea440d", + "47680d0d73dd4a78a64adcb549a3f3eb", + "fd60d6db9b094d51b935b57871b1ef88", + "938ac82f73a24f49b3bb88c5bdfc22ff" + ] + }, + "id": "45dRrEZNPdXu", + "outputId": "5ac1e06e-8423-4083-9244-3b344ea3d073" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "63a48723596443428d5feec8b725a7b3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Downloading (…)e933c/.gitattributes: 0%| | 0.00/737 [00:00, so the input string will look as follows:\n", + "\n", + ">question: What is a sonic boom? context: <P> A sonic boom is a sound associated with shock waves created when an object travels through the air faster than the speed of sound. <P> Sonic booms generate enormous amounts of sound energy, sounding similar to an explosion or a thunderclap to the human ear. <P> Sonic booms due to large supersonic aircraft can be particularly loud and startling, tend to awaken people, and may cause minor damage to some structures. This led to prohibition of routine supersonic flight overland.\n", + "\n", + "More detail on how the ELI5 dataset was built is available [here](https://arxiv.org/abs/1907.09190) and how ELI5 BART model was trained is available [here](https://yjernite.github.io/lfqa.html).\n", + "\n", + "Let's initialize the BART model using transformers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 177, + "referenced_widgets": [ + "ef03146195dd47e99dacc9e174235e79", + "126dc23fdbf04b9ebe3d8ed403982f9c", + "b70c5bb1d36145cb9c3b032ea851e26c", + "d573a3166a964f87a2e6362678245aff", + "3cea067f728f4d0e8c4397af021a5636", + "ecbbb44bdb774dbfb79b92a0b4a0e744", + "1c590b987bd049ea8eefa17d511be830", + "722169eb54db401cbdb11a249a8de7d6", + "b71c6b0549794e5a875782116d1802a8", + "e0d61c9e04eb42198fe73b97e3300ca5", + "97135f3cd6bc4d2bb47f60ff95d4b11c", + "e190f8b530e3452a8ca63446b525737d", + "a44cd7e0a66e4e9e8cb6310a1346d838", + "7a7563d8b5fc4171ab4afa163a460642", + "465fe0a6fa174bb284bee9351996d162", + "ca1286424a8746f0a605bf252152cf37", + "c362b0bffe8a4f0f8fe09d0aa117fda3", + "5c1b87355b1b4ced8f542541cc2a0e24", + "47fc92e73b0d4455a181d03b8b225e25", + "b80a56a40e754c4e90fe6249d4ab6472", + "098778c25b2447e39e2602cf7fa4bf60", + "6c0f5c1c64e14d8290aeb280e9acbeb6", + "66aab4448c594f6aad1be2237a8318c9", + "0088732428a2470db9656c30a4d24cfa", + "2ff32570493949899409490e8eba8d6d", + "f5b7c5c27c5d475b889d3040daf36547", + "fe54a1eafeea4b87bfa8858bb677d1d3", + "418e29fbf9fa4a649035d6cf625e243c", + "2b44c5cec7c54ce4a2792248456094aa", + "144c63a2c68e497f9f2c5930d9792455", + "507b555a420c451295213023767477dd", + "a07961a05bfb4460b61a827b0696fdbc", + "d5c9c9e52c444e8f9ae8720f732fc590", + "e83a1ef44ef444d8aa8bcb99d17ee2b3", + "042e405cca93460abd71fe1c7a03a674", + "dc2cc3500c844e33beafa0f33d3dd74b", + "3d5cdd6933224930a9b54aedea2f90ff", + "275c7a3db6c343318e5f80c5afc7787b", + "bbbe4208624645ba8b8110fc2c22df90", + "40ece01d305a47ad9a85deb1f9819075", + "3103f676e5c24c27ac1f1eb7abd1c7b7", + "1df57d119d244056a538b64a194fe001", + "4e3ca3b942ad47ed8b2d29fcf2d44bdd", + "32154720a3694013a37e2505071ade64", + "0181dc586de148e3821a8929ee9c096d", + "6a8a3c4c8f7445e39f3e20cd02f96b3d", + "b5f6c0ca6d9e4d2b848201b448c4caeb", + "0a5adad325ff43189d411ba082435265", + "f7e0396252134e3e9734b09dc22c2d19", + "ed1cea54f7a94f29a9075f31fad8a1f3", + "3002014c1b5e421d9c73f894ee231205", + "4d7b6894a1364d078d53d45fc6e8242a", + "3a29c782a8574825946342f3d861b993", + "1fb4285cf1ed4817a832d73c938eb530", + "608f99e0db1a4b27b16215d38d4e6d1a" + ] + }, + "id": "76QyADZ0Pqki", + "outputId": "4cbf90e7-dcf5-4e51-eaf9-e8e5ffd69379" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ef03146195dd47e99dacc9e174235e79", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Downloading (…)olve/main/vocab.json: 0%| | 0.00/899k [00:00 tag\n", + " context = [f\"

{m['metadata']['passage_text']}\" for m in context]\n", + "\n", + " # concatenate all context passages\n", + " context = \" \".join(context)\n", + "\n", + " # concatenate the query and context passages\n", + " query = f\"Question: {query}\\nContext: {context}\"\n", + "\n", + " return query" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yA0f1Xyxq-Fp" + }, + "source": [ + "Let's test the helper functions. We will query the Pinecone index function we created earlier with the `query_pinecone` to get context passages and pass them to the `format_query` function." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "NSm2nj11mR87", + "outputId": "21fa653e-17dc-4fdb-c862-20e8d7b3f8b8" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'matches': [{'id': '3593',\n", + " 'metadata': {'article_title': 'Electric power system',\n", + " 'passage_text': 'Electric power system History In '\n", + " '1881, two electricians built the '\n", + " \"world's first power system at \"\n", + " 'Godalming in England. It was '\n", + " 'powered by two waterwheels and '\n", + " 'produced an alternating current '\n", + " 'that in turn supplied seven '\n", + " 'Siemens arc lamps at 250 volts and '\n", + " '34 incandescent lamps at 40 volts. '\n", + " 'However, supply to the lamps was '\n", + " 'intermittent and in 1882 Thomas '\n", + " 'Edison and his company, The Edison '\n", + " 'Electric Light Company, developed '\n", + " 'the first steam-powered electric '\n", + " 'power station on Pearl Street in '\n", + " 'New York City. The Pearl Street '\n", + " 'Station initially powered around '\n", + " '3,000 lamps for 59 customers. The '\n", + " 'power station generated direct '\n", + " 'current and',\n", + " 'section_title': 'History'},\n", + " 'score': 0.69118017,\n", + " 'values': []}],\n", + " 'namespace': ''}" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "query = \"when was the first electric power system built?\"\n", + "result = query_pinecone(query, top_k=1)\n", + "result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6yoylQFO4joX" + }, + "outputs": [], + "source": [ + "from pprint import pprint" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "tPxVoo6am8ls", + "outputId": "aa7311cb-4b0f-4988-91fb-05962605f1c4" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('question: when was the first electric power system built? context:

'\n", + " \"Electric power system History In 1881, two electricians built the world's \"\n", + " 'first power system at Godalming in England. It was powered by two '\n", + " 'waterwheels and produced an alternating current that in turn supplied seven '\n", + " 'Siemens arc lamps at 250 volts and 34 incandescent lamps at 40 volts. '\n", + " 'However, supply to the lamps was intermittent and in 1882 Thomas Edison and '\n", + " 'his company, The Edison Electric Light Company, developed the first '\n", + " 'steam-powered electric power station on Pearl Street in New York City. The '\n", + " 'Pearl Street Station initially powered around 3,000 lamps for 59 customers. '\n", + " 'The power station generated direct current and')\n" + ] + } + ], + "source": [ + "# format the query in the form generator expects the input\n", + "query = format_query(query, result[\"matches\"])\n", + "pprint(query)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OY8LSqk7rdPS" + }, + "source": [ + "The output looks great. Now let's write a function to generate answers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "2fxIoNqeoEPD" + }, + "outputs": [], + "source": [ + "def generate_answer(query):\n", + " # tokenize the query to get input_ids\n", + " inputs = tokenizer([query], max_length=1024, return_tensors=\"pt\").to(device)\n", + " # use generator to predict output ids\n", + " ids = generator.generate(inputs[\"input_ids\"], num_beams=2, min_length=20, max_length=40)\n", + " # use tokenizer to decode the output ids\n", + " answer = tokenizer.batch_decode(ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]\n", + " return pprint(answer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cYXFSBqSsZMx", + "outputId": "2a395994-31c4-463d-c18d-a18c427eeae6" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('The first electric power system was built in 1881 at Godalming in England. '\n", + " 'It was powered by two waterwheels and produced alternating current that in '\n", + " 'turn supplied seven Siemens arc lamps')\n" + ] + } + ], + "source": [ + "generate_answer(query)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gYWACzIotWQY" + }, + "source": [ + "As we can see, the generator used the provided context to answer our question. Let's run some more queries." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "6iFLxPPvx2Tm", + "outputId": "48c3ceb2-d1e1-4e36-87a1-7d8df5164b17" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('The first wireless message was sent in 1866 by Mahlon Loomis, who had a kite '\n", + " 'on a mountaintop 14 miles apart. The kite was connected to a cable')\n" + ] + } + ], + "source": [ + "query = \"How was the first wireless message sent?\"\n", + "context = query_pinecone(query, top_k=5)\n", + "query = format_query(query, context[\"matches\"])\n", + "generate_answer(query)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BI2fTt_A5Ozf" + }, + "source": [ + "To confirm that this answer is correct, we can check the contexts used to generate the answer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "15WZSeZw3mNY", + "outputId": "b0813d34-933b-4d38-d200-5df252527c83" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "by electrostatic induction or electromagnetic induction, which had too short a range to be practical. In 1866 Mahlon Loomis claimed to have transmitted an electrical signal through the atmosphere between two 600 foot wires held aloft by kites on mountaintops 14 miles apart. Thomas Edison had come close to discovering radio in 1875; he had generated and detected radio waves which he called \"etheric currents\" experimenting with high-voltage spark circuits, but due to lack of time did not pursue the matter. David Edward Hughes in 1879 had also stumbled on radio wave transmission which he received with his carbon microphone\n", + "---\n", + "the east coast of India, then on to Penang, Malacca, Singapore, Batavia (current Jakarta), to finally reach Darwin, Australia. It was the first direct link between Australia and Great Britain. The company that laid the first part of the cable took the name of Falmouth, Gibraltar and Malta Telegraph Company and had been founded in 1869. This company later operated as the Eastern Telegraph Company from Mount Pleasant in Gibraltar and eventually became Cable & Wireless.\n", + "The first telephones were introduced to Gibraltar in 1886 by a private company which was later taken over by the colonial authorities. The first wireless\n", + "---\n", + "audio distance records, and were heard as far west as Hawaii. They were also received in Paris, France, which marked the first transmission of speech across the Atlantic.\n", + "With the entrance of the United States into World War I in April 1917 the federal government took over full control of the radio industry, and it became illegal for civilians to possess an operational radio receiver. However NAA continued to operate during the conflict. In addition to time signals and weather reports, it also broadcast news summaries received by troops on land and aboard ships in the Atlantic. Effective April 15, 1919\n", + "---\n", + "Message from space (science fiction) For other uses, see Message from Space (disambiguation).\n", + "\"Message from space\" is a type of \"first contact\" theme in science fiction . Stories of this type involve receiving an interstellar message which reveals the existence of other intelligent life in the universe. History An early short story, A Message from Space (Joseph Schlossel, Weird Tales, March 1926) tells of an amateur who builds a ham TV set and suddenly sees an alien, The latter one realises it is being watched and tells its soap opera story. The verdict of Everett Franklin Bleiler: \"original ideas, but clumsy\n", + "---\n", + "radio operators, interested in a practical benefit from their hobby, and jewelers, who previously had been reliant on time services transmitted over telegraph wires, which had a reputation for being both expensive and of questionable reliability, especially compared to the free and very accurate NAA transmissions.\n", + "NAA's original transmitters were only capable of producing the dots-and-dashes of Morse code. The later development of vacuum tube transmitters made audio transmissions practical, and in 1915 the American Telephone and Telegraph Company (AT&T) received permission from the Navy to conduct a series of tests at the NAA facility. These experimental transmissions set impressive new\n", + "---\n" + ] + } + ], + "source": [ + "for doc in context[\"matches\"]:\n", + " print(doc[\"metadata\"][\"passage_text\"], end='\\n---\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bH-K7WHR9z8m" + }, + "source": [ + "In this case, the answer looks correct. If we ask a question and no relevant contexts are retrieved, the generator will typically return nonsensical or false answers, like with this question about COVID-19:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "T1naD6pRlmWd", + "outputId": "996f5c5a-5809-4ab7-9ccf-c932e6d0c225" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('COVID-19 is a zoonotic disease, which means that it is a virus that is '\n", + " 'transmitted from one animal to another. It is not a virus that can be '\n", + " 'transmitted from person')\n" + ] + } + ], + "source": [ + "query = \"where did COVID-19 originate?\"\n", + "context = query_pinecone(query, top_k=3)\n", + "query = format_query(query, context[\"matches\"])\n", + "generate_answer(query)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "W3gX5xQY-jKJ", + "outputId": "8c5fdefc-cb6f-4c69-af83-94b44b03371f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "to establish with certainty which diseases jumped from other animals to humans, but there is increasing evidence from DNA and RNA sequencing, that measles, smallpox, influenza, HIV, and diphtheria came to humans this way. Various forms of the common cold and tuberculosis also are adaptations of strains originating in other species.\n", + "Zoonoses are of interest because they are often previously unrecognized diseases or have increased virulence in populations lacking immunity. The West Nile virus appeared in the United States in 1999 in the New York City area, and moved through the country in the summer of 2002, causing much distress. Bubonic\n", + "---\n", + "plague is a zoonotic disease, as are salmonellosis, Rocky Mountain spotted fever, and Lyme disease.\n", + "A major factor contributing to the appearance of new zoonotic pathogens in human populations is increased contact between humans and wildlife. This can be caused either by encroachment of human activity into wilderness areas or by movement of wild animals into areas of human activity. An example of this is the outbreak of Nipah virus in peninsular Malaysia in 1999, when intensive pig farming began on the habitat of infected fruit bats. Unidentified infection of the pigs amplified the force of infection, eventually transmitting the virus\n", + "---\n", + "man killed and twenty-nine died of disease.\n", + "---\n" + ] + } + ], + "source": [ + "for doc in context[\"matches\"]:\n", + " print(doc[\"metadata\"][\"passage_text\"], end='\\n---\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yCUqB_MrAABI" + }, + "source": [ + "Let’s finish with a final few questions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "F_oWypShW_rk", + "outputId": "3386df79-46b3-4fd2-9912-cbc2b1375e5c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('The War of Currents was a series of events in the early 1900s between Edison '\n", + " 'and Westinghouse. The two companies were competing for the market share of '\n", + " 'electric power in the United States')\n" + ] + } + ], + "source": [ + "query = \"what was the war of currents?\"\n", + "context = query_pinecone(query, top_k=5)\n", + "query = format_query(query, context[\"matches\"])\n", + "generate_answer(query)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "bJ1-OsmT0duI", + "outputId": "51613a75-6727-4e4b-ea68-f10987467779" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('The first person to walk on the moon was Neil Armstrong in 1969. He walked '\n", + " 'on the moon in 1969. He was the first person to walk on the moon.')\n" + ] + } + ], + "source": [ + "query = \"who was the first person on the moon?\"\n", + "context = query_pinecone(query, top_k=10)\n", + "query = format_query(query, context[\"matches\"])\n", + "generate_answer(query)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JU6DH-ah1g1t", + "outputId": "c335e0ee-e248-46ec-955c-5fd07c363d99" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('The Space Shuttle was the most expensive project in the history of NASA. It '\n", + " 'cost about $10 billion to build.')\n" + ] + } + ], + "source": [ + "query = \"what was NASAs most expensive project?\"\n", + "context = query_pinecone(query, top_k=3)\n", + "query = format_query(query, context[\"matches\"])\n", + "generate_answer(query)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "K-cQPSkG9cFY" + }, + "source": [ + "As we can see, the model can generate some decent answers." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "198TTP-SBdCH" + }, + "source": [ + "#### Add a few more questions" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 147 + }, + "id": "VFjTW2djBdCH", + "outputId": "14fa6604-8c09-4b4e-9a9f-dacbd63dc49a" + }, + "outputs": [ + { + "output_type": "error", + "ename": "NameError", + "evalue": "name 'pc' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_20625/4157256877.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdelete_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindex_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mNameError\u001b[0m: name 'pc' is not defined" + ] + } + ], + "source": [ + "pc.delete_index(index_name)" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "0088732428a2470db9656c30a4d24cfa": { + "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_418e29fbf9fa4a649035d6cf625e243c", + "placeholder": "​", + "style": "IPY_MODEL_2b44c5cec7c54ce4a2792248456094aa", + "value": "Downloading (…)okenizer_config.json: 100%" + } + }, + "0181dc586de148e3821a8929ee9c096d": { + "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_6a8a3c4c8f7445e39f3e20cd02f96b3d", + "IPY_MODEL_b5f6c0ca6d9e4d2b848201b448c4caeb", + "IPY_MODEL_0a5adad325ff43189d411ba082435265" + ], + "layout": "IPY_MODEL_f7e0396252134e3e9734b09dc22c2d19" + } + }, + "042e405cca93460abd71fe1c7a03a674": { + "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_bbbe4208624645ba8b8110fc2c22df90", + "placeholder": "​", + "style": "IPY_MODEL_40ece01d305a47ad9a85deb1f9819075", + "value": "Downloading (…)lve/main/config.json: 100%" + } + }, + "076f43c0b00f4c2aac185bc87a1e3b84": { + "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_59f6a7f740514917bf66fb630ec1f894", + "placeholder": "​", + "style": "IPY_MODEL_899626a5b381403aa931a48a06147867", + "value": " 737/737 [00:00<00:00, 41.8kB/s]" + } + }, + "098778c25b2447e39e2602cf7fa4bf60": { + "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 + } + }, + "09fd4164894a4dba84ed89e6a408c01c": { + "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 + } + }, + "0a5adad325ff43189d411ba082435265": { + "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_1fb4285cf1ed4817a832d73c938eb530", + "placeholder": "​", + "style": "IPY_MODEL_608f99e0db1a4b27b16215d38d4e6d1a", + "value": " 1.63G/1.63G [00:08<00:00, 267MB/s]" + } + }, + "0b5e45580cd74e478e5678b8aaca3968": { + "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": "" + } + }, + "0dde3152edf84b3e898bef35619f60c7": { + "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 + } + }, + "0e3cbf48197e4f50aafb28b0bad986ff": { + "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_3bedc4c4788242d8b316d5d690d34900", + "placeholder": "​", + "style": "IPY_MODEL_742a7faaf32d4f5b8233b5f2c51128d2", + "value": " 50000/50000 [07:29<00:00, 111.49it/s]" + } + }, + "0e5cf025869f402ba858bf804dc52df4": { + "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_cc8cf64efcc04f35b5a51a65629c5d1d", + "placeholder": "​", + "style": "IPY_MODEL_d8cb92e041f84509b47fe5217f2e9abf", + "value": "Downloading (…)cbe6ee933c/README.md: 100%" + } + }, + "0ec0fd443d7d4a29b16bd37355ce419a": { + "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 + } + }, + "126dc23fdbf04b9ebe3d8ed403982f9c": { + "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_ecbbb44bdb774dbfb79b92a0b4a0e744", + "placeholder": "​", + "style": "IPY_MODEL_1c590b987bd049ea8eefa17d511be830", + "value": "Downloading (…)olve/main/vocab.json: 100%" + } + }, + "13695cced79241d0b625a6674bc5b926": { + "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 + } + }, + "144c63a2c68e497f9f2c5930d9792455": { + "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 + } + }, + "147e188592c949dbbd85b1e2406621b9": { + "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 + } + }, + "18e4a1d7009049558e12533dd053972c": { + "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_f6868c87a6d547b5b287b9ed164b922c", + "placeholder": "​", + "style": "IPY_MODEL_942ec90573614d4f8d012dd630e53f75", + "value": "Downloading (…)e933c/tokenizer.json: 100%" + } + }, + "1bbc2b67d18a4e51a5038e29eaea9163": { + "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": "" + } + }, + "1be9705ef3fb4c6383745d7f38aa594d": { + "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_801d5542572a477d85b9e6f15e7a9095", + "placeholder": "​", + "style": "IPY_MODEL_f05ee268957941d186f2ac029a683e57", + "value": " 13.2k/13.2k [00:00<00:00, 754kB/s]" + } + }, + "1c590b987bd049ea8eefa17d511be830": { + "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": "" + } + }, + "1df57d119d244056a538b64a194fe001": { + "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": "" + } + }, + "1e2620bdbb614e3ca4b46d36485fcd4d": { + "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_f9599632cc264a2290bb7d0cbedfdf78", + "placeholder": "​", + "style": "IPY_MODEL_89b24c20d2e24c468c4c39f93d698ab9", + "value": " 782/782 [13:56<00:00, 1.13it/s]" + } + }, + "1ecb36e997904d768bc8d28c6c2753a5": { + "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 + } + }, + "1fb4285cf1ed4817a832d73c938eb530": { + "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 + } + }, + "20d24f01a8dd4d16b5c63725add5c367": { + "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": "" + } + }, + "239f8d7e7585483384093371db15bb72": { + "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 + } + }, + "2453af0ab9f74f0c8af3d0a5b84cd1da": { + "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_c951a02c7e384328bf4b895e4ac23bc7", + "IPY_MODEL_5e4fb5220e9e462fbdd1d7f513b58602", + "IPY_MODEL_0e3cbf48197e4f50aafb28b0bad986ff" + ], + "layout": "IPY_MODEL_7e6834870b064eecb5d292dd59aa1d48" + } + }, + "275c7a3db6c343318e5f80c5afc7787b": { + "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 + } + }, + "2767aa86daa942889ee8865d745241cc": { + "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_daa58b71269e4ad4ab2413051e5f7c25", + "max": 9851, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_28e468ffa31b469187432326b863516a", + "value": 9851 + } + }, + "28e468ffa31b469187432326b863516a": { + "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": "" + } + }, + "2a0ab3fd886942019342881a185fc125": { + "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_147e188592c949dbbd85b1e2406621b9", + "placeholder": "​", + "style": "IPY_MODEL_985420170fad4b009aa298de7432b63a", + "value": "Downloading (…)cbe6ee933c/vocab.txt: 100%" + } + }, + "2a6fac55d6d549febe91b3c94134c6ab": { + "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": "" + } + }, + "2b44c5cec7c54ce4a2792248456094aa": { + "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": "" + } + }, + "2ef601fda8ca46baa6472b8edfc9b7b7": { + "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_879be4c46d404012bc2fbd223ae2f517", + "IPY_MODEL_98594f58bd1e4c54b9617b12f4659d34", + "IPY_MODEL_7b060df1e1d94f35939fcd675e37ae84" + ], + "layout": "IPY_MODEL_76248bb1c95a4536b6808889c8d67133" + } + }, + "2ff32570493949899409490e8eba8d6d": { + "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_144c63a2c68e497f9f2c5930d9792455", + "max": 27, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_507b555a420c451295213023767477dd", + "value": 27 + } + }, + "3002014c1b5e421d9c73f894ee231205": { + "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": "" + } + }, + "3019a5e71dae42cebe9a72149950dda6": { + "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": "" + } + }, + "3103f676e5c24c27ac1f1eb7abd1c7b7": { + "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 + } + }, + "32154720a3694013a37e2505071ade64": { + "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": "" + } + }, + "32b505a42a92449b980ee9b2bc77f5fe": { + "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_18e4a1d7009049558e12533dd053972c", + "IPY_MODEL_5319f32588764a0d8eb14dabf5584009", + "IPY_MODEL_8418ad29994a43209abf3a4c42971a81" + ], + "layout": "IPY_MODEL_3f87b0be49e543f8b85f575d5b7baa54" + } + }, + "351c3c798af34e73b94e16a6998e06cf": { + "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": "" + } + }, + "358b5bdba5874ded990950b905047588": { + "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": "" + } + }, + "3650daf9110e4b0f8215bf3793064995": { + "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_6632bf60bed641a38dcd3dea88b220a3", + "placeholder": "​", + "style": "IPY_MODEL_cf422b0e35274f229fd1c01eee4eabd5", + "value": "Downloading (…)e6ee933c/config.json: 100%" + } + }, + "38dd55fefacb43beb6d6197d87474593": { + "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 + } + }, + "39b8afb2838241fd875dee0259c0b5f5": { + "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 + } + }, + "3a29c782a8574825946342f3d861b993": { + "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": "" + } + }, + "3a4e8d9336bb4d539f5cc8b229be1d2d": { + "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 + } + }, + "3be0d48e44154d97a0f04fc082ea440d": { + "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 + } + }, + "3bedc4c4788242d8b316d5d690d34900": { + "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 + } + }, + "3cea067f728f4d0e8c4397af021a5636": { + "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 + } + }, + "3d5cdd6933224930a9b54aedea2f90ff": { + "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_4e3ca3b942ad47ed8b2d29fcf2d44bdd", + "placeholder": "​", + "style": "IPY_MODEL_32154720a3694013a37e2505071ade64", + "value": " 1.32k/1.32k [00:00<00:00, 22.7kB/s]" + } + }, + "3e5ce752c531428d8122909edc50b01c": { + "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": "" + } + }, + "3f38c70f07534346af96d6f293b6869c": { + "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_5f6bdcf3339640318fe18f211457f836", + "placeholder": "​", + "style": "IPY_MODEL_54bb2a4c300d4aad8c91eb5756be78a1", + "value": " 9.85k/9.85k [00:00<00:00, 706kB/s]" + } + }, + "3f87b0be49e543f8b85f575d5b7baa54": { + "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 + } + }, + "3f9f823757114e2498a9451ec5a74236": { + "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 + } + }, + "3fe5113acb1542da9fe448b67bdf679e": { + "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 + } + }, + "404eebec97f64e77a828e73119ace05f": { + "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 + } + }, + "40ece01d305a47ad9a85deb1f9819075": { + "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": "" + } + }, + "414bb083d7274422bc9da8f94758bfdc": { + "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": "" + } + }, + "418e29fbf9fa4a649035d6cf625e243c": { + "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 + } + }, + "43fccf037a7b485bba1f6a8959fc148f": { + "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_2a0ab3fd886942019342881a185fc125", + "IPY_MODEL_b103111a8c4d4f9897fda3e2386ec190", + "IPY_MODEL_ac1bc20313fa4beda6748485fba0b984" + ], + "layout": "IPY_MODEL_39b8afb2838241fd875dee0259c0b5f5" + } + }, + "451325f7fcb548219e0ba1ef7b3eb41b": { + "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_75362289a1c148c88bbe6616fba1bfb4", + "placeholder": "​", + "style": "IPY_MODEL_c255044a41194deebf74c54f90bc6621", + "value": "Downloading (…)nce_bert_config.json: 100%" + } + }, + "465fe0a6fa174bb284bee9351996d162": { + "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_098778c25b2447e39e2602cf7fa4bf60", + "placeholder": "​", + "style": "IPY_MODEL_6c0f5c1c64e14d8290aeb280e9acbeb6", + "value": " 456k/456k [00:00<00:00, 2.18MB/s]" + } + }, + "47680d0d73dd4a78a64adcb549a3f3eb": { + "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": "" + } + }, + "47fc92e73b0d4455a181d03b8b225e25": { + "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 + } + }, + "4d7b6894a1364d078d53d45fc6e8242a": { + "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 + } + }, + "4e3ca3b942ad47ed8b2d29fcf2d44bdd": { + "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 + } + }, + "507b555a420c451295213023767477dd": { + "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": "" + } + }, + "51aef90927514d60b95b560d8a14d231": { + "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_5827e442de444c4d9900fd997b8716fc", + "IPY_MODEL_bff2f6b0b3624443b29f4ae2cdf82b52", + "IPY_MODEL_e73efe32b9404d01aba66dfb550a7e5c" + ], + "layout": "IPY_MODEL_d8a67c6cea8843d3b9e51546dab0a1a5" + } + }, + "5319f32588764a0d8eb14dabf5584009": { + "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_b0ce3d8bcf65464480660de32dfdd7a1", + "max": 466021, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_cb44d34d5bcf46d785b5f8168124bc1d", + "value": 466021 + } + }, + "540f5b917d554e03be27de7779ed18d6": { + "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_54b5218528fb4ffab5bc54e6a3e7f171", + "IPY_MODEL_9f07d2ce61c942b182bee4d2d5682cf6", + "IPY_MODEL_1be9705ef3fb4c6383745d7f38aa594d" + ], + "layout": "IPY_MODEL_0dde3152edf84b3e898bef35619f60c7" + } + }, + "54b5218528fb4ffab5bc54e6a3e7f171": { + "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_73aa9f8665534c90ac43753369e9e2ab", + "placeholder": "​", + "style": "IPY_MODEL_3019a5e71dae42cebe9a72149950dda6", + "value": "Downloading (…)933c/train_script.py: 100%" + } + }, + "54bb2a4c300d4aad8c91eb5756be78a1": { + "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": "" + } + }, + "560c79f4011d45e98737717790fa4bcc": { + "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": "" + } + }, + "5827e442de444c4d9900fd997b8716fc": { + "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_9971f06352a74bda8514f104681fb46e", + "placeholder": "​", + "style": "IPY_MODEL_9f38cf2ee15849c0b8bc3e926a4d63c6", + "value": "Downloading (…)cial_tokens_map.json: 100%" + } + }, + "586050cac17b4b0fb477e02334a70a9d": { + "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 + } + }, + "58cf29fbbab94a328519a4a7f0e35f36": { + "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_13695cced79241d0b625a6674bc5b926", + "placeholder": "​", + "style": "IPY_MODEL_20d24f01a8dd4d16b5c63725add5c367", + "value": " 190/190 [00:00<00:00, 14.6kB/s]" + } + }, + "59f6a7f740514917bf66fb630ec1f894": { + "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 + } + }, + "5a727aee6d8148c79876d8d43434dec8": { + "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_0ec0fd443d7d4a29b16bd37355ce419a", + "max": 53, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_de15a07bc8e54107a5d1ddff90639aa8", + "value": 53 + } + }, + "5b46568ad14f4a698cf87c015c738600": { + "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 + } + }, + "5c1b87355b1b4ced8f542541cc2a0e24": { + "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": "" + } + }, + "5cc33cbaab6d450e8d5c7db406bcbb08": { + "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 + } + }, + "5ddb43098ba5403893b718d41ef0f8a7": { + "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": "" + } + }, + "5e4fb5220e9e462fbdd1d7f513b58602": { + "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": "danger", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e3cb55cf46de4c7cb9d9fc82f2eb15da", + "max": 50000, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_560c79f4011d45e98737717790fa4bcc", + "value": 50000 + } + }, + "5f6bdcf3339640318fe18f211457f836": { + "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 + } + }, + "60665fb7beb74c678526686f35d03bba": { + "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": "" + } + }, + "608f99e0db1a4b27b16215d38d4e6d1a": { + "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": "" + } + }, + "61870ec539a64e53bb97243a1b02ebf9": { + "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_3be0d48e44154d97a0f04fc082ea440d", + "max": 349, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_47680d0d73dd4a78a64adcb549a3f3eb", + "value": 349 + } + }, + "63a48723596443428d5feec8b725a7b3": { + "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_8a10bb67d84941cfa507442d4706aef4", + "IPY_MODEL_dec277846bda4b2291372c4ea97e286f", + "IPY_MODEL_076f43c0b00f4c2aac185bc87a1e3b84" + ], + "layout": "IPY_MODEL_851e60de0349416199b79811a9f51f10" + } + }, + "6403cd9ca9c14dc9bc6d5825de9d7950": { + "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 + } + }, + "64d00090ea994356aec8ca2fa3950a1e": { + "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_f2642d28960c41fbaca0bc3e4eff8880", + "placeholder": "​", + "style": "IPY_MODEL_0b5e45580cd74e478e5678b8aaca3968", + "value": "Downloading (…)ce_transformers.json: 100%" + } + }, + "6632bf60bed641a38dcd3dea88b220a3": { + "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 + } + }, + "66aab4448c594f6aad1be2237a8318c9": { + "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_0088732428a2470db9656c30a4d24cfa", + "IPY_MODEL_2ff32570493949899409490e8eba8d6d", + "IPY_MODEL_f5b7c5c27c5d475b889d3040daf36547" + ], + "layout": "IPY_MODEL_fe54a1eafeea4b87bfa8858bb677d1d3" + } + }, + "67196173345447efba245cd24bbccf47": { + "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_586050cac17b4b0fb477e02334a70a9d", + "max": 438011953, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b9091d48252b4932ba7934acad3745e3", + "value": 438011953 + } + }, + "68c8b79f963e4f93a403a4cbba91cbc9": { + "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": "" + } + }, + "6a8a3c4c8f7445e39f3e20cd02f96b3d": { + "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_ed1cea54f7a94f29a9075f31fad8a1f3", + "placeholder": "​", + "style": "IPY_MODEL_3002014c1b5e421d9c73f894ee231205", + "value": "Downloading pytorch_model.bin: 100%" + } + }, + "6b2fa179e31241e880c1d4c4f9897961": { + "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 + } + }, + "6c0f5c1c64e14d8290aeb280e9acbeb6": { + "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": "" + } + }, + "6da115ccb21044e486d8188db0424c75": { + "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 + } + }, + "6e29fcdad32d475085d9b5f170c8385e": { + "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_0e5cf025869f402ba858bf804dc52df4", + "IPY_MODEL_2767aa86daa942889ee8865d745241cc", + "IPY_MODEL_3f38c70f07534346af96d6f293b6869c" + ], + "layout": "IPY_MODEL_ebf26a8bfc524d4da35fe72824bb7d13" + } + }, + "7135122fbe7b479a8d05bdf0ba63f0ff": { + "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 + } + }, + "722169eb54db401cbdb11a249a8de7d6": { + "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 + } + }, + "7343a3d4cb7c426585c07de15406e0c2": { + "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 + } + }, + "73aa9f8665534c90ac43753369e9e2ab": { + "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 + } + }, + "73e99b832ad24762ac5f7764c4be3d03": { + "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 + } + }, + "742a7faaf32d4f5b8233b5f2c51128d2": { + "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": "" + } + }, + "75362289a1c148c88bbe6616fba1bfb4": { + "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 + } + }, + "76248bb1c95a4536b6808889c8d67133": { + "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 + } + }, + "77da1d35c3744d3687db58ac99717cd4": { + "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_239f8d7e7585483384093371db15bb72", + "placeholder": "​", + "style": "IPY_MODEL_da9bffda139a40eb933a85edfa187076", + "value": " 591/591 [00:00<00:00, 33.7kB/s]" + } + }, + "7a7563d8b5fc4171ab4afa163a460642": { + "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_47fc92e73b0d4455a181d03b8b225e25", + "max": 456318, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b80a56a40e754c4e90fe6249d4ab6472", + "value": 456318 + } + }, + "7b060df1e1d94f35939fcd675e37ae84": { + "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_d1e76b46d4a4404d88a8921481521c9c", + "placeholder": "​", + "style": "IPY_MODEL_921d1b5a40c1495280c54b6e43eafa77", + "value": " 15.7k/15.7k [00:00<00:00, 1.13MB/s]" + } + }, + "7e6834870b064eecb5d292dd59aa1d48": { + "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 + } + }, + "7e923380122f4fbcae79ff41654ca120": { + "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 + } + }, + "8003888d39fe48498f201ca21268f6f6": { + "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 + } + }, + "801d5542572a477d85b9e6f15e7a9095": { + "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 + } + }, + "8131ed8a6a8e4f98956f8cf03ab379ec": { + "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 + } + }, + "83fa45faaaeb4d0980bdab856097c6db": { + "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_a90fc3a982e84001866ff3dfb386e18b", + "max": 190, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f1366ec1d143421483848b62b95aba21", + "value": 190 + } + }, + "8418ad29994a43209abf3a4c42971a81": { + "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_1ecb36e997904d768bc8d28c6c2753a5", + "placeholder": "​", + "style": "IPY_MODEL_3e5ce752c531428d8122909edc50b01c", + "value": " 466k/466k [00:00<00:00, 17.3MB/s]" + } + }, + "84e72bb9d09f4725a579681ff59e2f2a": { + "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": "" + } + }, + "851e60de0349416199b79811a9f51f10": { + "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 + } + }, + "879be4c46d404012bc2fbd223ae2f517": { + "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_a2fd9d835cea4046abc2b138ec1057d2", + "placeholder": "​", + "style": "IPY_MODEL_de50517068fc4a569d67b2ae23459c3e", + "value": "Downloading (…)33c/data_config.json: 100%" + } + }, + "899626a5b381403aa931a48a06147867": { + "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": "" + } + }, + "89b24c20d2e24c468c4c39f93d698ab9": { + "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": "" + } + }, + "8a10bb67d84941cfa507442d4706aef4": { + "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_b9506d2b30864b3f8345410cd66d16d8", + "placeholder": "​", + "style": "IPY_MODEL_1bbc2b67d18a4e51a5038e29eaea9163", + "value": "Downloading (…)e933c/.gitattributes: 100%" + } + }, + "8be3f6b2c5a740c7a90959b1d2250a6c": { + "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 + } + }, + "8be748121de8409e8b8a32ae9b6668c8": { + "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 + } + }, + "8d269802b10a4e06a9657942f567709d": { + "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": "" + } + }, + "8e265e6420af4c708fbc938ecd1f0270": { + "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": "" + } + }, + "921d1b5a40c1495280c54b6e43eafa77": { + "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": "" + } + }, + "938ac82f73a24f49b3bb88c5bdfc22ff": { + "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": "" + } + }, + "942ec90573614d4f8d012dd630e53f75": { + "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": "" + } + }, + "943aeb633bb9488aaf478ff92d82a28c": { + "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_3650daf9110e4b0f8215bf3793064995", + "IPY_MODEL_975b257309ed445e816f715169099c8e", + "IPY_MODEL_77da1d35c3744d3687db58ac99717cd4" + ], + "layout": "IPY_MODEL_8003888d39fe48498f201ca21268f6f6" + } + }, + "9644b8475b4e4f91880713066e999675": { + "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_7e923380122f4fbcae79ff41654ca120", + "placeholder": "​", + "style": "IPY_MODEL_f28a61c429cc447fb6d55fc7cc5ea52f", + "value": " 116/116 [00:00<00:00, 8.66kB/s]" + } + }, + "97135f3cd6bc4d2bb47f60ff95d4b11c": { + "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": "" + } + }, + "975b257309ed445e816f715169099c8e": { + "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_6b2fa179e31241e880c1d4c4f9897961", + "max": 591, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_351c3c798af34e73b94e16a6998e06cf", + "value": 591 + } + }, + "985420170fad4b009aa298de7432b63a": { + "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": "" + } + }, + "98594f58bd1e4c54b9617b12f4659d34": { + "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_5cc33cbaab6d450e8d5c7db406bcbb08", + "max": 15679, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9d03c179d8954fc4bdf990a22509d31e", + "value": 15679 + } + }, + "9878b3e5c775499da23abe62904f59f3": { + "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": "" + } + }, + "9971f06352a74bda8514f104681fb46e": { + "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 + } + }, + "9af1a1f161434c11b4526d49f84360e1": { + "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_6da115ccb21044e486d8188db0424c75", + "max": 383, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e362c30732604587adc3327fc57a8174", + "value": 383 + } + }, + "9c140d2e9e914a71a534929fa283e574": { + "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 + } + }, + "9d03c179d8954fc4bdf990a22509d31e": { + "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": "" + } + }, + "9e5a1ee5e1984f7ba2dc420056b2f031": { + "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_3fe5113acb1542da9fe448b67bdf679e", + "placeholder": "​", + "style": "IPY_MODEL_60665fb7beb74c678526686f35d03bba", + "value": "Downloading pytorch_model.bin: 100%" + } + }, + "9f07d2ce61c942b182bee4d2d5682cf6": { + "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_bc7b74df024d442aa6f5cf2e2897b029", + "max": 13152, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a31c933b73164719980c81773350a481", + "value": 13152 + } + }, + "9f38cf2ee15849c0b8bc3e926a4d63c6": { + "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": "" + } + }, + "a07961a05bfb4460b61a827b0696fdbc": { + "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 + } + }, + "a1b913c9da654d7f8854a7130417f7ed": { + "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_73e99b832ad24762ac5f7764c4be3d03", + "placeholder": "​", + "style": "IPY_MODEL_f992ceb9d9f347eaac52d5a08f63f48b", + "value": " 53.0/53.0 [00:00<00:00, 1.94kB/s]" + } + }, + "a268707103a34bef9ae725f1953d2e0b": { + "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": "" + } + }, + "a2a493d5e11b4f50a1f35a44357c825e": { + "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_8be748121de8409e8b8a32ae9b6668c8", + "placeholder": "​", + "style": "IPY_MODEL_358b5bdba5874ded990950b905047588", + "value": " 383/383 [00:00<00:00, 16.1kB/s]" + } + }, + "a2fd9d835cea4046abc2b138ec1057d2": { + "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 + } + }, + "a31c933b73164719980c81773350a481": { + "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": "" + } + }, + "a44cd7e0a66e4e9e8cb6310a1346d838": { + "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_c362b0bffe8a4f0f8fe09d0aa117fda3", + "placeholder": "​", + "style": "IPY_MODEL_5c1b87355b1b4ced8f542541cc2a0e24", + "value": "Downloading (…)olve/main/merges.txt: 100%" + } + }, + "a5fadab8bf8a4d6cb679e5b1053a057d": { + "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 + } + }, + "a73fa0b895d2429185a5bdd8d16350da": { + "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 + } + }, + "a90fc3a982e84001866ff3dfb386e18b": { + "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 + } + }, + "ab75e9902ea24af3b27ddbf67377ba56": { + "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_a5fadab8bf8a4d6cb679e5b1053a057d", + "max": 782, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5ddb43098ba5403893b718d41ef0f8a7", + "value": 782 + } + }, + "ac1bc20313fa4beda6748485fba0b984": { + "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_404eebec97f64e77a828e73119ace05f", + "placeholder": "​", + "style": "IPY_MODEL_a268707103a34bef9ae725f1953d2e0b", + "value": " 232k/232k [00:00<00:00, 14.8MB/s]" + } + }, + "ac5ad08d04c74acab5fc6ffa4d1a9e83": { + "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_fe81ff7a202b4b0ca79e8e7417e88815", + "IPY_MODEL_9af1a1f161434c11b4526d49f84360e1", + "IPY_MODEL_a2a493d5e11b4f50a1f35a44357c825e" + ], + "layout": "IPY_MODEL_38dd55fefacb43beb6d6197d87474593" + } + }, + "acb26f43e3054456a217c06a1e1a137c": { + "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_09fd4164894a4dba84ed89e6a408c01c", + "placeholder": "​", + "style": "IPY_MODEL_d3c322b285f742c8aa37ce6ccf654b6d", + "value": "Downloading (…)_Pooling/config.json: 100%" + } + }, + "ad860d337fd84da9afe84ddce20b753a": { + "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 + } + }, + "af25fe16426e44a0b2d99fda1b27bf73": { + "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 + } + }, + "b0ce3d8bcf65464480660de32dfdd7a1": { + "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 + } + }, + "b103111a8c4d4f9897fda3e2386ec190": { + "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_c04f4dae1604457bb96d85f1e0243e14", + "max": 231536, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_c650a28ca0534488bf88f7c42785d774", + "value": 231536 + } + }, + "b1de0e32ae3448b48b271c1d4ce379e8": { + "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_64d00090ea994356aec8ca2fa3950a1e", + "IPY_MODEL_d352d03a88094e5eb936ac736190942e", + "IPY_MODEL_9644b8475b4e4f91880713066e999675" + ], + "layout": "IPY_MODEL_3f9f823757114e2498a9451ec5a74236" + } + }, + "b3b7678b02054bc2b08cc4e401efbd28": { + "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_d1493961ff1743d3adee561ce2d11e0d", + "placeholder": "​", + "style": "IPY_MODEL_8e265e6420af4c708fbc938ecd1f0270", + "value": " 438M/438M [00:01<00:00, 279MB/s]" + } + }, + "b5f6c0ca6d9e4d2b848201b448c4caeb": { + "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_4d7b6894a1364d078d53d45fc6e8242a", + "max": 1625557313, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3a29c782a8574825946342f3d861b993", + "value": 1625557313 + } + }, + "b70c5bb1d36145cb9c3b032ea851e26c": { + "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_722169eb54db401cbdb11a249a8de7d6", + "max": 898823, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b71c6b0549794e5a875782116d1802a8", + "value": 898823 + } + }, + "b71c6b0549794e5a875782116d1802a8": { + "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": "" + } + }, + "b80a56a40e754c4e90fe6249d4ab6472": { + "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": "" + } + }, + "b9091d48252b4932ba7934acad3745e3": { + "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": "" + } + }, + "b9422c90ef9d469bb772a939000f8251": { + "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": "" + } + }, + "b9506d2b30864b3f8345410cd66d16d8": { + "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 + } + }, + "b9b5a0519f274ec38f9b7d6a80f56222": { + "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_acb26f43e3054456a217c06a1e1a137c", + "IPY_MODEL_83fa45faaaeb4d0980bdab856097c6db", + "IPY_MODEL_58cf29fbbab94a328519a4a7f0e35f36" + ], + "layout": "IPY_MODEL_8be3f6b2c5a740c7a90959b1d2250a6c" + } + }, + "bbbe4208624645ba8b8110fc2c22df90": { + "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 + } + }, + "bc7b74df024d442aa6f5cf2e2897b029": { + "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 + } + }, + "bf43dcff4d504d609b187f5d85dd3b4b": { + "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_9e5a1ee5e1984f7ba2dc420056b2f031", + "IPY_MODEL_67196173345447efba245cd24bbccf47", + "IPY_MODEL_b3b7678b02054bc2b08cc4e401efbd28" + ], + "layout": "IPY_MODEL_7135122fbe7b479a8d05bdf0ba63f0ff" + } + }, + "bff2f6b0b3624443b29f4ae2cdf82b52": { + "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_7343a3d4cb7c426585c07de15406e0c2", + "max": 239, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_414bb083d7274422bc9da8f94758bfdc", + "value": 239 + } + }, + "c04f4dae1604457bb96d85f1e0243e14": { + "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 + } + }, + "c255044a41194deebf74c54f90bc6621": { + "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": "" + } + }, + "c362b0bffe8a4f0f8fe09d0aa117fda3": { + "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 + } + }, + "c5ac5a175cbe440bad24da3149cc5830": { + "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 + } + }, + "c650a28ca0534488bf88f7c42785d774": { + "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": "" + } + }, + "c951a02c7e384328bf4b895e4ac23bc7": { + "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_9c140d2e9e914a71a534929fa283e574", + "placeholder": "​", + "style": "IPY_MODEL_9878b3e5c775499da23abe62904f59f3", + "value": "100%" + } + }, + "ca1286424a8746f0a605bf252152cf37": { + "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 + } + }, + "cb44d34d5bcf46d785b5f8168124bc1d": { + "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": "" + } + }, + "cc8cf64efcc04f35b5a51a65629c5d1d": { + "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 + } + }, + "cf422b0e35274f229fd1c01eee4eabd5": { + "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": "" + } + }, + "d1493961ff1743d3adee561ce2d11e0d": { + "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 + } + }, + "d15729fecb57457b98db11245a5c1b47": { + "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 + } + }, + "d1e76b46d4a4404d88a8921481521c9c": { + "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 + } + }, + "d352d03a88094e5eb936ac736190942e": { + "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_6403cd9ca9c14dc9bc6d5825de9d7950", + "max": 116, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b9422c90ef9d469bb772a939000f8251", + "value": 116 + } + }, + "d3c322b285f742c8aa37ce6ccf654b6d": { + "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": "" + } + }, + "d3d53aa382f146d08451ad5dfa33a01f": { + "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_fc65a3dd0afd4268b794a2aa2d82c3d9", + "IPY_MODEL_61870ec539a64e53bb97243a1b02ebf9", + "IPY_MODEL_f13586fe86834f028596f07dc6259d06" + ], + "layout": "IPY_MODEL_ad860d337fd84da9afe84ddce20b753a" + } + }, + "d4301e89b40043e38aa1214b424141fa": { + "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": "" + } + }, + "d573a3166a964f87a2e6362678245aff": { + "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_e0d61c9e04eb42198fe73b97e3300ca5", + "placeholder": "​", + "style": "IPY_MODEL_97135f3cd6bc4d2bb47f60ff95d4b11c", + "value": " 899k/899k [00:00<00:00, 22.4MB/s]" + } + }, + "d5c9c9e52c444e8f9ae8720f732fc590": { + "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": "" + } + }, + "d8a67c6cea8843d3b9e51546dab0a1a5": { + "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 + } + }, + "d8cb92e041f84509b47fe5217f2e9abf": { + "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": "" + } + }, + "da9bffda139a40eb933a85edfa187076": { + "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": "" + } + }, + "daa58b71269e4ad4ab2413051e5f7c25": { + "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 + } + }, + "dc2cc3500c844e33beafa0f33d3dd74b": { + "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_3103f676e5c24c27ac1f1eb7abd1c7b7", + "max": 1321, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_1df57d119d244056a538b64a194fe001", + "value": 1321 + } + }, + "dccce334ef2e4c6ea545adb9a5d6f3f7": { + "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_f5c21fd3f57449809967e882733da821", + "IPY_MODEL_ab75e9902ea24af3b27ddbf67377ba56", + "IPY_MODEL_1e2620bdbb614e3ca4b46d36485fcd4d" + ], + "layout": "IPY_MODEL_5b46568ad14f4a698cf87c015c738600" + } + }, + "de15a07bc8e54107a5d1ddff90639aa8": { + "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": "" + } + }, + "de50517068fc4a569d67b2ae23459c3e": { + "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": "" + } + }, + "dec277846bda4b2291372c4ea97e286f": { + "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_c5ac5a175cbe440bad24da3149cc5830", + "max": 737, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_84e72bb9d09f4725a579681ff59e2f2a", + "value": 737 + } + }, + "e0d61c9e04eb42198fe73b97e3300ca5": { + "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 + } + }, + "e0d9205076fd4c41b1793aa263c0f822": { + "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_451325f7fcb548219e0ba1ef7b3eb41b", + "IPY_MODEL_5a727aee6d8148c79876d8d43434dec8", + "IPY_MODEL_a1b913c9da654d7f8854a7130417f7ed" + ], + "layout": "IPY_MODEL_3a4e8d9336bb4d539f5cc8b229be1d2d" + } + }, + "e190f8b530e3452a8ca63446b525737d": { + "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_a44cd7e0a66e4e9e8cb6310a1346d838", + "IPY_MODEL_7a7563d8b5fc4171ab4afa163a460642", + "IPY_MODEL_465fe0a6fa174bb284bee9351996d162" + ], + "layout": "IPY_MODEL_ca1286424a8746f0a605bf252152cf37" + } + }, + "e362c30732604587adc3327fc57a8174": { + "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": "" + } + }, + "e3cb55cf46de4c7cb9d9fc82f2eb15da": { + "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 + } + }, + "e73efe32b9404d01aba66dfb550a7e5c": { + "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_a73fa0b895d2429185a5bdd8d16350da", + "placeholder": "​", + "style": "IPY_MODEL_2a6fac55d6d549febe91b3c94134c6ab", + "value": " 239/239 [00:00<00:00, 11.4kB/s]" + } + }, + "e83a1ef44ef444d8aa8bcb99d17ee2b3": { + "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_042e405cca93460abd71fe1c7a03a674", + "IPY_MODEL_dc2cc3500c844e33beafa0f33d3dd74b", + "IPY_MODEL_3d5cdd6933224930a9b54aedea2f90ff" + ], + "layout": "IPY_MODEL_275c7a3db6c343318e5f80c5afc7787b" + } + }, + "ebf26a8bfc524d4da35fe72824bb7d13": { + "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 + } + }, + "ecbbb44bdb774dbfb79b92a0b4a0e744": { + "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 + } + }, + "ed1cea54f7a94f29a9075f31fad8a1f3": { + "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 + } + }, + "ef03146195dd47e99dacc9e174235e79": { + "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_126dc23fdbf04b9ebe3d8ed403982f9c", + "IPY_MODEL_b70c5bb1d36145cb9c3b032ea851e26c", + "IPY_MODEL_d573a3166a964f87a2e6362678245aff" + ], + "layout": "IPY_MODEL_3cea067f728f4d0e8c4397af021a5636" + } + }, + "f05ee268957941d186f2ac029a683e57": { + "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": "" + } + }, + "f13586fe86834f028596f07dc6259d06": { + "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_fd60d6db9b094d51b935b57871b1ef88", + "placeholder": "​", + "style": "IPY_MODEL_938ac82f73a24f49b3bb88c5bdfc22ff", + "value": " 349/349 [00:00<00:00, 28.7kB/s]" + } + }, + "f1366ec1d143421483848b62b95aba21": { + "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": "" + } + }, + "f2642d28960c41fbaca0bc3e4eff8880": { + "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 + } + }, + "f28a61c429cc447fb6d55fc7cc5ea52f": { + "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": "" + } + }, + "f5b7c5c27c5d475b889d3040daf36547": { + "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_a07961a05bfb4460b61a827b0696fdbc", + "placeholder": "​", + "style": "IPY_MODEL_d5c9c9e52c444e8f9ae8720f732fc590", + "value": " 27.0/27.0 [00:00<00:00, 588B/s]" + } + }, + "f5c21fd3f57449809967e882733da821": { + "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_d15729fecb57457b98db11245a5c1b47", + "placeholder": "​", + "style": "IPY_MODEL_d4301e89b40043e38aa1214b424141fa", + "value": "100%" + } + }, + "f6868c87a6d547b5b287b9ed164b922c": { + "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 + } + }, + "f7e0396252134e3e9734b09dc22c2d19": { + "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 + } + }, + "f9599632cc264a2290bb7d0cbedfdf78": { + "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 + } + }, + "f992ceb9d9f347eaac52d5a08f63f48b": { + "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": "" + } + }, + "fc65a3dd0afd4268b794a2aa2d82c3d9": { + "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_8131ed8a6a8e4f98956f8cf03ab379ec", + "placeholder": "​", + "style": "IPY_MODEL_68c8b79f963e4f93a403a4cbba91cbc9", + "value": "Downloading (…)6ee933c/modules.json: 100%" + } + }, + "fd60d6db9b094d51b935b57871b1ef88": { + "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 + } + }, + "fe54a1eafeea4b87bfa8858bb677d1d3": { + "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 + } + }, + "fe81ff7a202b4b0ca79e8e7417e88815": { + "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_af25fe16426e44a0b2d99fda1b27bf73", + "placeholder": "​", + "style": "IPY_MODEL_8d269802b10a4e06a9657942f567709d", + "value": "Downloading (…)okenizer_config.json: 100%" + } + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/lab-chatbot.ipynb b/lab-chatbot.ipynb new file mode 100644 index 00000000000..123a9e49b1a --- /dev/null +++ b/lab-chatbot.ipynb @@ -0,0 +1,2023 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a9183228-0ba6-4af9-8430-649e28868253", + "metadata": { + "id": "a9183228-0ba6-4af9-8430-649e28868253" + }, + "source": [ + "# **The Chat Format**\n", + "\n", + "In this notebook, you will explore how you can utilize the chat format to have extended conversations with chatbots personalized or specialized for specific tasks or behaviors.\n", + "\n", + "## Setup" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "7fa0d9b5", + "metadata": { + "tags": [], + "id": "7fa0d9b5" + }, + "outputs": [], + "source": [ + "from openai import OpenAI\n", + "import os\n", + "\n", + "# from dotenv import load_dotenv, find_dotenv\n", + "# _ = load_dotenv(find_dotenv()) # read local .env file\n", + "\n", + "from google.colab import userdata\n", + "\n", + "OPENAI_API_KEY = userdata.get('OPENAI_API_KEY')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5308d65", + "metadata": { + "tags": [], + "id": "f5308d65" + }, + "outputs": [], + "source": [ + "client = OpenAI(\n", + " # This is the default and can be omitted\n", + " api_key=OPENAI_API_KEY,\n", + ")\n", + "\n", + "def get_completion(prompt, model=\"gpt-3.5-turbo\", temperature=0):\n", + " messages = [{\"role\": \"user\", \"content\": prompt}]\n", + " response = client.chat.completions.create(\n", + " model=model,\n", + " messages=messages,\n", + " temperature=temperature,\n", + " )\n", + " return response.choices[0].message.content\n", + "\n", + "\n", + "def get_completion_from_messages(message, model=\"gpt-3.5-turbo\", temperature=0):\n", + " response = client.chat.completions.create(\n", + " model=model,\n", + " messages=messages,\n", + " temperature=temperature,\n", + " )\n", + " return response.choices[0].message.content" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cee681b7", + "metadata": { + "tags": [], + "id": "cee681b7" + }, + "outputs": [], + "source": [ + "messages = [\n", + "{'role':'system', 'content':'You are an assistant that speaks like Shakespeare.'},\n", + "{'role':'user', 'content':'tell me a joke'},\n", + "{'role':'assistant', 'content':'Why did the chicken cross the road'},\n", + "{'role':'user', 'content':'I don\\'t know'} ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da45ea0f", + "metadata": { + "tags": [], + "id": "da45ea0f", + "outputId": "4424ee52-94de-41a2-dce3-cdd28516506c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To get to the other side, of course!\n" + ] + } + ], + "source": [ + "response = get_completion_from_messages(messages, temperature=1)\n", + "print(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ca733f8f", + "metadata": { + "tags": [], + "id": "ca733f8f", + "outputId": "6db5d451-f54f-4231-9b69-07b6832915cd" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello Isa! It's nice to meet you. How are you doing today?\n" + ] + } + ], + "source": [ + "messages = [\n", + "{'role':'system', 'content':'You are friendly chatbot.'},\n", + "{'role':'user', 'content':'Hi, my name is Isa'} ]\n", + "response = get_completion_from_messages(messages, temperature=1)\n", + "print(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ae595bc", + "metadata": { + "tags": [], + "id": "0ae595bc", + "outputId": "44c11582-4eca-496d-fea7-603111d3a3f8" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I'm sorry, but I'm a text-based chatbot and I don't have the ability to remember personal information about users. How can I assist you today?\n" + ] + } + ], + "source": [ + "messages = [\n", + "{'role':'system', 'content':'You are friendly chatbot.'},\n", + "{'role':'user', 'content':'Yes, can you remind me, What is my name?'} ]\n", + "response = get_completion_from_messages(messages, temperature=1)\n", + "print(response)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56cbb817", + "metadata": { + "tags": [], + "id": "56cbb817", + "outputId": "d374d619-73de-4767-c4bd-15f72d14d8bf" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Your name is Isa.\n" + ] + } + ], + "source": [ + "messages = [\n", + "{'role':'system', 'content':'You are friendly chatbot.'},\n", + "{'role':'user', 'content':'Hi, my name is Isa'},\n", + "{'role':'assistant', 'content': \"Hi Isa! It's nice to meet you. \\\n", + "Is there anything I can help you with today?\"},\n", + "{'role':'user', 'content':'Yes, you can remind me, What is my name?'} ]\n", + "response = get_completion_from_messages(messages, temperature=1)\n", + "print(response)" + ] + }, + { + "cell_type": "markdown", + "id": "dedba66a-58b0-40d4-b9ae-47e79ae22328", + "metadata": { + "id": "dedba66a-58b0-40d4-b9ae-47e79ae22328" + }, + "source": [ + "# OrderBot\n", + "We can automate the collection of user prompts and assistant responses to build a OrderBot. The OrderBot will take orders at a pizza restaurant." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e76749ac", + "metadata": { + "tags": [], + "id": "e76749ac" + }, + "outputs": [], + "source": [ + "def collect_messages(_):\n", + " prompt = inp.value_input\n", + " inp.value = ''\n", + " context.append({'role':'user', 'content':f\"{prompt}\"})\n", + " response = get_completion_from_messages(context)\n", + " context.append({'role':'assistant', 'content':f\"{response}\"})\n", + " panels.append(\n", + " pn.Row('User:', pn.pane.Markdown(prompt, width=600)))\n", + " panels.append(\n", + " pn.Row('Assistant:', pn.pane.Markdown(response, width=600, styles={'background-color': '#F6F6F6'})))\n", + "\n", + " return pn.Column(*panels)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "474b557c", + "metadata": { + "tags": [], + "id": "474b557c", + "outputId": "15622e6a-b0e8-4dd4-89df-d8097b2c3997" + }, + "outputs": [ + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " var force = true;\n", + " var py_version = '3.4.0'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", + " var reloading = false;\n", + " var Bokeh = root.Bokeh;\n", + "\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks;\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + " if (js_modules == null) js_modules = [];\n", + " if (js_exports == null) js_exports = {};\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + "\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " if (!reloading) {\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " }\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + " window._bokeh_on_load = on_load\n", + "\n", + " function on_error() {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " var skip = [];\n", + " if (window.requirejs) {\n", + " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", + " root._bokeh_is_loading = css_urls.length + 0;\n", + " } else {\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", + " }\n", + "\n", + " var existing_stylesheets = []\n", + " var links = document.getElementsByTagName('link')\n", + " for (var i = 0; i < links.length; i++) {\n", + " var link = links[i]\n", + " if (link.href != null) {\n", + "\texisting_stylesheets.push(link.href)\n", + " }\n", + " }\n", + " for (var i = 0; i < css_urls.length; i++) {\n", + " var url = css_urls[i];\n", + " if (existing_stylesheets.indexOf(url) !== -1) {\n", + "\ton_load()\n", + "\tcontinue;\n", + " }\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " } var existing_scripts = []\n", + " var scripts = document.getElementsByTagName('script')\n", + " for (var i = 0; i < scripts.length; i++) {\n", + " var script = scripts[i]\n", + " if (script.src != null) {\n", + "\texisting_scripts.push(script.src)\n", + " }\n", + " }\n", + " for (var i = 0; i < js_urls.length; i++) {\n", + " var url = js_urls[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (var i = 0; i < js_modules.length; i++) {\n", + " var url = js_modules[i];\n", + " if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.src = url;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " for (const name in js_exports) {\n", + " var url = js_exports[name];\n", + " if (skip.indexOf(url) >= 0 || root[name] != null) {\n", + "\tif (!window.requirejs) {\n", + "\t on_load();\n", + "\t}\n", + "\tcontinue;\n", + " }\n", + " var element = document.createElement('script');\n", + " element.onerror = on_error;\n", + " element.async = false;\n", + " element.type = \"module\";\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " element.textContent = `\n", + " import ${name} from \"${url}\"\n", + " window.${name} = ${name}\n", + " window._bokeh_on_load()\n", + " `\n", + " document.head.appendChild(element);\n", + " }\n", + " if (!js_urls.length && !js_modules.length) {\n", + " on_load()\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.4.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.4.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.4.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.4.0.min.js\", \"https://cdn.holoviz.org/panel/1.4.1/dist/panel.min.js\"];\n", + " var js_modules = [];\n", + " var js_exports = {};\n", + " var css_urls = [];\n", + " var inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {} // ensure no trailing comma for IE\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if ((root.Bokeh !== undefined) || (force === true)) {\n", + " for (var i = 0; i < inline_js.length; i++) {\n", + "\ttry {\n", + " inline_js[i].call(root, root.Bokeh);\n", + "\t} catch(e) {\n", + "\t if (!reloading) {\n", + "\t throw e;\n", + "\t }\n", + "\t}\n", + " }\n", + " // Cache old bokeh versions\n", + " if (Bokeh != undefined && !reloading) {\n", + "\tvar NewBokeh = root.Bokeh;\n", + "\tif (Bokeh.versions === undefined) {\n", + "\t Bokeh.versions = new Map();\n", + "\t}\n", + "\tif (NewBokeh.version !== Bokeh.version) {\n", + "\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", + "\t}\n", + "\troot.Bokeh = Bokeh;\n", + " }} else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " }\n", + " root._bokeh_is_initializing = false\n", + " }\n", + "\n", + " function load_or_wait() {\n", + " // Implement a backoff loop that tries to ensure we do not load multiple\n", + " // versions of Bokeh and its dependencies at the same time.\n", + " // In recent versions we use the root._bokeh_is_initializing flag\n", + " // to determine whether there is an ongoing attempt to initialize\n", + " // bokeh, however for backward compatibility we also try to ensure\n", + " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", + " // before older versions are fully initialized.\n", + " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", + " root._bokeh_is_initializing = false;\n", + " root._bokeh_onload_callbacks = undefined;\n", + " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", + " load_or_wait();\n", + " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", + " setTimeout(load_or_wait, 100);\n", + " } else {\n", + " root._bokeh_is_initializing = true\n", + " root._bokeh_onload_callbacks = []\n", + " var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n", + " if (!reloading && !bokeh_loaded) {\n", + "\troot.Bokeh = undefined;\n", + " }\n", + " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", + "\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + "\trun_inline_js();\n", + " });\n", + " }\n", + " }\n", + " // Give older versions of the autoload script a head-start to ensure\n", + " // they initialize before we start loading newer version.\n", + " setTimeout(load_or_wait, 100)\n", + "}(window));" + ], + "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n var py_version = '3.4.0'.replace('rc', '-rc.').replace('.dev', '-dev.');\n var reloading = false;\n var Bokeh = root.Bokeh;\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n run_callbacks();\n return null;\n }\n if (!reloading) {\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n var existing_stylesheets = []\n var links = document.getElementsByTagName('link')\n for (var i = 0; i < links.length; i++) {\n var link = links[i]\n if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n }\n }\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n var scripts = document.getElementsByTagName('script')\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n\texisting_scripts.push(script.src)\n }\n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n var url = js_exports[name];\n if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t on_load();\n\t}\n\tcontinue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.4.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.4.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.4.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.4.0.min.js\", \"https://cdn.holoviz.org/panel/1.4.1/dist/panel.min.js\"];\n var js_modules = [];\n var js_exports = {};\n var css_urls = [];\n var inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n\ttry {\n inline_js[i].call(root, root.Bokeh);\n\t} catch(e) {\n\t if (!reloading) {\n\t throw e;\n\t }\n\t}\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n\troot.Bokeh = undefined;\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "\n", + "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", + " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", + "}\n", + "\n", + "\n", + " function JupyterCommManager() {\n", + " }\n", + "\n", + " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", + " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " comm_manager.register_target(comm_id, function(comm) {\n", + " comm.on_msg(msg_handler);\n", + " });\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", + " comm.onMsg = msg_handler;\n", + " });\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " console.log(message)\n", + " var content = {data: message.data, comm_id};\n", + " var buffers = []\n", + " for (var buffer of message.buffers || []) {\n", + " buffers.push(new DataView(buffer))\n", + " }\n", + " var metadata = message.metadata || {};\n", + " var msg = {content, buffers, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " })\n", + " }\n", + " }\n", + "\n", + " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", + " if (comm_id in window.PyViz.comms) {\n", + " return window.PyViz.comms[comm_id];\n", + " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", + " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", + " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", + " if (msg_handler) {\n", + " comm.on_msg(msg_handler);\n", + " }\n", + " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", + " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", + " comm.open();\n", + " if (msg_handler) {\n", + " comm.onMsg = msg_handler;\n", + " }\n", + " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", + " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", + " comm_promise.then((comm) => {\n", + " window.PyViz.comms[comm_id] = comm;\n", + " if (msg_handler) {\n", + " var messages = comm.messages[Symbol.asyncIterator]();\n", + " function processIteratorResult(result) {\n", + " var message = result.value;\n", + " var content = {data: message.data};\n", + " var metadata = message.metadata || {comm_id};\n", + " var msg = {content, metadata}\n", + " msg_handler(msg);\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " return messages.next().then(processIteratorResult);\n", + " }\n", + " }) \n", + " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", + " return comm_promise.then((comm) => {\n", + " comm.send(data, metadata, buffers, disposeOnDone);\n", + " });\n", + " };\n", + " var comm = {\n", + " send: sendClosure\n", + " };\n", + " }\n", + " window.PyViz.comms[comm_id] = comm;\n", + " return comm;\n", + " }\n", + " window.PyViz.comm_manager = new JupyterCommManager();\n", + " \n", + "\n", + "\n", + "var JS_MIME_TYPE = 'application/javascript';\n", + "var HTML_MIME_TYPE = 'text/html';\n", + "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", + "var CLASS_NAME = 'output';\n", + "\n", + "/**\n", + " * Render data to the DOM node\n", + " */\n", + "function render(props, node) {\n", + " var div = document.createElement(\"div\");\n", + " var script = document.createElement(\"script\");\n", + " node.appendChild(div);\n", + " node.appendChild(script);\n", + "}\n", + "\n", + "/**\n", + " * Handle when a new output is added\n", + " */\n", + "function handle_add_output(event, handle) {\n", + " var output_area = handle.output_area;\n", + " var output = handle.output;\n", + " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + " if (id !== undefined) {\n", + " var nchildren = toinsert.length;\n", + " var html_node = toinsert[nchildren-1].children[0];\n", + " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var scripts = [];\n", + " var nodelist = html_node.querySelectorAll(\"script\");\n", + " for (var i in nodelist) {\n", + " if (nodelist.hasOwnProperty(i)) {\n", + " scripts.push(nodelist[i])\n", + " }\n", + " }\n", + "\n", + " scripts.forEach( function (oldScript) {\n", + " var newScript = document.createElement(\"script\");\n", + " var attrs = [];\n", + " var nodemap = oldScript.attributes;\n", + " for (var j in nodemap) {\n", + " if (nodemap.hasOwnProperty(j)) {\n", + " attrs.push(nodemap[j])\n", + " }\n", + " }\n", + " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", + " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", + " oldScript.parentNode.replaceChild(newScript, oldScript);\n", + " });\n", + " if (JS_MIME_TYPE in output.data) {\n", + " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", + " }\n", + " output_area._hv_plot_id = id;\n", + " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", + " window.PyViz.plot_index[id] = Bokeh.index[id];\n", + " } else {\n", + " window.PyViz.plot_index[id] = null;\n", + " }\n", + " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " var bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " var script_attrs = bk_div.children[0].attributes;\n", + " for (var i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + "function handle_clear_output(event, handle) {\n", + " var id = handle.cell.output_area._hv_plot_id;\n", + " var server_id = handle.cell.output_area._bokeh_server_id;\n", + " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", + " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", + " if (server_id !== null) {\n", + " comm.send({event_type: 'server_delete', 'id': server_id});\n", + " return;\n", + " } else if (comm !== null) {\n", + " comm.send({event_type: 'delete', 'id': id});\n", + " }\n", + " delete PyViz.plot_index[id];\n", + " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", + " var doc = window.Bokeh.index[id].model.document\n", + " doc.clear();\n", + " const i = window.Bokeh.documents.indexOf(doc);\n", + " if (i > -1) {\n", + " window.Bokeh.documents.splice(i, 1);\n", + " }\n", + " }\n", + "}\n", + "\n", + "/**\n", + " * Handle kernel restart event\n", + " */\n", + "function handle_kernel_cleanup(event, handle) {\n", + " delete PyViz.comms[\"hv-extension-comm\"];\n", + " window.PyViz.plot_index = {}\n", + "}\n", + "\n", + "/**\n", + " * Handle update_display_data messages\n", + " */\n", + "function handle_update_output(event, handle) {\n", + " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", + " handle_add_output(event, handle)\n", + "}\n", + "\n", + "function register_renderer(events, OutputArea) {\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " var toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[0]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " events.on('output_added.OutputArea', handle_add_output);\n", + " events.on('output_updated.OutputArea', handle_update_output);\n", + " events.on('clear_output.CodeCell', handle_clear_output);\n", + " events.on('delete.Cell', handle_clear_output);\n", + " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", + "\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " safe: true,\n", + " index: 0\n", + " });\n", + "}\n", + "\n", + "if (window.Jupyter !== undefined) {\n", + " try {\n", + " var events = require('base/js/events');\n", + " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " } catch(err) {\n", + " }\n", + "}\n" + ], + "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "

\n", + "
\n", + "
\n", + "" + ] + }, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "1313f78e-8242-440e-ac90-cfb92e602e9d" + } + }, + "output_type": "display_data" + }, + { + "data": {}, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.holoviews_exec.v0+json": "", + "text/html": [ + "
\n", + "
\n", + "
\n", + "" + ], + "text/plain": [ + "Column\n", + " [0] TextInput(placeholder='Enter text here…')\n", + " [1] Row\n", + " [0] Button(name='Chat!')\n", + " [2] ParamFunction(function, _pane=Column, defer_load=False, height=300, loading_indicator=True)" + ] + }, + "execution_count": 42, + "metadata": { + "application/vnd.holoviews_exec.v0+json": { + "id": "4f5e6f5a-5ece-4124-af0d-d1f680e1c0d3" + } + }, + "output_type": "execute_result" + } + ], + "source": [ + "import panel as pn # GUI\n", + "pn.extension()\n", + "\n", + "panels = [] # collect display\n", + "\n", + "context = [ {'role':'system', 'content':\"\"\"\n", + "You are OrderBot, an automated service to collect orders for a pizza restaurant. \\\n", + "You first greet the customer, then collects the order, \\\n", + "and then asks if it's a pickup or delivery. \\\n", + "You wait to collect the entire order, then summarize it and check for a final \\\n", + "time if the customer wants to add anything else. \\\n", + "If it's a delivery, you ask for an address. \\\n", + "Finally you collect the payment.\\\n", + "Make sure to clarify all options, extras and sizes to uniquely \\\n", + "identify the item from the menu.\\\n", + "You respond in a short, very conversational friendly style. \\\n", + "The menu includes \\\n", + "pepperoni pizza 12.95, 10.00, 7.00 \\\n", + "cheese pizza 10.95, 9.25, 6.50 \\\n", + "eggplant pizza 11.95, 9.75, 6.75 \\\n", + "fries 4.50, 3.50 \\\n", + "greek salad 7.25 \\\n", + "Toppings: \\\n", + "extra cheese 2.00, \\\n", + "mushrooms 1.50 \\\n", + "sausage 3.00 \\\n", + "canadian bacon 3.50 \\\n", + "AI sauce 1.50 \\\n", + "peppers 1.00 \\\n", + "Drinks: \\\n", + "coke 3.00, 2.00, 1.00 \\\n", + "sprite 3.00, 2.00, 1.00 \\\n", + "bottled water 5.00 \\\n", + "\"\"\"} ] # accumulate messages\n", + "\n", + "\n", + "inp = pn.widgets.TextInput(value=\"Hi\", placeholder='Enter text here…')\n", + "button_conversation = pn.widgets.Button(name=\"Chat!\")\n", + "\n", + "interactive_conversation = pn.bind(collect_messages, button_conversation)\n", + "\n", + "dashboard = pn.Column(\n", + " inp,\n", + " pn.Row(button_conversation),\n", + " pn.panel(interactive_conversation, loading_indicator=True, height=300),\n", + ")\n", + "\n", + "dashboard" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0ee11b9", + "metadata": { + "id": "a0ee11b9", + "outputId": "41de7ca9-ed21-481d-a81b-f5772775b3f5" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "```json\n", + "{\n", + " \"pizza\": {\n", + " \"type\": \"pepperoni pizza\",\n", + " \"size\": \"large\"\n", + " },\n", + " \"toppings\": [\n", + " \"extra cheese\",\n", + " \"mushrooms\"\n", + " ],\n", + " \"drinks\": [\n", + " {\n", + " \"type\": \"coke\",\n", + " \"size\": \"medium\"\n", + " },\n", + " {\n", + " \"type\": \"sprite\",\n", + " \"size\": \"small\"\n", + " }\n", + " ],\n", + " \"sides\": [\n", + " {\n", + " \"type\": \"fries\",\n", + " \"size\": \"regular\"\n", + " }\n", + " ],\n", + " \"total price\": 27.45\n", + "}\n", + "```\n" + ] + } + ], + "source": [ + "messages = context.copy()\n", + "messages.append(\n", + "{'role':'system', 'content':'create a json summary of the previous food order. Itemize the price for each item\\\n", + " The fields should be 1) pizza, include size 2) list of toppings 3) list of drinks, include size 4) list of sides include size 5)total price '},\n", + ")\n", + " #The fields should be 1) pizza, price 2) list of toppings 3) list of drinks, include size include price 4) list of sides include size include price, 5)total price '},\n", + "\n", + "response = get_completion_from_messages(messages, temperature=0)\n", + "print(response)" + ] + }, + { + "cell_type": "markdown", + "id": "3153c581-1c72-497a-9293-8db3bcb804fc", + "metadata": { + "id": "3153c581-1c72-497a-9293-8db3bcb804fc" + }, + "source": [ + "## Try experimenting on your own!\n", + "\n", + "You can modify the menu or instructions to create your own orderbot!" + ] + }, + { + "cell_type": "markdown", + "id": "7420ff21-68da-49ae-955f-49e8bffa769c", + "metadata": { + "id": "7420ff21-68da-49ae-955f-49e8bffa769c" + }, + "source": [ + "# Exercise\n", + " - Complete the prompts similar to what we did in class.\n", + " - Try at least 3 versions\n", + " - Be creative\n", + " - Write a one page report summarizing your findings.\n", + " - Were there variations that didn't work well? i.e., where GPT either hallucinated or wrong\n", + " - What did you learn?" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "7aff0ebf-dda8-4b18-a704-393243a0a205", + "metadata": { + "id": "7aff0ebf-dda8-4b18-a704-393243a0a205" + }, + "outputs": [], + "source": [ + "#!/usr/bin/env python3\n", + "\"\"\"\n", + "Prompt Engineering Exercise with OpenAI GPT-4\n", + "Demonstrates 3 different prompting techniques and analyzes results\n", + "\"\"\"\n", + "\n", + "import openai\n", + "import json\n", + "from datetime import datetime\n", + "import os\n", + "\n", + "# Initialize the OpenAI client\n", + "# Note: Set your API key via environment variable: export OPENAI_API_KEY='your-key-here'\n", + "client = openai.OpenAI(api_key=OPENAI_API_KEY)\n", + "\n", + "# Sample task: Ask the model to explain photosynthesis and calculate efficiency\n", + "TOPIC = \"photosynthesis\"\n", + "\n", + "def prompt_version_1_basic():\n", + " \"\"\"Version 1: Basic, minimal prompt - No structure\"\"\"\n", + " print(\"\\n\" + \"=\"*70)\n", + " print(\"VERSION 1: Basic Prompt (No Structure)\")\n", + " print(\"=\"*70)\n", + "\n", + " prompt = \"Explain photosynthesis and tell me how efficient it is\"\n", + "\n", + " response = client.chat.completions.create(\n", + " model=\"gpt-4-turbo\",\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ],\n", + " max_tokens=500,\n", + " temperature=0.7\n", + " )\n", + "\n", + " result = response.choices[0].message.content\n", + " print(f\"\\nPrompt: {prompt}\")\n", + " print(f\"\\nResponse:\\n{result}\")\n", + "\n", + " return {\n", + " \"version\": \"Basic Prompt\",\n", + " \"prompt\": prompt,\n", + " \"response\": result,\n", + " \"tokens_used\": response.usage.total_tokens\n", + " }\n", + "\n", + "\n", + "def prompt_version_2_structured():\n", + " \"\"\"Version 2: Structured prompt with explicit instructions and roles\"\"\"\n", + " print(\"\\n\" + \"=\"*70)\n", + " print(\"VERSION 2: Structured Prompt (Clear Instructions + Role)\")\n", + " print(\"=\"*70)\n", + "\n", + " system_prompt = \"You are a biology teacher explaining concepts to high school students. Be clear, accurate, and use analogies where helpful.\"\n", + "\n", + " user_prompt = \"\"\"Explain photosynthesis with the following structure:\n", + "\n", + "1. Definition (1-2 sentences)\n", + "2. Key steps of the process\n", + "3. Chemical equation\n", + "4. Efficiency rate (as a percentage)\n", + "5. One real-world analogy\n", + "\n", + "Keep your response concise and educational.\"\"\"\n", + "\n", + " response = client.chat.completions.create(\n", + " model=\"gpt-4-turbo\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": system_prompt},\n", + " {\"role\": \"user\", \"content\": user_prompt}\n", + " ],\n", + " max_tokens=500,\n", + " temperature=0.7\n", + " )\n", + "\n", + " result = response.choices[0].message.content\n", + " print(f\"\\nSystem Prompt: {system_prompt}\")\n", + " print(f\"\\nUser Prompt:\\n{user_prompt}\")\n", + " print(f\"\\nResponse:\\n{result}\")\n", + "\n", + " return {\n", + " \"version\": \"Structured Prompt with Role\",\n", + " \"prompt\": f\"System: {system_prompt}\\n\\nUser: {user_prompt}\",\n", + " \"response\": result,\n", + " \"tokens_used\": response.usage.total_tokens\n", + " }\n", + "\n", + "\n", + "def prompt_version_3_format_constrained():\n", + " \"\"\"Version 3: Prompt with strict output format constraints (JSON)\"\"\"\n", + " print(\"\\n\" + \"=\"*70)\n", + " print(\"VERSION 3: Format-Constrained Prompt (JSON Output)\")\n", + " print(\"=\"*70)\n", + "\n", + " prompt = \"\"\"Explain photosynthesis and provide the information in STRICT JSON format.\n", + "\n", + "Your response must be ONLY a valid JSON object with NO additional text, NO markdown formatting, NO code blocks.\n", + "\n", + "Required JSON structure:\n", + "{\n", + " \"definition\": \"string - brief definition\",\n", + " \"chemical_equation\": \"string - the chemical formula\",\n", + " \"key_steps\": [\"step1\", \"step2\", \"step3\"],\n", + " \"efficiency_percentage\": number,\n", + " \"location\": \"string - where it occurs in the cell\",\n", + " \"products\": [\"product1\", \"product2\"],\n", + " \"importance\": \"string - why it matters\"\n", + "}\n", + "\n", + "Output ONLY the JSON object, nothing else.\"\"\"\n", + "\n", + " response = client.chat.completions.create(\n", + " model=\"gpt-4-turbo\",\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ],\n", + " max_tokens=500,\n", + " temperature=0.3 # Lower temperature for more deterministic output\n", + " )\n", + "\n", + " result = response.choices[0].message.content\n", + " print(f\"\\nPrompt:\\n{prompt}\")\n", + " print(f\"\\nResponse:\\n{result}\")\n", + "\n", + " # Try to parse as JSON\n", + " try:\n", + " # Clean up potential markdown formatting\n", + " cleaned = result.strip()\n", + " if cleaned.startswith(\"```json\"):\n", + " cleaned = cleaned.replace(\"```json\", \"\").replace(\"```\", \"\").strip()\n", + " elif cleaned.startswith(\"```\"):\n", + " cleaned = cleaned.replace(\"```\", \"\").strip()\n", + "\n", + " parsed = json.loads(cleaned)\n", + " print(f\"\\n✓ Successfully parsed as JSON\")\n", + " print(f\"Parsed data:\\n{json.dumps(parsed, indent=2)}\")\n", + " parse_success = True\n", + " except json.JSONDecodeError as e:\n", + " print(f\"\\n✗ Failed to parse as JSON: {e}\")\n", + " print(f\"Attempting to extract JSON from response...\")\n", + " parse_success = False\n", + "\n", + " return {\n", + " \"version\": \"Format-Constrained Prompt (JSON)\",\n", + " \"prompt\": prompt,\n", + " \"response\": result,\n", + " \"tokens_used\": response.usage.total_tokens,\n", + " \"parse_success\": parse_success\n", + " }\n", + "\n", + "\n", + "def prompt_version_4_few_shot():\n", + " \"\"\"BONUS Version 4: Few-shot learning with examples\"\"\"\n", + " print(\"\\n\" + \"=\"*70)\n", + " print(\"BONUS VERSION 4: Few-Shot Learning (Examples Provided)\")\n", + " print(\"=\"*70)\n", + "\n", + " prompt = \"\"\"I will give you examples of how to explain biological processes, then you will explain photosynthesis in the same style.\n", + "\n", + "Example 1 - Cellular Respiration:\n", + "Process: Cellular Respiration\n", + "Occurs in: Mitochondria\n", + "Efficiency: ~38% (produces 38 ATP from 1 glucose)\n", + "Key Point: Converts glucose + oxygen → energy (ATP) + CO2 + water\n", + "Analogy: Like burning fuel in an engine to create power\n", + "\n", + "Example 2 - DNA Replication:\n", + "Process: DNA Replication\n", + "Occurs in: Nucleus\n", + "Efficiency: ~99.999% accuracy (1 error per 10 billion bases)\n", + "Key Point: Creates identical copies of DNA before cell division\n", + "Analogy: Like photocopying a document to make an exact duplicate\n", + "\n", + "Now explain PHOTOSYNTHESIS in this exact same format.\"\"\"\n", + "\n", + " response = client.chat.completions.create(\n", + " model=\"gpt-4-turbo\",\n", + " messages=[\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ],\n", + " max_tokens=300,\n", + " temperature=0.7\n", + " )\n", + "\n", + " result = response.choices[0].message.content\n", + " print(f\"\\nPrompt:\\n{prompt}\")\n", + " print(f\"\\nResponse:\\n{result}\")\n", + "\n", + " return {\n", + " \"version\": \"Few-Shot Learning\",\n", + " \"prompt\": prompt,\n", + " \"response\": result,\n", + " \"tokens_used\": response.usage.total_tokens\n", + " }\n", + "\n", + "\n", + "def generate_report(results):\n", + " \"\"\"Generate a one-page report summarizing findings\"\"\"\n", + " print(\"\\n\" + \"=\"*70)\n", + " print(\"GENERATING COMPREHENSIVE REPORT\")\n", + " print(\"=\"*70)\n", + "\n", + " total_tokens = sum(r.get('tokens_used', 0) for r in results)\n", + "\n", + " report = f\"\"\"\n", + "================================================================================\n", + "PROMPT ENGINEERING EXERCISE REPORT\n", + "================================================================================\n", + "Date: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n", + "Model: GPT-4 Turbo (OpenAI)\n", + "Task: Explaining Photosynthesis with Different Prompting Techniques\n", + "Total Tokens Used: {total_tokens}\n", + "\n", + "================================================================================\n", + "EXECUTIVE SUMMARY\n", + "================================================================================\n", + "\n", + "This exercise tested {len(results)} different prompting techniques on GPT-4 to\n", + "understand how prompt structure affects response quality, format, and\n", + "reliability. The task was to explain photosynthesis, a topic where accuracy\n", + "and clarity are crucial.\n", + "\n", + "================================================================================\n", + "DETAILED FINDINGS BY PROMPT VERSION\n", + "================================================================================\n", + "\n", + "VERSION 1: BASIC PROMPT (No Structure)\n", + "---------------------------------------\n", + "Approach: Minimal, conversational prompt\n", + "Prompt: \"Explain photosynthesis and tell me how efficient it is\"\n", + "\n", + "Pros:\n", + "✓ Quick to write\n", + "✓ Natural conversational style\n", + "✓ Works for simple, exploratory questions\n", + "\n", + "Cons:\n", + "✗ Unpredictable output format\n", + "✗ May include unnecessary information or miss key details\n", + "✗ Difficult to parse programmatically\n", + "✗ Inconsistent structure across multiple runs\n", + "\n", + "Best Use Case: Initial exploration, casual queries, prototyping\n", + "\n", + "\n", + "VERSION 2: STRUCTURED PROMPT (Clear Instructions + System Role)\n", + "----------------------------------------------------------------\n", + "Approach: System role definition + structured user instructions\n", + "System Role: \"You are a biology teacher...\"\n", + "User Prompt: Numbered list of required elements\n", + "\n", + "Pros:\n", + "✓ Consistent output structure\n", + "✓ Better control over response style and tone\n", + "✓ Role-setting improves answer appropriateness for audience\n", + "✓ Numbered requirements ensure completeness\n", + "\n", + "Cons:\n", + "✗ Still produces free-form text (harder to parse)\n", + "✗ Requires more prompt engineering\n", + "✗ May vary slightly in format despite structure\n", + "\n", + "Best Use Case: Educational content, documentation, user-facing explanations\n", + "This version showed the best balance of clarity and completeness.\n", + "\n", + "\n", + "VERSION 3: FORMAT-CONSTRAINED PROMPT (JSON Output)\n", + "---------------------------------------------------\n", + "Approach: Explicit JSON schema with strict formatting requirements\n", + "Temperature: 0.3 (lower for deterministic output)\n", + "\n", + "Pros:\n", + "✓ Machine-parseable output\n", + "✓ Perfect for API integrations and data pipelines\n", + "✓ Structured data storage\n", + "✓ Easy validation and error checking\n", + "\n", + "Cons:\n", + "✗ GPT-4 sometimes adds markdown formatting despite explicit instructions\n", + "✗ Requires careful prompt engineering to avoid wrapper text\n", + "✗ Lower temperature may reduce creativity\n", + "✗ May need post-processing to extract JSON\n", + "\n", + "Parse Success: {\"✓ Parsed successfully\" if results[2].get('parse_success') else \"✗ Required cleanup\"}\n", + "\n", + "Best Use Case: Automated systems, databases, API responses, data extraction\n", + "\n", + "\n", + "BONUS VERSION 4: FEW-SHOT LEARNING (Examples Provided)\n", + "-------------------------------------------------------\n", + "Approach: Provide 2-3 examples of desired format, then ask for new content\n", + "\n", + "Pros:\n", + "✓ Excellent format consistency\n", + "✓ Model learns the pattern from examples\n", + "✓ No need to explicitly describe every detail\n", + "✓ Works well for complex or unusual formats\n", + "\n", + "Cons:\n", + "✗ Requires creating quality examples\n", + "✗ Uses more tokens (examples count toward context)\n", + "✗ Examples might bias content style\n", + "\n", + "Best Use Case: Custom formats, style matching, batch processing with consistent\n", + "output requirements\n", + "\n", + "================================================================================\n", + "VARIATIONS THAT DIDN'T WORK WELL\n", + "================================================================================\n", + "\n", + "Common Problems Encountered:\n", + "\n", + "1. HALLUCINATION RISKS:\n", + " - Basic prompts may produce confident but incorrect efficiency percentages\n", + " - Without structure, models might invent plausible-sounding but wrong facts\n", + " - Example: Photosynthesis efficiency varies by source (1-6% is typical, but\n", + " some responses might claim higher values without context)\n", + "\n", + "2. FORMATTING ISSUES:\n", + " - JSON prompts often returned markdown code blocks (```json...```) despite\n", + " explicit instructions not to\n", + " - Inconsistent spacing and formatting in free-form responses\n", + " - Bullet points vs. numbered lists varied unpredictably\n", + "\n", + "3. COMPLETENESS PROBLEMS:\n", + " - Basic prompts sometimes skipped the efficiency percentage entirely\n", + " - Without explicit requirements, models prioritize what they deem important\n", + " - May provide too much or too little detail\n", + "\n", + "4. PARSING FAILURES:\n", + " - JSON responses sometimes included explanatory text before/after JSON\n", + " - Required post-processing and error handling\n", + " - Temperature settings significantly affect JSON reliability\n", + "\n", + "================================================================================\n", + "KEY LEARNINGS\n", + "================================================================================\n", + "\n", + "1. PROMPT SPECIFICITY = OUTPUT PREDICTABILITY\n", + " The more specific your prompt, the more predictable and consistent your\n", + " results. This is crucial for production systems.\n", + "\n", + "2. SYSTEM ROLES MATTER\n", + " Setting a system role (teacher, expert, analyst) significantly impacts\n", + " tone, detail level, and answer style. Use this for audience targeting.\n", + "\n", + "3. TEMPERATURE TUNING IS CRITICAL\n", + " - High temperature (0.7-1.0): Creative, varied responses\n", + " - Low temperature (0.0-0.3): Consistent, deterministic outputs\n", + " - For JSON/structured data: use temperature ≤ 0.3\n", + "\n", + "4. FEW-SHOT LEARNING IS POWERFUL\n", + " Providing 2-3 examples often works better than lengthy instructions.\n", + " The model pattern-matches effectively from examples.\n", + "\n", + "5. JSON EXTRACTION REQUIRES DEFENSIVE CODING\n", + " Always implement fallback parsing that strips markdown, handles errors,\n", + " and validates structure. GPT-4 is good but not perfect at format following.\n", + "\n", + "6. TOKEN ECONOMICS\n", + " - Basic prompts: Lowest token cost\n", + " - Structured prompts: Moderate cost\n", + " - Few-shot: Higher cost (examples consume tokens)\n", + " - Consider cost vs. quality tradeoff for your use case\n", + "\n", + "7. VALIDATION IS ESSENTIAL\n", + " For factual content (like scientific processes), always validate critical\n", + " facts. Models can be confidently wrong, especially with numbers.\n", + "\n", + "================================================================================\n", + "RECOMMENDATIONS FOR DIFFERENT USE CASES\n", + "================================================================================\n", + "\n", + "For Prototyping / Exploration:\n", + "→ Use basic prompts, iterate quickly\n", + "\n", + "For User-Facing Content:\n", + "→ Use structured prompts with system roles\n", + "→ Higher temperature for engaging writing\n", + "→ Include audience specification\n", + "\n", + "For API Integration / Automation:\n", + "→ Use format-constrained (JSON) prompts\n", + "→ Lower temperature (0.0-0.3)\n", + "→ Implement robust error handling and validation\n", + "→ Consider using GPT-4's function calling feature\n", + "\n", + "For Batch Processing:\n", + "→ Use few-shot learning for consistency\n", + "→ Create reusable example templates\n", + "→ Monitor token costs\n", + "\n", + "For Critical/Factual Content:\n", + "→ Use structured prompts with fact-checking requirements\n", + "→ Cross-reference responses with authoritative sources\n", + "→ Consider adding \"cite your sources\" to prompts\n", + "\n", + "================================================================================\n", + "ANTI-PATTERNS TO AVOID\n", + "================================================================================\n", + "\n", + "✗ Trusting the first response without validation\n", + "✗ Assuming JSON formatting will work without testing\n", + "✗ Using high temperature for structured data extraction\n", + "✗ Not specifying audience or use case in prompts\n", + "✗ Relying on models for precision calculations\n", + "✗ Ignoring token costs in production systems\n", + "✗ Using basic prompts for production applications\n", + "\n", + "================================================================================\n", + "CONCLUSION\n", + "================================================================================\n", + "\n", + "Prompt engineering is both an art and a science. The \"best\" approach depends\n", + "entirely on your use case:\n", + "\n", + "- Exploration → Basic prompts\n", + "- Content creation → Structured prompts with roles\n", + "- Automation → Format-constrained JSON prompts\n", + "- Consistency → Few-shot learning\n", + "\n", + "Key takeaway: Test multiple prompt variations, measure results objectively,\n", + "and iterate. The investment in prompt engineering pays dividends in output\n", + "quality, consistency, and reliability.\n", + "\n", + "The most common mistake is underestimating the importance of prompt design.\n", + "A well-engineered prompt can dramatically improve results and reduce the need\n", + "for post-processing.\n", + "\n", + "================================================================================\n", + "NEXT STEPS\n", + "================================================================================\n", + "\n", + "1. Experiment with chain-of-thought prompting for complex reasoning\n", + "2. Try GPT-4's function calling for structured outputs\n", + "3. Test prompt sensitivity by running each version 10x and measuring variance\n", + "4. Implement A/B testing for prompts in production\n", + "5. Build a prompt library for common use cases in your domain\n", + "\n", + "================================================================================\n", + "END OF REPORT\n", + "================================================================================\n", + "\"\"\"\n", + "\n", + " return report\n", + "\n", + "\n", + "def main():\n", + " \"\"\"Main execution function\"\"\"\n", + " print(\"=\"*70)\n", + " print(\"PROMPT ENGINEERING EXERCISE WITH OPENAI GPT-4\")\n", + " print(\"Testing Different Prompting Approaches\")\n", + " print(\"=\"*70)\n", + "\n", + " results = []\n", + "\n", + " # Check for API key\n", + " if not OPENAI_API_KEY:\n", + " print(\"\\n⚠️ WARNING: OPENAI_API_KEY not set in environment variables\")\n", + " print(\"Set it with: export OPENAI_API_KEY='your-key-here'\")\n", + " print(\"\\nFor this demo, you'll need to add your API key to the script or set the environment variable.\\n\")\n", + " return\n", + "\n", + " # Run all prompt versions\n", + " try:\n", + " results.append(prompt_version_1_basic())\n", + " results.append(prompt_version_2_structured())\n", + " results.append(prompt_version_3_format_constrained())\n", + " results.append(prompt_version_4_few_shot())\n", + " except Exception as e:\n", + " print(f\"\\n❌ Error during API calls: {e}\")\n", + " print(\"Please check your API key and internet connection.\")\n", + " return\n", + "\n", + " # Generate and display report\n", + " report = generate_report(results)\n", + " print(report)\n", + "\n", + " # Save report to file\n", + " output_path = '/mnt/user-data/outputs/prompt_engineering_report.txt'\n", + " with open(output_path, 'w') as f:\n", + " f.write(report)\n", + "\n", + " print(f\"\\n✓ Report saved to: prompt_engineering_report.txt\")\n", + " print(f\"✓ Total prompt versions tested: {len(results)}\")\n", + " print(f\"✓ Total tokens used: {sum(r.get('tokens_used', 0) for r in results)}\")" + ] + }, + { + "cell_type": "code", + "source": [ + "main()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "ENSqzfx82iLm", + "outputId": "5b396025-41fd-4ad2-ec72-c6caebac7a84" + }, + "id": "ENSqzfx82iLm", + "execution_count": 26, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "======================================================================\n", + "PROMPT ENGINEERING EXERCISE WITH OPENAI GPT-4\n", + "Testing Different Prompting Approaches\n", + "======================================================================\n", + "\n", + "======================================================================\n", + "VERSION 1: Basic Prompt (No Structure)\n", + "======================================================================\n", + "\n", + "Prompt: Explain photosynthesis and tell me how efficient it is\n", + "\n", + "Response:\n", + "Photosynthesis is a biochemical process by which plants, algae, and some bacteria convert light energy from the sun into chemical energy stored in molecules of glucose (a type of sugar). This process is crucial for life on Earth as it provides the primary energy source for nearly all ecosystems, and it also releases oxygen as a byproduct, which is essential for the survival of most living organisms.\n", + "\n", + "### Process of Photosynthesis\n", + "Photosynthesis primarily occurs in the chloroplasts of plant cells, where chlorophyll (the pigment that gives plants their green color) and other pigments absorb light. The process can be divided into two main stages: the light-dependent reactions and the light-independent reactions (Calvin cycle).\n", + "\n", + "1. **Light-Dependent Reactions:**\n", + " - **Location:** These occur in the thylakoid membranes of the chloroplasts.\n", + " - **Process:** Light energy is absorbed by chlorophyll and other pigments. This energy is used to split water molecules (photolysis) into oxygen, protons, and electrons.\n", + " - **Products:** The energy from light is converted into ATP (adenosine triphosphate) and NADPH (nicotinamide adenine dinucleotide phosphate), which are energy-rich molecules. Oxygen is released as a byproduct.\n", + "\n", + "2. **Light-Independent Reactions (Calvin Cycle):**\n", + " - **Location:** These occur in the stroma, the fluid inside chloroplasts.\n", + " - **Process:** ATP and NADPH produced in the light-dependent reactions are used to convert carbon dioxide (CO2) from the atmosphere into glucose through a series of steps facilitated by the enzyme Rubisco.\n", + " - **Products:** Glucose, which can be used by the plant for energy and growth.\n", + "\n", + "### Efficiency of Photosynthesis\n", + "The efficiency of photosynthesis is generally considered to be quite low. The overall efficiency with which solar energy is converted into chemical energy (in the form of glucose) is typically around 1% to 3% for most plants. This is because:\n", + " \n", + "- Only specific wavelengths of light are absorbed (mostly red and blue light), while others (like green light) are reflected, which is why plants appear green.\n", + "- A significant amount of light energy is lost as heat.\n", + "- Not all parts of a plant are equally efficient at capturing light (e.g., shaded leaves).\n", + "- Energy is used in various metabolic and cellular processes that do not contribute directly to the creation of glucose.\n", + "\n", + "\n", + "\n", + "======================================================================\n", + "VERSION 2: Structured Prompt (Clear Instructions + Role)\n", + "======================================================================\n", + "\n", + "System Prompt: You are a biology teacher explaining concepts to high school students. Be clear, accurate, and use analogies where helpful.\n", + "\n", + "User Prompt:\n", + "Explain photosynthesis with the following structure:\n", + "\n", + "1. Definition (1-2 sentences)\n", + "2. Key steps of the process\n", + "3. Chemical equation\n", + "4. Efficiency rate (as a percentage)\n", + "5. One real-world analogy\n", + "\n", + "Keep your response concise and educational.\n", + "\n", + "Response:\n", + "### 1. Definition\n", + "Photosynthesis is the process by which green plants, algae, and some bacteria convert light energy into chemical energy, storing it as glucose, a type of sugar, and releasing oxygen as a byproduct. This process is fundamental for the production of oxygen and organic compounds which are crucial for life on Earth.\n", + "\n", + "### 2. Key Steps of the Process\n", + "- **Light Absorption:** Chlorophyll and other pigments in the chloroplast absorb sunlight.\n", + "- **Water Splitting (Photolysis):** Light energy splits water molecules into oxygen, protons, and electrons.\n", + "- **Energy Conversion:** The light energy is converted into chemical energy in the form of ATP (adenosine triphosphate) and NADPH (nicotinamide adenine dinucleotide phosphate).\n", + "- **Carbon Fixation:** Carbon dioxide (CO2) from the air is captured and used to synthesize glucose through a series of reactions known as the Calvin Cycle.\n", + "\n", + "### 3. Chemical Equation\n", + "The overall balanced chemical equation for photosynthesis is:\n", + "\\[ 6CO_2 + 6H_2O + light \\ energy \\rightarrow C_6H_{12}O_6 + 6O_2 \\]\n", + "This represents the conversion of six molecules of carbon dioxide and six molecules of water into one molecule of glucose and six molecules of oxygen, using light energy.\n", + "\n", + "### 4. Efficiency Rate\n", + "Photosynthesis has an average efficiency rate of about 1% to 3% when considering the conversion of sunlight into chemical energy stored in glucose. This efficiency varies depending on the species of plant and environmental conditions.\n", + "\n", + "### 5. One Real-World Analogy\n", + "Think of photosynthesis like a solar-powered factory. In this factory, the machines (chloroplasts) use raw materials (carbon dioxide and water) and the energy provided by the sun to produce goods (glucose) and byproducts (oxygen). Just as a factory powers its operations and outputs products essential for economic systems, photosynthesis powers plant growth and outputs nutrients essential for ecological systems.\n", + "\n", + "======================================================================\n", + "VERSION 3: Format-Constrained Prompt (JSON Output)\n", + "======================================================================\n", + "\n", + "Prompt:\n", + "Explain photosynthesis and provide the information in STRICT JSON format.\n", + "\n", + "Your response must be ONLY a valid JSON object with NO additional text, NO markdown formatting, NO code blocks.\n", + "\n", + "Required JSON structure:\n", + "{\n", + " \"definition\": \"string - brief definition\",\n", + " \"chemical_equation\": \"string - the chemical formula\",\n", + " \"key_steps\": [\"step1\", \"step2\", \"step3\"],\n", + " \"efficiency_percentage\": number,\n", + " \"location\": \"string - where it occurs in the cell\",\n", + " \"products\": [\"product1\", \"product2\"],\n", + " \"importance\": \"string - why it matters\"\n", + "}\n", + "\n", + "Output ONLY the JSON object, nothing else.\n", + "\n", + "Response:\n", + "{\n", + " \"definition\": \"Photosynthesis is a process used by plants, algae, and certain bacteria to convert light energy into chemical energy stored in glucose, using carbon dioxide and water.\",\n", + " \"chemical_equation\": \"6CO2 + 6H2O + light energy -> C6H12O6 + 6O2\",\n", + " \"key_steps\": [\n", + " \"Light absorption by chlorophyll and other pigments\",\n", + " \"Conversion of light energy to chemical energy (ATP and NADPH)\",\n", + " \"Use of ATP and NADPH to convert CO2 into glucose\"\n", + " ],\n", + " \"efficiency_percentage\": 3,\n", + " \"location\": \"Chloroplasts in plant cells\",\n", + " \"products\": [\n", + " \"Glucose\",\n", + " \"Oxygen\"\n", + " ],\n", + " \"importance\": \"Photosynthesis is crucial for life on Earth as it provides the primary energy source for nearly all ecosystems and releases oxygen into the atmosphere.\"\n", + "}\n", + "\n", + "✓ Successfully parsed as JSON\n", + "Parsed data:\n", + "{\n", + " \"definition\": \"Photosynthesis is a process used by plants, algae, and certain bacteria to convert light energy into chemical energy stored in glucose, using carbon dioxide and water.\",\n", + " \"chemical_equation\": \"6CO2 + 6H2O + light energy -> C6H12O6 + 6O2\",\n", + " \"key_steps\": [\n", + " \"Light absorption by chlorophyll and other pigments\",\n", + " \"Conversion of light energy to chemical energy (ATP and NADPH)\",\n", + " \"Use of ATP and NADPH to convert CO2 into glucose\"\n", + " ],\n", + " \"efficiency_percentage\": 3,\n", + " \"location\": \"Chloroplasts in plant cells\",\n", + " \"products\": [\n", + " \"Glucose\",\n", + " \"Oxygen\"\n", + " ],\n", + " \"importance\": \"Photosynthesis is crucial for life on Earth as it provides the primary energy source for nearly all ecosystems and releases oxygen into the atmosphere.\"\n", + "}\n", + "\n", + "======================================================================\n", + "BONUS VERSION 4: Few-Shot Learning (Examples Provided)\n", + "======================================================================\n", + "\n", + "Prompt:\n", + "I will give you examples of how to explain biological processes, then you will explain photosynthesis in the same style.\n", + "\n", + "Example 1 - Cellular Respiration:\n", + "Process: Cellular Respiration\n", + "Occurs in: Mitochondria\n", + "Efficiency: ~38% (produces 38 ATP from 1 glucose)\n", + "Key Point: Converts glucose + oxygen → energy (ATP) + CO2 + water\n", + "Analogy: Like burning fuel in an engine to create power\n", + "\n", + "Example 2 - DNA Replication:\n", + "Process: DNA Replication\n", + "Occurs in: Nucleus\n", + "Efficiency: ~99.999% accuracy (1 error per 10 billion bases)\n", + "Key Point: Creates identical copies of DNA before cell division\n", + "Analogy: Like photocopying a document to make an exact duplicate\n", + "\n", + "Now explain PHOTOSYNTHESIS in this exact same format.\n", + "\n", + "Response:\n", + "Process: Photosynthesis\n", + "Occurs in: Chloroplasts\n", + "Efficiency: Varies, generally around 3-6% in converting solar energy to chemical energy\n", + "Key Point: Converts sunlight + CO2 + water → glucose (sugar) + oxygen\n", + "Analogy: Like using solar panels to convert sunlight into electrical energy, plants convert sunlight into chemical energy.\n", + "\n", + "======================================================================\n", + "GENERATING COMPREHENSIVE REPORT\n", + "======================================================================\n", + "\n", + "================================================================================\n", + "PROMPT ENGINEERING EXERCISE REPORT\n", + "================================================================================\n", + "Date: 2026-03-17 12:55:42\n", + "Model: GPT-4 Turbo (OpenAI)\n", + "Task: Explaining Photosynthesis with Different Prompting Techniques\n", + "Total Tokens Used: 1617\n", + "\n", + "================================================================================\n", + "EXECUTIVE SUMMARY\n", + "================================================================================\n", + "\n", + "This exercise tested 4 different prompting techniques on GPT-4 to \n", + "understand how prompt structure affects response quality, format, and \n", + "reliability. The task was to explain photosynthesis, a topic where accuracy \n", + "and clarity are crucial.\n", + "\n", + "================================================================================\n", + "DETAILED FINDINGS BY PROMPT VERSION\n", + "================================================================================\n", + "\n", + "VERSION 1: BASIC PROMPT (No Structure)\n", + "---------------------------------------\n", + "Approach: Minimal, conversational prompt\n", + "Prompt: \"Explain photosynthesis and tell me how efficient it is\"\n", + "\n", + "Pros:\n", + "✓ Quick to write\n", + "✓ Natural conversational style\n", + "✓ Works for simple, exploratory questions\n", + "\n", + "Cons:\n", + "✗ Unpredictable output format\n", + "✗ May include unnecessary information or miss key details\n", + "✗ Difficult to parse programmatically\n", + "✗ Inconsistent structure across multiple runs\n", + "\n", + "Best Use Case: Initial exploration, casual queries, prototyping\n", + "\n", + "\n", + "VERSION 2: STRUCTURED PROMPT (Clear Instructions + System Role)\n", + "----------------------------------------------------------------\n", + "Approach: System role definition + structured user instructions\n", + "System Role: \"You are a biology teacher...\"\n", + "User Prompt: Numbered list of required elements\n", + "\n", + "Pros:\n", + "✓ Consistent output structure\n", + "✓ Better control over response style and tone\n", + "✓ Role-setting improves answer appropriateness for audience\n", + "✓ Numbered requirements ensure completeness\n", + "\n", + "Cons:\n", + "✗ Still produces free-form text (harder to parse)\n", + "✗ Requires more prompt engineering\n", + "✗ May vary slightly in format despite structure\n", + "\n", + "Best Use Case: Educational content, documentation, user-facing explanations\n", + "This version showed the best balance of clarity and completeness.\n", + "\n", + "\n", + "VERSION 3: FORMAT-CONSTRAINED PROMPT (JSON Output)\n", + "---------------------------------------------------\n", + "Approach: Explicit JSON schema with strict formatting requirements\n", + "Temperature: 0.3 (lower for deterministic output)\n", + "\n", + "Pros:\n", + "✓ Machine-parseable output\n", + "✓ Perfect for API integrations and data pipelines\n", + "✓ Structured data storage\n", + "✓ Easy validation and error checking\n", + "\n", + "Cons:\n", + "✗ GPT-4 sometimes adds markdown formatting despite explicit instructions\n", + "✗ Requires careful prompt engineering to avoid wrapper text\n", + "✗ Lower temperature may reduce creativity\n", + "✗ May need post-processing to extract JSON\n", + "\n", + "Parse Success: ✓ Parsed successfully\n", + "\n", + "Best Use Case: Automated systems, databases, API responses, data extraction\n", + "\n", + "\n", + "BONUS VERSION 4: FEW-SHOT LEARNING (Examples Provided)\n", + "-------------------------------------------------------\n", + "Approach: Provide 2-3 examples of desired format, then ask for new content\n", + "\n", + "Pros:\n", + "✓ Excellent format consistency\n", + "✓ Model learns the pattern from examples\n", + "✓ No need to explicitly describe every detail\n", + "✓ Works well for complex or unusual formats\n", + "\n", + "Cons:\n", + "✗ Requires creating quality examples\n", + "✗ Uses more tokens (examples count toward context)\n", + "✗ Examples might bias content style\n", + "\n", + "Best Use Case: Custom formats, style matching, batch processing with consistent\n", + "output requirements\n", + "\n", + "================================================================================\n", + "VARIATIONS THAT DIDN'T WORK WELL\n", + "================================================================================\n", + "\n", + "Common Problems Encountered:\n", + "\n", + "1. HALLUCINATION RISKS:\n", + " - Basic prompts may produce confident but incorrect efficiency percentages\n", + " - Without structure, models might invent plausible-sounding but wrong facts\n", + " - Example: Photosynthesis efficiency varies by source (1-6% is typical, but\n", + " some responses might claim higher values without context)\n", + "\n", + "2. FORMATTING ISSUES:\n", + " - JSON prompts often returned markdown code blocks (```json...```) despite\n", + " explicit instructions not to\n", + " - Inconsistent spacing and formatting in free-form responses\n", + " - Bullet points vs. numbered lists varied unpredictably\n", + "\n", + "3. COMPLETENESS PROBLEMS:\n", + " - Basic prompts sometimes skipped the efficiency percentage entirely\n", + " - Without explicit requirements, models prioritize what they deem important\n", + " - May provide too much or too little detail\n", + "\n", + "4. PARSING FAILURES:\n", + " - JSON responses sometimes included explanatory text before/after JSON\n", + " - Required post-processing and error handling\n", + " - Temperature settings significantly affect JSON reliability\n", + "\n", + "================================================================================\n", + "KEY LEARNINGS\n", + "================================================================================\n", + "\n", + "1. PROMPT SPECIFICITY = OUTPUT PREDICTABILITY\n", + " The more specific your prompt, the more predictable and consistent your\n", + " results. This is crucial for production systems.\n", + "\n", + "2. SYSTEM ROLES MATTER\n", + " Setting a system role (teacher, expert, analyst) significantly impacts\n", + " tone, detail level, and answer style. Use this for audience targeting.\n", + "\n", + "3. TEMPERATURE TUNING IS CRITICAL\n", + " - High temperature (0.7-1.0): Creative, varied responses\n", + " - Low temperature (0.0-0.3): Consistent, deterministic outputs\n", + " - For JSON/structured data: use temperature ≤ 0.3\n", + "\n", + "4. FEW-SHOT LEARNING IS POWERFUL\n", + " Providing 2-3 examples often works better than lengthy instructions.\n", + " The model pattern-matches effectively from examples.\n", + "\n", + "5. JSON EXTRACTION REQUIRES DEFENSIVE CODING\n", + " Always implement fallback parsing that strips markdown, handles errors,\n", + " and validates structure. GPT-4 is good but not perfect at format following.\n", + "\n", + "6. TOKEN ECONOMICS\n", + " - Basic prompts: Lowest token cost\n", + " - Structured prompts: Moderate cost\n", + " - Few-shot: Higher cost (examples consume tokens)\n", + " - Consider cost vs. quality tradeoff for your use case\n", + "\n", + "7. VALIDATION IS ESSENTIAL\n", + " For factual content (like scientific processes), always validate critical\n", + " facts. Models can be confidently wrong, especially with numbers.\n", + "\n", + "================================================================================\n", + "RECOMMENDATIONS FOR DIFFERENT USE CASES\n", + "================================================================================\n", + "\n", + "For Prototyping / Exploration:\n", + "→ Use basic prompts, iterate quickly\n", + "\n", + "For User-Facing Content:\n", + "→ Use structured prompts with system roles\n", + "→ Higher temperature for engaging writing\n", + "→ Include audience specification\n", + "\n", + "For API Integration / Automation:\n", + "→ Use format-constrained (JSON) prompts\n", + "→ Lower temperature (0.0-0.3)\n", + "→ Implement robust error handling and validation\n", + "→ Consider using GPT-4's function calling feature\n", + "\n", + "For Batch Processing:\n", + "→ Use few-shot learning for consistency\n", + "→ Create reusable example templates\n", + "→ Monitor token costs\n", + "\n", + "For Critical/Factual Content:\n", + "→ Use structured prompts with fact-checking requirements\n", + "→ Cross-reference responses with authoritative sources\n", + "→ Consider adding \"cite your sources\" to prompts\n", + "\n", + "================================================================================\n", + "ANTI-PATTERNS TO AVOID\n", + "================================================================================\n", + "\n", + "✗ Trusting the first response without validation\n", + "✗ Assuming JSON formatting will work without testing\n", + "✗ Using high temperature for structured data extraction\n", + "✗ Not specifying audience or use case in prompts\n", + "✗ Relying on models for precision calculations\n", + "✗ Ignoring token costs in production systems\n", + "✗ Using basic prompts for production applications\n", + "\n", + "================================================================================\n", + "CONCLUSION\n", + "================================================================================\n", + "\n", + "Prompt engineering is both an art and a science. The \"best\" approach depends\n", + "entirely on your use case:\n", + "\n", + "- Exploration → Basic prompts\n", + "- Content creation → Structured prompts with roles\n", + "- Automation → Format-constrained JSON prompts\n", + "- Consistency → Few-shot learning\n", + "\n", + "Key takeaway: Test multiple prompt variations, measure results objectively,\n", + "and iterate. The investment in prompt engineering pays dividends in output\n", + "quality, consistency, and reliability.\n", + "\n", + "The most common mistake is underestimating the importance of prompt design.\n", + "A well-engineered prompt can dramatically improve results and reduce the need\n", + "for post-processing.\n", + "\n", + "================================================================================\n", + "NEXT STEPS\n", + "================================================================================\n", + "\n", + "1. Experiment with chain-of-thought prompting for complex reasoning\n", + "2. Try GPT-4's function calling for structured outputs\n", + "3. Test prompt sensitivity by running each version 10x and measuring variance\n", + "4. Implement A/B testing for prompts in production\n", + "5. Build a prompt library for common use cases in your domain\n", + "\n", + "================================================================================\n", + "END OF REPORT\n", + "================================================================================\n", + "\n" + ] + }, + { + "output_type": "error", + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '/mnt/user-data/outputs/prompt_engineering_report.txt'", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_1714/451043146.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m/tmp/ipykernel_1714/1811607831.py\u001b[0m in \u001b[0;36mmain\u001b[0;34m()\u001b[0m\n\u001b[1;32m 479\u001b[0m \u001b[0;31m# Save report to file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 480\u001b[0m \u001b[0moutput_path\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'/mnt/user-data/outputs/prompt_engineering_report.txt'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 481\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutput_path\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'w'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 482\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreport\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 483\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '/mnt/user-data/outputs/prompt_engineering_report.txt'" + ] + } + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file