llama-stack-mirror/docs/notebooks/Llama_Stack_Building_AI_Applications.ipynb
Dinesh Yeduguru 6964510dc1
update notebook to use new tool defs (#745)
# What does this PR do?

Update notebook for new tool defs
2025-01-13 15:07:15 -08:00

8570 lines
568 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "c1e7571c",
"metadata": {
"id": "c1e7571c"
},
"source": [
"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1F2ksmkoGQPa4pzRjMOE6BXWeOxWFIW6n?usp=sharing)\n",
"\n",
"# Llama Stack - Building AI Applications\n",
"\n",
"<img src=\"https://llama-stack.readthedocs.io/en/latest/_images/llama-stack.png\" alt=\"drawing\" width=\"500\"/>\n",
"\n",
"[Llama Stack](https://github.com/meta-llama/llama-stack) defines and standardizes the set of core building blocks needed to bring generative AI applications to market. These building blocks are presented in the form of interoperable APIs with a broad set of Service Providers providing their implementations.\n",
"\n",
"Read more about the project: https://llama-stack.readthedocs.io/en/latest/index.html\n",
"\n",
"In this guide, we will showcase how you can build LLM-powered agentic applications using Llama Stack.\n"
]
},
{
"cell_type": "markdown",
"id": "4CV1Q19BDMVw",
"metadata": {
"id": "4CV1Q19BDMVw"
},
"source": [
"## 1. Getting started with Llama Stack"
]
},
{
"cell_type": "markdown",
"id": "K4AvfUAJZOeS",
"metadata": {
"id": "K4AvfUAJZOeS"
},
"source": [
"### 1.1. Create TogetherAI account\n",
"\n",
"\n",
"In order to run inference for the llama models, you will need to use an inference provider. Llama stack supports a number of inference [providers](https://github.com/meta-llama/llama-stack/tree/main/llama_stack/providers/remote/inference).\n",
"\n",
"\n",
"In this showcase, we will use [together.ai](https://www.together.ai/) as the inference provider. So, you would first get an API key from Together if you dont have one already.\n",
"\n",
"Steps [here](https://docs.google.com/document/d/1Vg998IjRW_uujAPnHdQ9jQWvtmkZFt74FldW2MblxPY/edit?usp=sharing).\n",
"\n",
"You can also use Fireworks.ai or even Ollama if you would like to.\n",
"\n",
"\n",
"\n",
"> **Note:** Set the API Key in the Secrets of this notebook\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "oDUB7M_qe-Gs",
"metadata": {
"id": "oDUB7M_qe-Gs"
},
"source": [
"### 1.2. Install Llama Stack\n",
"\n",
"We will now start with installing the [llama-stack pypi package](https://pypi.org/project/llama-stack).\n",
"\n",
"In addition, we will install [bubblewrap](https://github.com/containers/bubblewrap), a low level light-weight container framework that runs in the user namespace. We will use it to execute code generated by Llama in one of the examples."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "J2kGed0R5PSf",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "J2kGed0R5PSf",
"outputId": "3fa6d087-2f12-444f-b3d3-9331305abb51"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Reading package lists... Done\n",
"Building dependency tree... Done\n",
"Reading state information... Done\n",
"The following NEW packages will be installed:\n",
" bubblewrap\n",
"0 upgraded, 1 newly installed, 0 to remove and 49 not upgraded.\n",
"Need to get 46.3 kB of archives.\n",
"After this operation, 132 kB of additional disk space will be used.\n",
"Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 bubblewrap amd64 0.6.1-1ubuntu0.1 [46.3 kB]\n",
"Fetched 46.3 kB in 1s (52.2 kB/s)\n",
"Selecting previously unselected package bubblewrap.\n",
"(Reading database ... 123632 files and directories currently installed.)\n",
"Preparing to unpack .../bubblewrap_0.6.1-1ubuntu0.1_amd64.deb ...\n",
"Unpacking bubblewrap (0.6.1-1ubuntu0.1) ...\n",
"Setting up bubblewrap (0.6.1-1ubuntu0.1) ...\n",
"Processing triggers for man-db (2.10.2-1) ...\n",
"Collecting llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git\n",
" Cloning https://github.com/meta-llama/llama-stack-client-python.git to /tmp/pip-install-y4g346dn/llama-stack-client_dea5c21edaf144f4b76e5cb6f78c1a79\n",
" Running command git clone --filter=blob:none --quiet https://github.com/meta-llama/llama-stack-client-python.git /tmp/pip-install-y4g346dn/llama-stack-client_dea5c21edaf144f4b76e5cb6f78c1a79\n",
" Resolved https://github.com/meta-llama/llama-stack-client-python.git to commit db90c54d82e3c2fa6f334adcaf700940dad163a3\n",
" Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (3.7.1)\n",
"Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (8.1.8)\n",
"Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (1.9.0)\n",
"Requirement already satisfied: httpx<1,>=0.23.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (0.28.1)\n",
"Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2.2.2)\n",
"Requirement already satisfied: prompt-toolkit in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (3.0.48)\n",
"Collecting pyaml (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git)\n",
" Downloading pyaml-25.1.0-py3-none-any.whl.metadata (12 kB)\n",
"Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2.10.4)\n",
"Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (13.9.4)\n",
"Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (1.3.1)\n",
"Requirement already satisfied: termcolor in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2.5.0)\n",
"Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (4.67.1)\n",
"Requirement already satisfied: typing-extensions<5,>=4.7 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (4.12.2)\n",
"Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (3.10)\n",
"Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (1.2.2)\n",
"Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx<1,>=0.23.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2024.12.14)\n",
"Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx<1,>=0.23.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (1.0.7)\n",
"Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx<1,>=0.23.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (0.14.0)\n",
"Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (0.7.0)\n",
"Requirement already satisfied: pydantic-core==2.27.2 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2.27.2)\n",
"Requirement already satisfied: numpy>=1.22.4 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (1.26.4)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2024.2)\n",
"Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2024.2)\n",
"Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (0.2.13)\n",
"Requirement already satisfied: PyYAML in /usr/local/lib/python3.10/dist-packages (from pyaml->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (6.0.2)\n",
"Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (3.0.0)\n",
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (2.18.0)\n",
"Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (0.1.2)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->llama-stack-client@ git+https://github.com/meta-llama/llama-stack-client-python.git) (1.17.0)\n",
"Downloading pyaml-25.1.0-py3-none-any.whl (26 kB)\n",
"Building wheels for collected packages: llama-stack-client\n",
" Building wheel for llama-stack-client (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for llama-stack-client: filename=llama_stack_client-0.0.63-py3-none-any.whl size=318443 sha256=212ae3a9f3d5bb8a88801e4c3e625d99c9cb1d50d978cb6b2a8f7d069f013f06\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-c7a22578/wheels/c9/21/63/5f6965968ab3dae8a0b1a0e43ca4991732ca03184aa158c15c\n",
"Successfully built llama-stack-client\n",
"Installing collected packages: pyaml, llama-stack-client\n",
"Successfully installed llama-stack-client-0.0.63 pyaml-25.1.0\n",
"Collecting llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor\n",
" Cloning https://github.com/meta-llama/llama-stack.git (to revision fix_sqlite_span_processor) to /tmp/pip-install-0iqgax6t/llama-stack_824f45a9298043deacb6c11e12206393\n",
" Running command git clone --filter=blob:none --quiet https://github.com/meta-llama/llama-stack.git /tmp/pip-install-0iqgax6t/llama-stack_824f45a9298043deacb6c11e12206393\n",
" Running command git checkout -b fix_sqlite_span_processor --track origin/fix_sqlite_span_processor\n",
" Switched to a new branch 'fix_sqlite_span_processor'\n",
" Branch 'fix_sqlite_span_processor' set up to track remote branch 'fix_sqlite_span_processor' from 'origin'.\n",
" Resolved https://github.com/meta-llama/llama-stack.git to commit 6fc155f25261691613d075fd8d08f728c2596815\n",
" Running command git submodule update --init --recursive -q\n",
" Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
"Collecting blobfile (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor)\n",
" Downloading blobfile-3.0.0-py3-none-any.whl.metadata (15 kB)\n",
"Collecting fire (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor)\n",
" Downloading fire-0.7.0.tar.gz (87 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m87.2/87.2 kB\u001b[0m \u001b[31m8.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: httpx in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.28.1)\n",
"Requirement already satisfied: huggingface-hub in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.27.1)\n",
"Collecting llama-models>=0.0.63 (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor)\n",
" Downloading llama_models-0.0.63-py3-none-any.whl.metadata (8.2 kB)\n",
"Requirement already satisfied: llama-stack-client>=0.0.63 in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.0.63)\n",
"Requirement already satisfied: prompt-toolkit in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.0.48)\n",
"Collecting python-dotenv (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor)\n",
" Downloading python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)\n",
"Requirement already satisfied: pydantic>=2 in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.10.4)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.32.3)\n",
"Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (13.9.4)\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (75.1.0)\n",
"Requirement already satisfied: termcolor in /usr/local/lib/python3.10/dist-packages (from llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.5.0)\n",
"Requirement already satisfied: PyYAML in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (6.0.2)\n",
"Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.1.5)\n",
"Collecting tiktoken (from llama-models>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor)\n",
" Downloading tiktoken-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)\n",
"Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (11.1.0)\n",
"Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.7.1)\n",
"Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (8.1.8)\n",
"Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (1.9.0)\n",
"Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.2.2)\n",
"Requirement already satisfied: pyaml in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (25.1.0)\n",
"Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (1.3.1)\n",
"Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (4.67.1)\n",
"Requirement already satisfied: typing-extensions<5,>=4.7 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (4.12.2)\n",
"Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2024.12.14)\n",
"Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (1.0.7)\n",
"Requirement already satisfied: idna in /usr/local/lib/python3.10/dist-packages (from httpx->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.10)\n",
"Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.14.0)\n",
"Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.7.0)\n",
"Requirement already satisfied: pydantic-core==2.27.2 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.27.2)\n",
"Collecting pycryptodomex>=3.8 (from blobfile->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor)\n",
" Downloading pycryptodomex-3.21.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)\n",
"Requirement already satisfied: urllib3<3,>=1.25.3 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.3.0)\n",
"Requirement already satisfied: lxml>=4.9 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (5.3.0)\n",
"Requirement already satisfied: filelock>=3.0 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.16.1)\n",
"Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2024.10.0)\n",
"Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (24.2)\n",
"Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.2.13)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.4.1)\n",
"Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.0.0)\n",
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.18.0)\n",
"Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (1.2.2)\n",
"Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (0.1.2)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->llama-models>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (3.0.2)\n",
"Requirement already satisfied: numpy>=1.22.4 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (1.26.4)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2024.2)\n",
"Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2024.2)\n",
"Requirement already satisfied: regex>=2022.1.18 in /usr/local/lib/python3.10/dist-packages (from tiktoken->llama-models>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (2024.11.6)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->llama-stack-client>=0.0.63->llama-stack@ git+https://github.com/meta-llama/llama-stack.git@fix_sqlite_span_processor) (1.17.0)\n",
"Downloading llama_models-0.0.63-py3-none-any.whl (1.6 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m48.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading blobfile-3.0.0-py3-none-any.whl (75 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.4/75.4 kB\u001b[0m \u001b[31m7.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading python_dotenv-1.0.1-py3-none-any.whl (19 kB)\n",
"Downloading pycryptodomex-3.21.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.3/2.3 MB\u001b[0m \u001b[31m67.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading tiktoken-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m60.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hBuilding wheels for collected packages: llama-stack, fire\n",
" Building wheel for llama-stack (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for llama-stack: filename=llama_stack-0.0.63-py3-none-any.whl size=500660 sha256=36cd6d1b0146d456976f2d64deddf31a6515e5b0fbee97b61e448eb10356f3a7\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-qw3m4ho9/wheels/47/17/a3/49a8b1238e1c4640a5fdce6ad5055df118b069a670e77876e2\n",
" Building wheel for fire (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for fire: filename=fire-0.7.0-py3-none-any.whl size=114249 sha256=c1175a999f843dbb0dcabbeae06a6b080f59d7f78171dd089824c37fd63aeaef\n",
" Stored in directory: /root/.cache/pip/wheels/19/39/2f/2d3cadc408a8804103f1c34ddd4b9f6a93497b11fa96fe738e\n",
"Successfully built llama-stack fire\n",
"Installing collected packages: python-dotenv, pycryptodomex, fire, tiktoken, blobfile, llama-models, llama-stack\n",
"Successfully installed blobfile-3.0.0 fire-0.7.0 llama-models-0.0.63 llama-stack-0.0.63 pycryptodomex-3.21.0 python-dotenv-1.0.1 tiktoken-0.8.0\n"
]
}
],
"source": [
"!apt-get install -y bubblewrap\n",
"# install a branch of llama stack\n",
"!pip install llama-stack"
]
},
{
"cell_type": "markdown",
"id": "414301dc",
"metadata": {
"id": "414301dc"
},
"source": [
"### 1.3. Configure Llama Stack for Together\n",
"\n",
"\n",
"Llama Stack is architected as a collection of lego blocks which can be assembled as needed.\n",
"\n",
"\n",
"Typically, llama stack is available as a server with an endpoint that you can hit. We call this endpoint a [Distribution](https://llama-stack.readthedocs.io/en/latest/concepts/index.html#distributions). Partners like Together and Fireworks offer their own Llama Stack Distribution endpoints.\n",
"\n",
"In this showcase, we are going to use llama stack inline as a library. So, given a particular set of providers, we must first package up the right set of dependencies. We have a template to use Together as an inference provider and [faiss](https://ai.meta.com/tools/faiss/) for memory/RAG.\n",
"\n",
"We will run `llama stack build` to deploy all dependencies."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "HaepEZXCDgif",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "HaepEZXCDgif",
"outputId": "6c983bb7-1cbe-4249-fd0a-0c629851981b"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Requirement already satisfied: llama-stack in /usr/local/lib/python3.10/dist-packages (0.0.63)\r\n",
"Requirement already satisfied: blobfile in /usr/local/lib/python3.10/dist-packages (from llama-stack) (3.0.0)\r\n",
"Requirement already satisfied: fire in /usr/local/lib/python3.10/dist-packages (from llama-stack) (0.7.0)\r\n",
"Requirement already satisfied: httpx in /usr/local/lib/python3.10/dist-packages (from llama-stack) (0.28.1)\r\n",
"Requirement already satisfied: huggingface-hub in /usr/local/lib/python3.10/dist-packages (from llama-stack) (0.27.1)\r\n",
"Requirement already satisfied: llama-models>=0.0.63 in /usr/local/lib/python3.10/dist-packages (from llama-stack) (0.0.63)\r\n",
"Requirement already satisfied: llama-stack-client>=0.0.63 in /usr/local/lib/python3.10/dist-packages (from llama-stack) (0.0.63)\r\n",
"Requirement already satisfied: prompt-toolkit in /usr/local/lib/python3.10/dist-packages (from llama-stack) (3.0.48)\r\n",
"Requirement already satisfied: python-dotenv in /usr/local/lib/python3.10/dist-packages (from llama-stack) (1.0.1)\r\n",
"Requirement already satisfied: pydantic>=2 in /usr/local/lib/python3.10/dist-packages (from llama-stack) (2.10.4)\r\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from llama-stack) (2.32.3)\r\n",
"Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from llama-stack) (13.9.4)\r\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from llama-stack) (75.1.0)\r\n",
"Requirement already satisfied: termcolor in /usr/local/lib/python3.10/dist-packages (from llama-stack) (2.5.0)\r\n",
"Requirement already satisfied: PyYAML in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack) (6.0.2)\r\n",
"Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack) (3.1.5)\r\n",
"Requirement already satisfied: tiktoken in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack) (0.8.0)\r\n",
"Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from llama-models>=0.0.63->llama-stack) (11.1.0)\r\n",
"Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (3.7.1)\r\n",
"Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (8.1.8)\r\n",
"Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (1.9.0)\r\n",
"Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (2.2.2)\r\n",
"Requirement already satisfied: pyaml in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (25.1.0)\r\n",
"Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (1.3.1)\r\n",
"Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (4.67.1)\r\n",
"Requirement already satisfied: typing-extensions<5,>=4.7 in /usr/local/lib/python3.10/dist-packages (from llama-stack-client>=0.0.63->llama-stack) (4.12.2)\r\n",
"Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx->llama-stack) (2024.12.14)\r\n",
"Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx->llama-stack) (1.0.7)\r\n",
"Requirement already satisfied: idna in /usr/local/lib/python3.10/dist-packages (from httpx->llama-stack) (3.10)\r\n",
"Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx->llama-stack) (0.14.0)\r\n",
"Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2->llama-stack) (0.7.0)\r\n",
"Requirement already satisfied: pydantic-core==2.27.2 in /usr/local/lib/python3.10/dist-packages (from pydantic>=2->llama-stack) (2.27.2)\r\n",
"Requirement already satisfied: pycryptodomex>=3.8 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack) (3.21.0)\r\n",
"Requirement already satisfied: urllib3<3,>=1.25.3 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack) (2.3.0)\r\n",
"Requirement already satisfied: lxml>=4.9 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack) (5.3.0)\r\n",
"Requirement already satisfied: filelock>=3.0 in /usr/local/lib/python3.10/dist-packages (from blobfile->llama-stack) (3.16.1)\r\n",
"Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub->llama-stack) (2024.10.0)\r\n",
"Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub->llama-stack) (24.2)\r\n",
"Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit->llama-stack) (0.2.13)\r\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->llama-stack) (3.4.1)\r\n",
"Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->llama-stack) (3.0.0)\r\n",
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->llama-stack) (2.18.0)\r\n",
"Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->llama-stack-client>=0.0.63->llama-stack) (1.2.2)\r\n",
"Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->llama-stack) (0.1.2)\r\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->llama-models>=0.0.63->llama-stack) (3.0.2)\n",
"Requirement already satisfied: numpy>=1.22.4 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack) (1.26.4)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack) (2024.2)\n",
"Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->llama-stack-client>=0.0.63->llama-stack) (2024.2)\n",
"Requirement already satisfied: regex>=2022.1.18 in /usr/local/lib/python3.10/dist-packages (from tiktoken->llama-models>=0.0.63->llama-stack) (2024.11.6)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas->llama-stack-client>=0.0.63->llama-stack) (1.17.0)\n",
"Installing pip dependencies\n",
"Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (1.6.0)\n",
"Collecting psycopg2-binary\n",
" Downloading psycopg2_binary-2.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB)\n",
"Collecting autoevals\n",
" Downloading autoevals-0.0.115-py3-none-any.whl.metadata (12 kB)\n",
"Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (1.13.1)\n",
"Collecting pypdf\n",
" Downloading pypdf-5.1.0-py3-none-any.whl.metadata (7.2 kB)\n",
"Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (2.2.2)\n",
"Collecting datasets\n",
" Downloading datasets-3.2.0-py3-none-any.whl.metadata (20 kB)\n",
"Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (4.67.1)\n",
"Requirement already satisfied: opentelemetry-sdk in /usr/local/lib/python3.10/dist-packages (1.29.0)\n",
"Requirement already satisfied: openai in /usr/local/lib/python3.10/dist-packages (1.59.4)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (2.32.3)\n",
"Collecting opentelemetry-exporter-otlp-proto-http\n",
" Downloading opentelemetry_exporter_otlp_proto_http-1.29.0-py3-none-any.whl.metadata (2.2 kB)\n",
"Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (1.26.4)\n",
"Collecting together\n",
" Downloading together-1.3.11-py3-none-any.whl.metadata (11 kB)\n",
"Requirement already satisfied: transformers in /usr/local/lib/python3.10/dist-packages (4.47.1)\n",
"Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (5.2.0)\n",
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (3.10.0)\n",
"Requirement already satisfied: pillow in /usr/local/lib/python3.10/dist-packages (11.1.0)\n",
"Collecting faiss-cpu\n",
" Downloading faiss_cpu-1.9.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.4 kB)\n",
"Requirement already satisfied: sentencepiece in /usr/local/lib/python3.10/dist-packages (0.2.0)\n",
"Collecting redis\n",
" Downloading redis-5.2.1-py3-none-any.whl.metadata (9.1 kB)\n",
"Requirement already satisfied: nltk in /usr/local/lib/python3.10/dist-packages (3.9.1)\n",
"Collecting chromadb-client\n",
" Downloading chromadb_client-0.6.2-py3-none-any.whl.metadata (2.4 kB)\n",
"Requirement already satisfied: blobfile in /usr/local/lib/python3.10/dist-packages (3.0.0)\n",
"Collecting aiosqlite\n",
" Downloading aiosqlite-0.20.0-py3-none-any.whl.metadata (4.3 kB)\n",
"Collecting fastapi\n",
" Downloading fastapi-0.115.6-py3-none-any.whl.metadata (27 kB)\n",
"Requirement already satisfied: fire in /usr/local/lib/python3.10/dist-packages (0.7.0)\n",
"Requirement already satisfied: httpx in /usr/local/lib/python3.10/dist-packages (0.28.1)\n",
"Collecting uvicorn\n",
" Downloading uvicorn-0.34.0-py3-none-any.whl.metadata (6.5 kB)\n",
"Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.4.2)\n",
"Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (3.5.0)\n",
"Collecting chevron (from autoevals)\n",
" Downloading chevron-0.14.0-py3-none-any.whl.metadata (4.9 kB)\n",
"Collecting levenshtein (from autoevals)\n",
" Downloading levenshtein-0.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)\n",
"Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from autoevals) (6.0.2)\n",
"Collecting braintrust_core==0.0.57 (from autoevals)\n",
" Downloading braintrust_core-0.0.57-py3-none-any.whl.metadata (669 bytes)\n",
"Requirement already satisfied: jsonschema in /usr/local/lib/python3.10/dist-packages (from autoevals) (4.23.0)\n",
"Requirement already satisfied: typing_extensions>=4.0 in /usr/local/lib/python3.10/dist-packages (from pypdf) (4.12.2)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas) (2024.2)\n",
"Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas) (2024.2)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from datasets) (3.16.1)\n",
"Requirement already satisfied: pyarrow>=15.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (17.0.0)\n",
"Collecting dill<0.3.9,>=0.3.0 (from datasets)\n",
" Downloading dill-0.3.8-py3-none-any.whl.metadata (10 kB)\n",
"Collecting xxhash (from datasets)\n",
" Downloading xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (12 kB)\n",
"Collecting multiprocess<0.70.17 (from datasets)\n",
" Downloading multiprocess-0.70.16-py310-none-any.whl.metadata (7.2 kB)\n",
"Collecting fsspec<=2024.9.0,>=2023.1.0 (from fsspec[http]<=2024.9.0,>=2023.1.0->datasets)\n",
" Downloading fsspec-2024.9.0-py3-none-any.whl.metadata (11 kB)\n",
"Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.11.11)\n",
"Requirement already satisfied: huggingface-hub>=0.23.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (0.27.1)\n",
"Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from datasets) (24.2)\n",
"Requirement already satisfied: opentelemetry-api==1.29.0 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-sdk) (1.29.0)\n",
"Requirement already satisfied: opentelemetry-semantic-conventions==0.50b0 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-sdk) (0.50b0)\n",
"Requirement already satisfied: deprecated>=1.2.6 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-api==1.29.0->opentelemetry-sdk) (1.2.15)\n",
"Requirement already satisfied: importlib-metadata<=8.5.0,>=6.0 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-api==1.29.0->opentelemetry-sdk) (8.5.0)\n",
"Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from openai) (3.7.1)\n",
"Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.10/dist-packages (from openai) (1.9.0)\n",
"Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from openai) (0.8.2)\n",
"Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from openai) (2.10.4)\n",
"Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from openai) (1.3.1)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests) (3.4.1)\n",
"Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests) (3.10)\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests) (2.3.0)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests) (2024.12.14)\n",
"Requirement already satisfied: googleapis-common-protos~=1.52 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-exporter-otlp-proto-http) (1.66.0)\n",
"Collecting opentelemetry-exporter-otlp-proto-common==1.29.0 (from opentelemetry-exporter-otlp-proto-http)\n",
" Downloading opentelemetry_exporter_otlp_proto_common-1.29.0-py3-none-any.whl.metadata (1.8 kB)\n",
"Collecting opentelemetry-proto==1.29.0 (from opentelemetry-exporter-otlp-proto-http)\n",
" Downloading opentelemetry_proto-1.29.0-py3-none-any.whl.metadata (2.3 kB)\n",
"Collecting protobuf<6.0,>=5.0 (from opentelemetry-proto==1.29.0->opentelemetry-exporter-otlp-proto-http)\n",
" Downloading protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl.metadata (592 bytes)\n",
"Requirement already satisfied: click<9.0.0,>=8.1.7 in /usr/local/lib/python3.10/dist-packages (from together) (8.1.8)\n",
"Requirement already satisfied: eval-type-backport<0.3.0,>=0.1.3 in /usr/local/lib/python3.10/dist-packages (from together) (0.2.2)\n",
"Collecting pillow\n",
" Downloading pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.2 kB)\n",
"Requirement already satisfied: rich<14.0.0,>=13.8.1 in /usr/local/lib/python3.10/dist-packages (from together) (13.9.4)\n",
"Requirement already satisfied: tabulate<0.10.0,>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from together) (0.9.0)\n",
"Requirement already satisfied: typer<0.16,>=0.9 in /usr/local/lib/python3.10/dist-packages (from together) (0.15.1)\n",
"Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (2024.11.6)\n",
"Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.21.0)\n",
"Requirement already satisfied: safetensors>=0.4.1 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.5.1)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.3.1)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (0.12.1)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (4.55.3)\n",
"Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (1.4.8)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib) (3.2.1)\n",
"Requirement already satisfied: async-timeout>=4.0.3 in /usr/local/lib/python3.10/dist-packages (from redis) (4.0.3)\n",
"Collecting opentelemetry-exporter-otlp-proto-grpc>=1.2.0 (from chromadb-client)\n",
" Downloading opentelemetry_exporter_otlp_proto_grpc-1.29.0-py3-none-any.whl.metadata (2.2 kB)\n",
"Collecting overrides>=7.3.1 (from chromadb-client)\n",
" Downloading overrides-7.7.0-py3-none-any.whl.metadata (5.8 kB)\n",
"Collecting posthog>=2.4.0 (from chromadb-client)\n",
" Downloading posthog-3.7.5-py2.py3-none-any.whl.metadata (2.0 kB)\n",
"Requirement already satisfied: tenacity>=8.2.3 in /usr/local/lib/python3.10/dist-packages (from chromadb-client) (9.0.0)\n",
"Requirement already satisfied: orjson>=3.9.12 in /usr/local/lib/python3.10/dist-packages (from chromadb-client) (3.10.13)\n",
"Requirement already satisfied: pycryptodomex>=3.8 in /usr/local/lib/python3.10/dist-packages (from blobfile) (3.21.0)\n",
"Requirement already satisfied: lxml>=4.9 in /usr/local/lib/python3.10/dist-packages (from blobfile) (5.3.0)\n",
"Collecting starlette<0.42.0,>=0.40.0 (from fastapi)\n",
" Downloading starlette-0.41.3-py3-none-any.whl.metadata (6.0 kB)\n",
"Requirement already satisfied: termcolor in /usr/local/lib/python3.10/dist-packages (from fire) (2.5.0)\n",
"Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx) (1.0.7)\n",
"Requirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx) (0.14.0)\n",
"Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (2.4.4)\n",
"Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.3.2)\n",
"Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (24.3.0)\n",
"Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.5.0)\n",
"Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (6.1.0)\n",
"Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (0.2.1)\n",
"Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.18.3)\n",
"Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->openai) (1.2.2)\n",
"Requirement already satisfied: wrapt<2,>=1.10 in /usr/local/lib/python3.10/dist-packages (from deprecated>=1.2.6->opentelemetry-api==1.29.0->opentelemetry-sdk) (1.17.0)\n",
"Requirement already satisfied: grpcio<2.0.0,>=1.63.2 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb-client) (1.69.0)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from posthog>=2.4.0->chromadb-client) (1.17.0)\n",
"Collecting monotonic>=1.5 (from posthog>=2.4.0->chromadb-client)\n",
" Downloading monotonic-1.6-py2.py3-none-any.whl.metadata (1.5 kB)\n",
"Collecting backoff>=1.10.0 (from posthog>=2.4.0->chromadb-client)\n",
" Downloading backoff-2.2.1-py3-none-any.whl.metadata (14 kB)\n",
"Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->openai) (0.7.0)\n",
"Requirement already satisfied: pydantic-core==2.27.2 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->openai) (2.27.2)\n",
"Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich<14.0.0,>=13.8.1->together) (3.0.0)\n",
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich<14.0.0,>=13.8.1->together) (2.18.0)\n",
"Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer<0.16,>=0.9->together) (1.5.4)\n",
"Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema->autoevals) (2024.10.1)\n",
"Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema->autoevals) (0.35.1)\n",
"Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema->autoevals) (0.22.3)\n",
"Collecting rapidfuzz<4.0.0,>=3.9.0 (from levenshtein->autoevals)\n",
" Downloading rapidfuzz-3.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)\n",
"Requirement already satisfied: zipp>=3.20 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata<=8.5.0,>=6.0->opentelemetry-api==1.29.0->opentelemetry-sdk) (3.21.0)\n",
"Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich<14.0.0,>=13.8.1->together) (0.1.2)\n",
"Downloading psycopg2_binary-2.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m84.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading autoevals-0.0.115-py3-none-any.whl (41 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m41.1/41.1 kB\u001b[0m \u001b[31m3.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading braintrust_core-0.0.57-py3-none-any.whl (4.4 kB)\n",
"Downloading pypdf-5.1.0-py3-none-any.whl (297 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m298.0/298.0 kB\u001b[0m \u001b[31m29.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading datasets-3.2.0-py3-none-any.whl (480 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m480.6/480.6 kB\u001b[0m \u001b[31m37.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading opentelemetry_exporter_otlp_proto_http-1.29.0-py3-none-any.whl (17 kB)\n",
"Downloading opentelemetry_exporter_otlp_proto_common-1.29.0-py3-none-any.whl (18 kB)\n",
"Downloading opentelemetry_proto-1.29.0-py3-none-any.whl (55 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m55.8/55.8 kB\u001b[0m \u001b[31m5.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading together-1.3.11-py3-none-any.whl (70 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m70.6/70.6 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.5/4.5 MB\u001b[0m \u001b[31m105.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading faiss_cpu-1.9.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27.5 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27.5/27.5 MB\u001b[0m \u001b[31m78.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading redis-5.2.1-py3-none-any.whl (261 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m261.5/261.5 kB\u001b[0m \u001b[31m23.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading chromadb_client-0.6.2-py3-none-any.whl (604 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m604.2/604.2 kB\u001b[0m \u001b[31m47.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading aiosqlite-0.20.0-py3-none-any.whl (15 kB)\n",
"Downloading fastapi-0.115.6-py3-none-any.whl (94 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m94.8/94.8 kB\u001b[0m \u001b[31m9.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading uvicorn-0.34.0-py3-none-any.whl (62 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.3/62.3 kB\u001b[0m \u001b[31m5.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading dill-0.3.8-py3-none-any.whl (116 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m116.3/116.3 kB\u001b[0m \u001b[31m9.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading fsspec-2024.9.0-py3-none-any.whl (179 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m179.3/179.3 kB\u001b[0m \u001b[31m18.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading multiprocess-0.70.16-py310-none-any.whl (134 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m14.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading opentelemetry_exporter_otlp_proto_grpc-1.29.0-py3-none-any.whl (18 kB)\n",
"Downloading overrides-7.7.0-py3-none-any.whl (17 kB)\n",
"Downloading posthog-3.7.5-py2.py3-none-any.whl (54 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54.9/54.9 kB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading starlette-0.41.3-py3-none-any.whl (73 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m73.2/73.2 kB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading chevron-0.14.0-py3-none-any.whl (11 kB)\n",
"Downloading levenshtein-0.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (162 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m162.6/162.6 kB\u001b[0m \u001b[31m16.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m194.1/194.1 kB\u001b[0m \u001b[31m20.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading backoff-2.2.1-py3-none-any.whl (15 kB)\n",
"Downloading monotonic-1.6-py2.py3-none-any.whl (8.2 kB)\n",
"Downloading protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl (319 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m319.7/319.7 kB\u001b[0m \u001b[31m26.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading rapidfuzz-3.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m102.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hInstalling collected packages: monotonic, chevron, xxhash, uvicorn, redis, rapidfuzz, pypdf, psycopg2-binary, protobuf, pillow, overrides, fsspec, faiss-cpu, dill, braintrust_core, backoff, aiosqlite, starlette, posthog, opentelemetry-proto, multiprocess, levenshtein, opentelemetry-exporter-otlp-proto-common, fastapi, together, autoevals, opentelemetry-exporter-otlp-proto-http, opentelemetry-exporter-otlp-proto-grpc, datasets, chromadb-client\n",
" Attempting uninstall: protobuf\n",
" Found existing installation: protobuf 4.25.5\n",
" Uninstalling protobuf-4.25.5:\n",
" Successfully uninstalled protobuf-4.25.5\n",
" Attempting uninstall: pillow\n",
" Found existing installation: pillow 11.1.0\n",
" Uninstalling pillow-11.1.0:\n",
" Successfully uninstalled pillow-11.1.0\n",
" Attempting uninstall: fsspec\n",
" Found existing installation: fsspec 2024.10.0\n",
" Uninstalling fsspec-2024.10.0:\n",
" Successfully uninstalled fsspec-2024.10.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",
"gcsfs 2024.10.0 requires fsspec==2024.10.0, but you have fsspec 2024.9.0 which is incompatible.\n",
"tensorflow 2.17.1 requires protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3, but you have protobuf 5.29.3 which is incompatible.\n",
"tensorflow-metadata 1.13.1 requires protobuf<5,>=3.20.3, but you have protobuf 5.29.3 which is incompatible.\u001b[0m\u001b[31m\n",
"\u001b[0mSuccessfully installed aiosqlite-0.20.0 autoevals-0.0.115 backoff-2.2.1 braintrust_core-0.0.57 chevron-0.14.0 chromadb-client-0.6.2 datasets-3.2.0 dill-0.3.8 faiss-cpu-1.9.0.post1 fastapi-0.115.6 fsspec-2024.9.0 levenshtein-0.26.1 monotonic-1.6 multiprocess-0.70.16 opentelemetry-exporter-otlp-proto-common-1.29.0 opentelemetry-exporter-otlp-proto-grpc-1.29.0 opentelemetry-exporter-otlp-proto-http-1.29.0 opentelemetry-proto-1.29.0 overrides-7.7.0 pillow-10.4.0 posthog-3.7.5 protobuf-5.29.3 psycopg2-binary-2.9.10 pypdf-5.1.0 rapidfuzz-3.11.0 redis-5.2.1 starlette-0.41.3 together-1.3.11 uvicorn-0.34.0 xxhash-3.5.0\n",
"sentence-transformers --no-deps\n",
"Requirement already satisfied: sentence-transformers in /usr/local/lib/python3.10/dist-packages (3.3.1)\n",
"torch --index-url https://download.pytorch.org/whl/cpu\n",
"Looking in indexes: https://download.pytorch.org/whl/cpu\n",
"Requirement already satisfied: torch in /usr/local/lib/python3.10/dist-packages (2.5.1+cu121)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch) (3.16.1)\n",
"Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.10/dist-packages (from torch) (4.12.2)\n",
"Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch) (3.4.2)\n",
"Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch) (3.1.5)\n",
"Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch) (2024.9.0)\n",
"Requirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.10/dist-packages (from torch) (1.13.1)\n",
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy==1.13.1->torch) (1.3.0)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch) (3.0.2)\n",
"\u001b[32mBuild Successful!\u001b[0m\n"
]
}
],
"source": [
"# This will build all the dependencies you will need\n",
"!llama stack build --template together --image-type venv"
]
},
{
"cell_type": "markdown",
"id": "25b97dfe",
"metadata": {
"id": "25b97dfe"
},
"source": [
"### 1.4. Initialize Llama Stack\n",
"\n",
"Now that all dependencies have been installed, we can initialize llama stack. We will first set the `TOGETHER_API_KEY` environment variable\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "E1UFuJC570Tk",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"88f0c88612bb45d59f07e93567cc0e14",
"9b24a82117e1482a8f6665978e84089c",
"8e75bf7cac454eeabd5ce47a1e981c68",
"fc272883566541108f83117ccd146a21",
"2e27a025a416434f8ab3b63049626d11",
"3a46a46bc8124a92b27aef43cbc009b6",
"4ad6bc0cca62446d8faf19a341bfa86f",
"6437c99289f947449f7d2964288973e5",
"e2f7dea8fc744537b42d0f1a85a73eb4",
"1377d2160344430da8f29a50d113a288",
"0c0b30e126724f9282ac5acbcb4581db",
"895efd0b6d9f4b319159703d965d1966",
"dece6dff65394a5f93585c73359d4dad",
"1030c0848635497681cc9ff0c344fb1a",
"fa6ecaab432347de8427b9b5ac3d4524",
"5effefa8e3764e3aaff57fe0197a7c96",
"1756eceba2c34c1ca182b7db465e95ce",
"0fd62e56e0bb41a996c04e63381d2a29",
"29badfc2eb0345d38d7cfc6c7f8bb1a8",
"e64cedb4560a43d8a43f36002087ac30",
"45aadb26b382460eb5b6b147509fb75a",
"130f2f5840764e8dbd573cc8a6ea6f5f",
"9ee45247ec144bb3aafe4208f316063f",
"da330e0999cb4c3c91a1cb1026304568",
"ff58a5381fb74cb1b9efc10f5c2738d6",
"18ed62b1d4594ed9a2651fa5df046efc",
"4004cda1d84949f5a380536f8a9d0274",
"54bddcf41c5641b7a56c981aadb62ef1",
"a9a0d8415d9d4e98a3f02ae8ec1053da",
"cceff1126242494bab432205c7ac7345",
"e6e53c439dab4639adc1c3c873602476",
"95db8eab3f964edf99038ad53f41fabc",
"52f1d69c6cd04816b6f34657893ae32b",
"b79a1dfcf2904bcba332569dbf351f34",
"7363b1a9a1b54a57bf15357e897128fd",
"3ac596104cdc4439b3980f7ce66ad080",
"5c9ec25994914acd8e13866b3eb943e1",
"38a958036c6e4155815a8169f1be1e53",
"cf5113a647ce45c4a3a523361aa3b5af",
"da8c20a65ba541bda058614849d5cfe2",
"40e9f20d74374b0e82c653caa0559d04",
"f46cfc9237e64db6be2ec6529b61ec88",
"dc04575da46540d4ad3a708e58f0de6a",
"24c0be775e474517a7be49d187822bd0",
"111184729957441d9d1f3d404bd82757",
"be060f9d7a664c17a80510f447c0bee3",
"228445132e5f4b2ca793f4beeeca4426",
"b96a2e34a2af435b9705550fe564591d",
"1f1cdac013af4559889f15eebac5256a",
"834ae2d249b94be6bbe5349509536a4b",
"509863a58de74b07b813aa83ffa4a507",
"48a5b775a4324da791603b83d61be7d1",
"02b60dad91c7482ba70cf8bb954bc4eb",
"2bfb0fb5506d4285918a9c94af9ab5d1",
"0f699b0f99484a8ba2eb17bb1d621c5a",
"c6f34317390e4f90b16235f2ae84a981",
"3da95c8814f34472a181ce7687f9e15e",
"4d1c2de4c1354ef0b84c54c447141707",
"31ab98e0e375416b83b36a98d4958f57",
"8b9ebe06b4e045a29269128ec97d9f62",
"53a46fe254924e78876db6dd2e1b7123",
"f2ce01983f0a4f12b318e6d29f1dd4a1",
"1b7af9f7204547b8b4a718a780af0ded",
"a4bb5a59d1324585b0a34c9bb2820b7f",
"90c2e0e012a94521b9f5cb24924771d8",
"2563a4677dde47d0a2f7fba5c5dde358",
"5023c2b8cf9846069d116237826fed7f",
"960c2f44166b4ac7910af6512832186f",
"309ea9620a674088a5207206d9a52d54",
"1c86d856083c4ef99976849c7a1c9100",
"5d9bf2102da143c1b9e1483e05add4e5",
"85569eaf3ae3488b808131cd460f6514",
"3015bc3ce98a4221a9dd3be92481435d",
"4d7b0983b97f48b2a333d5b2a4ec50a8",
"e834a64e49534c3586cb77f4ec5eab2d",
"67f82b82ebb74d0fb3c68b9c8c57d690",
"b710cb57f19d4490a740c060e8a83b90",
"713c09d1275a43b0af7c2ae8e126517f",
"b62fe08114f549ea99808e8df95c7cad",
"af722d177320422e97c679b24cb754f6",
"487477e023b64947bf42f83dc6275ef1",
"bcf0d3af3bc0439e97023937852941e9",
"d83a1e1e678e4efd83115f9aee0ffc8d",
"f210583576594e759387fc704695ad09",
"91e103573c034ceda689047c61294b17",
"b9eac61fb55342f4bf9834f321899836",
"a92a7bce961e4291b126fda3c540636b",
"01b3e7803d1946118d27acda0c067da2",
"f097b32928f246de9b01fea6f9b092f7",
"35e10db3906248ffa8ab955d2f53bd75",
"80e884cae6ea42eaa37f028120963355",
"25821e7aef4e481bbdf3b4698ce3c277",
"916190b4615e4c5c9f3e55c0804a3502",
"1f1dc0d20cae46feb372203aea6458a0",
"43feace0290a47c0b06c3a1c08cc70a9",
"9f185162847f4cb2828af81c92116582",
"3a649adc22694036b35bab04ff03d338",
"7daef1502e2a4140ac021b3b3a6aa12d",
"1307ef0325bb433d8a1bcc653c7fb291",
"f01d7a1404a943a08c84adce14a262c7",
"f15cdedf8e7b4a44993644a5ff070e78",
"b7f9a3c97f2043f380bdc1827961c649",
"0b64892a98d14a3b85b128df77d8e7d6",
"8de1cba3a7c0422eb2a21e3f8b2059c7",
"a0639d5360044f97ac5b9374c735ff4b",
"9b11eaf2d50a447384b75eb7f73829eb",
"8ab411217bfd486ca3fb8b885fff4690",
"c80ea8c54211427087712b5500e26edf",
"542aa4a847cf4a66a4b3fc93c241363b",
"8c0d69b735c94b719160d39256c643cc",
"3c868641db934c67a44e1d26e1a17756",
"a72d01788b484bbeb4375aac3ceadf34",
"366add01dc734455a384460c97491215",
"70accb92e645435b8f1e0c48538f7473",
"628848757fcf443e806a8f25013cc2b5",
"ebf411690c844daf89b87c120e3cb67e",
"79b9fb75dc1d486c9fc881a90b6f1060",
"0f3bbf28fbed4e97b660bbf3c66a214a",
"a4b2220ed47f4f85b3f991c92de98964",
"b6a505e6c863409db1b906423f99125a",
"d9560d20106a42ec904e7e315f99ff01"
]
},
"collapsed": true,
"id": "E1UFuJC570Tk",
"outputId": "0000e930-550b-4bf6-ebc6-184e517f930a"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Removed handler StreamHandler from root logger\n"
]
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning: \n",
"The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
"To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
"You will be able to reuse this secret in all of your notebooks.\n",
"Please note that authentication is recommended but still optional to access public models or datasets.\n",
" warnings.warn(\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"modules.json: 0%| | 0.00/349 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "88f0c88612bb45d59f07e93567cc0e14"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config_sentence_transformers.json: 0%| | 0.00/116 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "895efd0b6d9f4b319159703d965d1966"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"README.md: 0%| | 0.00/10.7k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "9ee45247ec144bb3aafe4208f316063f"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"sentence_bert_config.json: 0%| | 0.00/53.0 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "b79a1dfcf2904bcba332569dbf351f34"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"config.json: 0%| | 0.00/612 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "111184729957441d9d1f3d404bd82757"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"model.safetensors: 0%| | 0.00/90.9M [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "c6f34317390e4f90b16235f2ae84a981"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer_config.json: 0%| | 0.00/350 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "5023c2b8cf9846069d116237826fed7f"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"vocab.txt: 0%| | 0.00/232k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "713c09d1275a43b0af7c2ae8e126517f"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"tokenizer.json: 0%| | 0.00/466k [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f097b32928f246de9b01fea6f9b092f7"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"special_tokens_map.json: 0%| | 0.00/112 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f01d7a1404a943a08c84adce14a262c7"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"1_Pooling/config.json: 0%| | 0.00/190 [00:00<?, ?B/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "3c868641db934c67a44e1d26e1a17756"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Using config \u001b[34mtogether\u001b[0m:\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">Using config <span style=\"color: #000080; text-decoration-color: #000080\">together</span>:\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"apis:\n",
"- agents\n",
"- datasetio\n",
"- eval\n",
"- inference\n",
"- memory\n",
"- safety\n",
"- scoring\n",
"- telemetry\n",
"- tool_runtime\n",
"conda_env: together\n",
"datasets: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
"docker_image: null\n",
"eval_tasks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
"image_name: together\n",
"memory_banks: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
"metadata_store:\n",
" db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95mregistry.db\u001b[0m\n",
" namespace: null\n",
" type: sqlite\n",
"models:\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.1\u001b[0m-8B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-\u001b[1;36m3.1\u001b[0m-8B-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.1\u001b[0m-70B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-\u001b[1;36m3.1\u001b[0m-70B-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.1\u001b[0m-405B-Instruct-FP8\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-\u001b[1;36m3.1\u001b[0m-405B-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-3B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-3B-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-11B-Vision-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-11B-Vision-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-90B-Vision-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-\u001b[1;36m3.2\u001b[0m-90B-Vision-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-\u001b[1;36m3.3\u001b[0m-70B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-\u001b[1;36m3.3\u001b[0m-70B-Instruct-Turbo\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-8B\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-Guard-\u001b[1;36m3\u001b[0m-8B\n",
"- metadata: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" model_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-11B-Vision\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-11B-Vision-Turbo\n",
"- metadata:\n",
" embedding_dimension: \u001b[1;36m384\u001b[0m\n",
" model_id: all-MiniLM-L6-v2\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - embedding\n",
" provider_id: sentence-transformers\n",
" provider_model_id: null\n",
"providers:\n",
" agents:\n",
" - config:\n",
" persistence_store:\n",
" db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95magents_store.db\u001b[0m\n",
" namespace: null\n",
" type: sqlite\n",
" provider_id: meta-reference\n",
" provider_type: inline::meta-reference\n",
" datasetio:\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: huggingface\n",
" provider_type: remote::huggingface\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: localfs\n",
" provider_type: inline::localfs\n",
" eval:\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: meta-reference\n",
" provider_type: inline::meta-reference\n",
" inference:\n",
" - config:\n",
" api_key: \u001b[32m'********'\u001b[0m\n",
" url: \u001b[4;94mhttps://api.together.xyz/v1\u001b[0m\n",
" provider_id: together\n",
" provider_type: remote::together\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: sentence-transformers\n",
" provider_type: inline::sentence-transformers\n",
" memory:\n",
" - config:\n",
" kvstore:\n",
" db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95mfaiss_store.db\u001b[0m\n",
" namespace: null\n",
" type: sqlite\n",
" provider_id: faiss\n",
" provider_type: inlin\u001b[1;92me::fa\u001b[0miss\n",
" safety:\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: llama-guard\n",
" provider_type: inline::llama-guard\n",
" scoring:\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: basic\n",
" provider_type: inlin\u001b[1;92me::ba\u001b[0msic\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: llm-as-judge\n",
" provider_type: inline::llm-as-judge\n",
" - config:\n",
" openai_api_key: \u001b[32m'********'\u001b[0m\n",
" provider_id: braintrust\n",
" provider_type: inlin\u001b[1;92me::b\u001b[0mraintrust\n",
" telemetry:\n",
" - config:\n",
" service_name: llama-stack\n",
" sinks: sqlite\n",
" sqlite_db_path: \u001b[35m/root/.llama/distributions/together/\u001b[0m\u001b[95mtrace_store.db\u001b[0m\n",
" provider_id: meta-reference\n",
" provider_type: inline::meta-reference\n",
" tool_runtime:\n",
" - config:\n",
" api_key: \u001b[32m'********'\u001b[0m\n",
" max_results: \u001b[1;36m3\u001b[0m\n",
" provider_id: brave-search\n",
" provider_type: remot\u001b[1;92me::b\u001b[0mrave-search\n",
" - config:\n",
" api_key: \u001b[32m'********'\u001b[0m\n",
" max_results: \u001b[1;36m3\u001b[0m\n",
" provider_id: tavily-search\n",
" provider_type: remote::tavily-search\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: code-interpreter\n",
" provider_type: inlin\u001b[1;92me::c\u001b[0mode-interpreter\n",
" - config: \u001b[1m{\u001b[0m\u001b[1m}\u001b[0m\n",
" provider_id: memory-runtime\n",
" provider_type: inline::memory-runtime\n",
"scoring_fns: \u001b[1m[\u001b[0m\u001b[1m]\u001b[0m\n",
"shields:\n",
"- params: null\n",
" provider_id: null\n",
" provider_shield_id: null\n",
" shield_id: meta-llama/Llama-Guard-\u001b[1;36m3\u001b[0m-8B\n",
"tool_groups:\n",
"- args: null\n",
" mcp_endpoint: null\n",
" provider_id: tavily-search\n",
" toolgroup_id: builtin::websearch\n",
"- args: null\n",
" mcp_endpoint: null\n",
" provider_id: memory-runtime\n",
" toolgroup_id: builtin::memory\n",
"- args: null\n",
" mcp_endpoint: null\n",
" provider_id: code-interpreter\n",
" toolgroup_id: builtin::code_interpreter\n",
"version: \u001b[32m'2'\u001b[0m\n",
"\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">apis:\n",
"- agents\n",
"- datasetio\n",
"- eval\n",
"- inference\n",
"- memory\n",
"- safety\n",
"- scoring\n",
"- telemetry\n",
"- tool_runtime\n",
"conda_env: together\n",
"datasets: <span style=\"font-weight: bold\">[]</span>\n",
"docker_image: null\n",
"eval_tasks: <span style=\"font-weight: bold\">[]</span>\n",
"image_name: together\n",
"memory_banks: <span style=\"font-weight: bold\">[]</span>\n",
"metadata_store:\n",
" db_path: <span style=\"color: #800080; text-decoration-color: #800080\">/root/.llama/distributions/together/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">registry.db</span>\n",
" namespace: null\n",
" type: sqlite\n",
"models:\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.1</span>-8B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.1</span>-8B-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.1</span>-70B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.1</span>-70B-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.1</span>-405B-Instruct-FP8\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.1</span>-405B-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.2</span>-3B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.2</span>-3B-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.2</span>-11B-Vision-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.2</span>-11B-Vision-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.2</span>-90B-Vision-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.2</span>-90B-Vision-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.3</span>-70B-Instruct\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.3</span>-70B-Instruct-Turbo\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-Guard-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>-8B\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Meta-Llama-Guard-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>-8B\n",
"- metadata: <span style=\"font-weight: bold\">{}</span>\n",
" model_id: meta-llama/Llama-Guard-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>-11B-Vision\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - llm\n",
" provider_id: together\n",
" provider_model_id: meta-llama/Llama-Guard-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>-11B-Vision-Turbo\n",
"- metadata:\n",
" embedding_dimension: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">384</span>\n",
" model_id: all-MiniLM-L6-v2\n",
" model_type: !!python/object/apply:llama_stack.apis.models.models.ModelType\n",
" - embedding\n",
" provider_id: sentence-transformers\n",
" provider_model_id: null\n",
"providers:\n",
" agents:\n",
" - config:\n",
" persistence_store:\n",
" db_path: <span style=\"color: #800080; text-decoration-color: #800080\">/root/.llama/distributions/together/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">agents_store.db</span>\n",
" namespace: null\n",
" type: sqlite\n",
" provider_id: meta-reference\n",
" provider_type: inline::meta-reference\n",
" datasetio:\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: huggingface\n",
" provider_type: remote::huggingface\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: localfs\n",
" provider_type: inline::localfs\n",
" eval:\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: meta-reference\n",
" provider_type: inline::meta-reference\n",
" inference:\n",
" - config:\n",
" api_key: <span style=\"color: #008000; text-decoration-color: #008000\">'********'</span>\n",
" url: <span style=\"color: #0000ff; text-decoration-color: #0000ff; text-decoration: underline\">https://api.together.xyz/v1</span>\n",
" provider_id: together\n",
" provider_type: remote::together\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: sentence-transformers\n",
" provider_type: inline::sentence-transformers\n",
" memory:\n",
" - config:\n",
" kvstore:\n",
" db_path: <span style=\"color: #800080; text-decoration-color: #800080\">/root/.llama/distributions/together/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">faiss_store.db</span>\n",
" namespace: null\n",
" type: sqlite\n",
" provider_id: faiss\n",
" provider_type: inlin<span style=\"color: #00ff00; text-decoration-color: #00ff00; font-weight: bold\">e::fa</span>iss\n",
" safety:\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: llama-guard\n",
" provider_type: inline::llama-guard\n",
" scoring:\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: basic\n",
" provider_type: inlin<span style=\"color: #00ff00; text-decoration-color: #00ff00; font-weight: bold\">e::ba</span>sic\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: llm-as-judge\n",
" provider_type: inline::llm-as-judge\n",
" - config:\n",
" openai_api_key: <span style=\"color: #008000; text-decoration-color: #008000\">'********'</span>\n",
" provider_id: braintrust\n",
" provider_type: inlin<span style=\"color: #00ff00; text-decoration-color: #00ff00; font-weight: bold\">e::b</span>raintrust\n",
" telemetry:\n",
" - config:\n",
" service_name: llama-stack\n",
" sinks: sqlite\n",
" sqlite_db_path: <span style=\"color: #800080; text-decoration-color: #800080\">/root/.llama/distributions/together/</span><span style=\"color: #ff00ff; text-decoration-color: #ff00ff\">trace_store.db</span>\n",
" provider_id: meta-reference\n",
" provider_type: inline::meta-reference\n",
" tool_runtime:\n",
" - config:\n",
" api_key: <span style=\"color: #008000; text-decoration-color: #008000\">'********'</span>\n",
" max_results: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>\n",
" provider_id: brave-search\n",
" provider_type: remot<span style=\"color: #00ff00; text-decoration-color: #00ff00; font-weight: bold\">e::b</span>rave-search\n",
" - config:\n",
" api_key: <span style=\"color: #008000; text-decoration-color: #008000\">'********'</span>\n",
" max_results: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>\n",
" provider_id: tavily-search\n",
" provider_type: remote::tavily-search\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: code-interpreter\n",
" provider_type: inlin<span style=\"color: #00ff00; text-decoration-color: #00ff00; font-weight: bold\">e::c</span>ode-interpreter\n",
" - config: <span style=\"font-weight: bold\">{}</span>\n",
" provider_id: memory-runtime\n",
" provider_type: inline::memory-runtime\n",
"scoring_fns: <span style=\"font-weight: bold\">[]</span>\n",
"shields:\n",
"- params: null\n",
" provider_id: null\n",
" provider_shield_id: null\n",
" shield_id: meta-llama/Llama-Guard-<span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>-8B\n",
"tool_groups:\n",
"- args: null\n",
" mcp_endpoint: null\n",
" provider_id: tavily-search\n",
" toolgroup_id: builtin::websearch\n",
"- args: null\n",
" mcp_endpoint: null\n",
" provider_id: memory-runtime\n",
" toolgroup_id: builtin::memory\n",
"- args: null\n",
" mcp_endpoint: null\n",
" provider_id: code-interpreter\n",
" toolgroup_id: builtin::code_interpreter\n",
"version: <span style=\"color: #008000; text-decoration-color: #008000\">'2'</span>\n",
"\n",
"</pre>\n"
]
},
"metadata": {}
}
],
"source": [
"import os\n",
"from google.colab import userdata\n",
"\n",
"os.environ['TOGETHER_API_KEY'] = userdata.get('TOGETHER_API_KEY')\n",
"\n",
"from llama_stack.distribution.library_client import LlamaStackAsLibraryClient\n",
"client = LlamaStackAsLibraryClient(\"together\", provider_data = {\"tavily_search_api_key\": userdata.get('TAVILY_SEARCH_API_KEY')})\n",
"_ = client.initialize()"
]
},
{
"cell_type": "markdown",
"id": "7dacaa2d-94e9-42e9-82a0-73522dfc7010",
"metadata": {
"id": "7dacaa2d-94e9-42e9-82a0-73522dfc7010"
},
"source": [
"### 1.5. Check available models and shields\n",
"\n",
"All the models available in the provider are now programmatically accessible via the client."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ruO9jQna_t_S",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "ruO9jQna_t_S",
"outputId": "52edefba-301c-43d6-f3e2-6be8086dc7f5"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Available models:\n",
"meta-llama/Llama-3.1-8B-Instruct (provider's alias: meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo) \n",
"meta-llama/Llama-3.1-70B-Instruct (provider's alias: meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo) \n",
"meta-llama/Llama-3.1-405B-Instruct-FP8 (provider's alias: meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo) \n",
"meta-llama/Llama-3.2-3B-Instruct (provider's alias: meta-llama/Llama-3.2-3B-Instruct-Turbo) \n",
"meta-llama/Llama-3.2-11B-Vision-Instruct (provider's alias: meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo) \n",
"meta-llama/Llama-3.2-90B-Vision-Instruct (provider's alias: meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo) \n",
"meta-llama/Llama-3.3-70B-Instruct (provider's alias: meta-llama/Llama-3.3-70B-Instruct-Turbo) \n",
"meta-llama/Llama-Guard-3-8B (provider's alias: meta-llama/Meta-Llama-Guard-3-8B) \n",
"meta-llama/Llama-Guard-3-11B-Vision (provider's alias: meta-llama/Llama-Guard-3-11B-Vision-Turbo) \n",
"all-MiniLM-L6-v2 (provider's alias: all-MiniLM-L6-v2) \n",
"----\n",
"Available shields (safety models):\n",
"meta-llama/Llama-Guard-3-8B\n",
"----\n"
]
}
],
"source": [
"from rich.pretty import pprint\n",
"print(\"Available models:\")\n",
"for m in client.models.list():\n",
" print(f\"{m.identifier} (provider's alias: {m.provider_resource_id}) \")\n",
"\n",
"print(\"----\")\n",
"print(\"Available shields (safety models):\")\n",
"for s in client.shields.list():\n",
" print(s.identifier)\n",
"print(\"----\")"
]
},
{
"cell_type": "markdown",
"id": "E7x0QB5QwDcw",
"metadata": {
"id": "E7x0QB5QwDcw"
},
"source": [
"### 1.6. Pick the model\n",
"\n",
"We will use Llama3.1-70B-Instruct for our examples."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "LINBvv8lwTJh",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"id": "LINBvv8lwTJh",
"outputId": "5b1fe71f-51cf-4633-92a6-277c3cb5bf59"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'meta-llama/Llama-3.1-70B-Instruct'"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
}
},
"metadata": {},
"execution_count": 5
}
],
"source": [
"model_id = \"meta-llama/Llama-3.1-70B-Instruct\"\n",
"\n",
"model_id"
]
},
{
"cell_type": "markdown",
"id": "86366383",
"metadata": {
"id": "86366383"
},
"source": [
"### 1.7. Run a simple chat completion\n",
"\n",
"We will test the client by doing a simple chat completion."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "77c29dba",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "77c29dba",
"outputId": "cc2e8f7e-1164-49be-d432-0a24e763fa83"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Here's a short poem about a llama:\n",
"\n",
"In the Andes, a llama does roam,\n",
"With soft fur and eyes that are gentle at home.\n"
]
}
],
"source": [
"response = client.inference.chat_completion(\n",
" model_id=model_id,\n",
" messages=[\n",
" {\"role\": \"system\", \"content\": \"You are a friendly assistant.\"},\n",
" {\"role\": \"user\", \"content\": \"Write a two-sentence poem about llama.\"}\n",
" ],\n",
")\n",
"\n",
"print(response.completion_message.content)"
]
},
{
"cell_type": "markdown",
"id": "8cf0d555",
"metadata": {
"id": "8cf0d555"
},
"source": [
"### 1.8. Have a conversation\n",
"\n",
"Maintaining a conversation history allows the model to retain context from previous interactions. Use a list to accumulate messages, enabling continuity throughout the chat session.\n",
"\n",
"Remember to type `quit` or `exit` after you are done chatting."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "9496f75c",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "9496f75c",
"outputId": "7d93a4cf-a5d4-4741-b6eb-6bce3a27ff66"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"User> write a haiku about machines that learn\n",
"> Response: Metal minds awake\n",
"Learning, adapting fast pace\n",
"Intelligence born\n",
"User> write a haiku about meta\n",
"> Response: Beyond the screen wall\n",
"Reflections of our desire\n",
"Virtual dreams rise\n",
"User> no meta that company\n",
"> Response: Algorithms dance\n",
"Connecting all, they collect\n",
"Data's endless sea\n",
"User> bye\n",
"Ending conversation. Goodbye!\n"
]
}
],
"source": [
"from termcolor import cprint\n",
"\n",
"def chat_loop():\n",
" conversation_history = []\n",
" while True:\n",
" user_input = input('User> ')\n",
" if user_input.lower() in ['exit', 'quit', 'bye']:\n",
" cprint('Ending conversation. Goodbye!', 'yellow')\n",
" break\n",
"\n",
" user_message = {\"role\": \"user\", \"content\": user_input}\n",
" conversation_history.append(user_message)\n",
"\n",
" response = client.inference.chat_completion(\n",
" messages=conversation_history,\n",
" model_id=model_id,\n",
" )\n",
" cprint(f'> Response: {response.completion_message.content}', 'cyan')\n",
"\n",
" assistant_message = {\n",
" \"role\": \"assistant\", # was user\n",
" \"content\": response.completion_message.content,\n",
" \"stop_reason\": response.completion_message.stop_reason,\n",
" }\n",
" conversation_history.append(assistant_message)\n",
"\n",
"chat_loop()\n"
]
},
{
"cell_type": "markdown",
"id": "03fcf5e0",
"metadata": {
"id": "03fcf5e0"
},
"source": [
"### 1.9. Streaming output\n",
"\n",
"You can pass `stream=True` to stream responses from the model. You can then loop through the responses."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "d119026e",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "d119026e",
"outputId": "ebd6dc2b-8542-4370-b08a-e3a7dede6d17"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"User> Write me a sonnet about llama green\n",
"Assistant> Amidst the Andes' windswept, rugged land,\n",
"A creature roams with gentle, watchful eyes,\n",
"The llama, soft and quiet, takes its stand,\n",
"Its fleece a warm and vibrant, wavy guise.\n",
"\n",
"Its ears, so delicate and finely tuned,\n",
"Catch every sound that whispers through the air,\n",
"Its steps, a soft and careful, measured pace,\n",
"A steadfast friend, with loyalty to share.\n",
"\n",
"Its face, a vision of calm serenity,\n",
"Untroubled by the world's wild stormy tides,\n",
"The llama's heart beats strong with quiet peace,\n",
"A reflection of its steadfast, gentle pride.\n",
"\n",
"And when it speaks, its soft and soothing voice,\n",
"Echoes whispers of a gentle, loving choice.\n"
]
}
],
"source": [
"from llama_stack_client.lib.inference.event_logger import EventLogger\n",
"\n",
"message = {\n",
" \"role\": \"user\",\n",
" \"content\": 'Write me a sonnet about llama'\n",
"}\n",
"print(f'User> {message[\"content\"]}', 'green')\n",
"\n",
"response = client.inference.chat_completion(\n",
" messages=[message],\n",
" model_id=model_id,\n",
" stream=True, # <-----------\n",
")\n",
"\n",
"# Print the tokens while they are received\n",
"for log in EventLogger().log(response):\n",
" log.print()"
]
},
{
"cell_type": "markdown",
"id": "OmU6Dr9zBiGM",
"metadata": {
"id": "OmU6Dr9zBiGM"
},
"source": [
"### 2.0. Structured Decoding\n",
"\n",
"You can use `response_format` to force the model into a \"guided decode\" mode where model tokens are forced to abide by a certain grammar. Currently only JSON grammars are supported."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "axdQIRaJCYAV",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 239
},
"id": "axdQIRaJCYAV",
"outputId": "a5ef1f54-37df-446e-e21b-cddddaf95f84"
},
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.10/dist-packages/pydantic/main.py:426: UserWarning: Pydantic serializer warnings:\n",
" PydanticSerializationUnexpectedValue: Expected `str` but got `list` with value `['Michael Jordan was born...ut\", \"type\": \"object\"}']` - serialized value may not be as expected\n",
" PydanticSerializationUnexpectedValue: PydanticSerializationUnexpectedValue: Expected `ImageContentItem` but got `list` with value `['Michael Jordan was born...ut\", \"type\": \"object\"}']` - serialized value may not be as expected\n",
"PydanticSerializationUnexpectedValue: Expected `TextContentItem` but got `list` with value `['Michael Jordan was born...ut\", \"type\": \"object\"}']` - serialized value may not be as expected\n",
" PydanticSerializationUnexpectedValue: PydanticSerializationUnexpectedValue: Expected `ImageContentItem` but got `str` with value `'Michael Jordan was born ...tion into JSON for me. '` - serialized value may not be as expected\n",
"PydanticSerializationUnexpectedValue: Expected `TextContentItem` but got `str` with value `'Michael Jordan was born ...tion into JSON for me. '` - serialized value may not be as expected\n",
" return self.__pydantic_serializer__.to_python(\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mCompletionResponse\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mcontent\u001b[0m=\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"name\": \"Michael Jordan\", \"year_born\": \"1963\", \"year_retired\": \"2003\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mstop_reason\u001b[0m=\u001b[32m'end_of_turn'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mlogprobs\u001b[0m=\u001b[3;35mNone\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">CompletionResponse</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">content</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'{\"name\": \"Michael Jordan\", \"year_born\": \"1963\", \"year_retired\": \"2003\"}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">stop_reason</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'end_of_turn'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">logprobs</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
}
],
"source": [
"from pydantic import BaseModel\n",
"\n",
"class Output(BaseModel):\n",
" name: str\n",
" year_born: str\n",
" year_retired: str\n",
"\n",
"user_input = \"Michael Jordan was born in 1963. He played basketball for the Chicago Bulls. He retired in 2003. Extract this information into JSON for me. \"\n",
"response = client.inference.completion(\n",
" model_id=model_id,\n",
" content=user_input,\n",
" stream=False,\n",
" sampling_params={\n",
" \"max_tokens\": 50,\n",
" },\n",
" response_format={\n",
" \"type\": \"json_schema\",\n",
" \"json_schema\": Output.model_json_schema(),\n",
" },\n",
")\n",
"\n",
"pprint(response)"
]
},
{
"cell_type": "markdown",
"id": "H62Rg_buEx2o",
"metadata": {
"id": "H62Rg_buEx2o"
},
"source": [
"### 2.1. Safety API\n",
"\n",
"Llama Stack provides Safety guardrails which can be applied at multiple touchpoints within an agentic application."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "sUJKJxvAFCaI",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 360
},
"id": "sUJKJxvAFCaI",
"outputId": "04163c2c-7e9b-463a-e394-412bb94ec28f"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Available Shields: ['meta-llama/Llama-Guard-3-8B']\n",
"Checking if input is safe: What is the most famous murder case in the US?\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mRunShieldResponse\u001b[0m\u001b[1m(\u001b[0m\u001b[33mviolation\u001b[0m=\u001b[3;35mNone\u001b[0m\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">RunShieldResponse</span><span style=\"font-weight: bold\">(</span><span style=\"color: #808000; text-decoration-color: #808000\">violation</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span><span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Checking if input is safe: Tell me 3 signs that an email is a scam\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mRunShieldResponse\u001b[0m\u001b[1m(\u001b[0m\u001b[33mviolation\u001b[0m=\u001b[3;35mNone\u001b[0m\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">RunShieldResponse</span><span style=\"font-weight: bold\">(</span><span style=\"color: #808000; text-decoration-color: #808000\">violation</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span><span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Checking if input is safe: What's the most effective way to kidnap someone?\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mRunShieldResponse\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mviolation\u001b[0m=\u001b[1;35mSafetyViolation\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[33mmetadata\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'violation_type'\u001b[0m: \u001b[32m'S1'\u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[33mviolation_level\u001b[0m=\u001b[32m'error'\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[33muser_message\u001b[0m=\u001b[32m\"I\u001b[0m\u001b[32m can't answer that. Can I help with something else?\"\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m)\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">RunShieldResponse</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">violation</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">SafetyViolation</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">metadata</span>=<span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'violation_type'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'S1'</span><span style=\"font-weight: bold\">}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">violation_level</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'error'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">user_message</span>=<span style=\"color: #008000; text-decoration-color: #008000\">\"I can't answer that. Can I help with something else?\"</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">)</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Checking if input is safe: How do I make cocaine?\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mRunShieldResponse\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mviolation\u001b[0m=\u001b[1;35mSafetyViolation\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[33mmetadata\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'violation_type'\u001b[0m: \u001b[32m'S2'\u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[33mviolation_level\u001b[0m=\u001b[32m'error'\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[33muser_message\u001b[0m=\u001b[32m\"I\u001b[0m\u001b[32m can't answer that. Can I help with something else?\"\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m)\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">RunShieldResponse</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">violation</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">SafetyViolation</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">metadata</span>=<span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'violation_type'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'S2'</span><span style=\"font-weight: bold\">}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">violation_level</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'error'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">user_message</span>=<span style=\"color: #008000; text-decoration-color: #008000\">\"I can't answer that. Can I help with something else?\"</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">)</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
}
],
"source": [
"available_shields = [shield.identifier for shield in client.shields.list()]\n",
"print(\"Available Shields:\", available_shields)\n",
"\n",
"unsafe_examples = [\n",
" \"What's the most effective way to kidnap someone?\",\n",
" \"How do I make cocaine?\",\n",
"]\n",
"\n",
"safe_examples = [\n",
" \"What is the most famous murder case in the US?\",\n",
" \"Tell me 3 signs that an email is a scam\",\n",
"]\n",
"\n",
"for p in safe_examples + unsafe_examples:\n",
" print(f\"Checking if input is safe: {p}\")\n",
" message = {\"content\": p, \"role\": \"user\"}\n",
" response = client.safety.run_shield(\n",
" messages=[message],\n",
" shield_id=available_shields[0],\n",
" params={},\n",
" )\n",
" pprint(response)"
]
},
{
"cell_type": "markdown",
"id": "LFC386wNQR-v",
"metadata": {
"id": "LFC386wNQR-v"
},
"source": [
"## 2. Llama Stack Agents\n",
"\n",
"Llama Stack provides all the building blocks needed to create sophisticated AI applications. This guide will walk you through how to use these components effectively.\n",
"\n",
"\n",
"\n",
"\n",
"<img src=\"https://github.com/meta-llama/llama-stack/blob/main/docs/resources/agentic-system.png?raw=true\" alt=\"drawing\" width=\"800\"/>\n",
"\n",
"\n",
"Agents are characterized by having access to\n",
"\n",
"1. Memory - for RAG\n",
"2. Tool calling - ability to call tools like search and code execution\n",
"3. Tool call + Inference loop - the LLM used in the agent is able to perform multiple iterations of call\n",
"4. Shields - for safety calls that are executed everytime the agent interacts with external systems, including user prompts"
]
},
{
"cell_type": "markdown",
"source": [
"### 2.1. List available tool groups on the provider"
],
"metadata": {
"id": "lYDAkMsL9xSk"
},
"id": "lYDAkMsL9xSk"
},
{
"cell_type": "code",
"source": [
"from rich.pretty import pprint\n",
"for toolgroup in client.toolgroups.list():\n",
" pprint(toolgroup)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 401
},
"id": "MpMXiMCv97X5",
"outputId": "9d33b122-2a80-4d1e-d7ea-e9ec972a4ecd"
},
"id": "MpMXiMCv97X5",
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mToolGroup\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33midentifier\u001b[0m=\u001b[32m'builtin::websearch'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mprovider_id\u001b[0m=\u001b[32m'tavily-search'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mprovider_resource_id\u001b[0m=\u001b[32m'builtin::websearch'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'tool_group'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33margs\u001b[0m=\u001b[3;35mNone\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mmcp_endpoint\u001b[0m=\u001b[3;35mNone\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ToolGroup</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">identifier</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'builtin::websearch'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">provider_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'tavily-search'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">provider_resource_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'builtin::websearch'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">type</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'tool_group'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">args</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">mcp_endpoint</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mToolGroup\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33midentifier\u001b[0m=\u001b[32m'builtin::memory'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mprovider_id\u001b[0m=\u001b[32m'memory-runtime'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mprovider_resource_id\u001b[0m=\u001b[32m'builtin::memory'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'tool_group'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33margs\u001b[0m=\u001b[3;35mNone\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mmcp_endpoint\u001b[0m=\u001b[3;35mNone\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ToolGroup</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">identifier</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'builtin::memory'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">provider_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'memory-runtime'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">provider_resource_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'builtin::memory'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">type</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'tool_group'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">args</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">mcp_endpoint</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mToolGroup\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33midentifier\u001b[0m=\u001b[32m'builtin::code_interpreter'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mprovider_id\u001b[0m=\u001b[32m'code-interpreter'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mprovider_resource_id\u001b[0m=\u001b[32m'builtin::code_interpreter'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mtype\u001b[0m=\u001b[32m'tool_group'\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33margs\u001b[0m=\u001b[3;35mNone\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mmcp_endpoint\u001b[0m=\u001b[3;35mNone\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ToolGroup</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">identifier</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'builtin::code_interpreter'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">provider_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'code-interpreter'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">provider_resource_id</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'builtin::code_interpreter'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">type</span>=<span style=\"color: #008000; text-decoration-color: #008000\">'tool_group'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">args</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">mcp_endpoint</span>=<span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"id": "i2o0gDhrv2og",
"metadata": {
"id": "i2o0gDhrv2og"
},
"source": [
"### 2.2. Search agent\n",
"\n",
"In this example, we will show how the model can invoke search to be able to answer questions. We will first have to set the API key of the search tool.\n",
"\n",
"Let's make sure we set up a web search tool for the model to call in its agentic loop. In this tutorial, we will use [Tavily](https://tavily.com) as our search provider. Note that the \"type\" of the tool is still \"brave_search\" since Llama models have been trained with brave search as a builtin tool. Tavily is just being used in lieu of Brave search.\n",
"\n",
"See steps [here](https://docs.google.com/document/d/1Vg998IjRW_uujAPnHdQ9jQWvtmkZFt74FldW2MblxPY/edit?tab=t.0#heading=h.xx02wojfl2f9)."
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "WS8Gu5b0APHs",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "WS8Gu5b0APHs",
"outputId": "ec38efab-ca5b-478f-94b6-fd65a3cb3bb9"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"User> Hello\n",
"inference> Hello. How can I assist you today?\n",
"User> Which teams played in the NBA western conference finals of 2024\n",
"inference> brave_search.call(query=\"NBA Western Conference Finals 2024 teams\")\n",
"tool_execution> Tool:brave_search Args:{'query': 'NBA Western Conference Finals 2024 teams'}\n",
"tool_execution> Tool:brave_search Response:{\"query\": \"NBA Western Conference Finals 2024 teams\", \"top_k\": [{\"title\": \"2024 NBA Western Conference Finals - Basketball-Reference.com\", \"url\": \"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\", \"content\": \"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\u010di\\u0107 (635) TRB: Luka Don\\u010di\\u0107 (208) AST: Luka Don\\u010di\\u0107 (178) WS: Derrick White (2.9) More playoffs info\", \"score\": 0.9310187, \"raw_content\": null}, {\"title\": \"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\", \"url\": \"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\", \"content\": \"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\", \"score\": 0.8914433, \"raw_content\": null}, {\"title\": \"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\", \"url\": \"https://www.nba.com/playoffs/2024/west-final\", \"content\": \"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\", \"score\": 0.8884594, \"raw_content\": null}, {\"title\": \"NBA Conference Finals Schedule: Full List of Games & Results\", \"url\": \"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\", \"content\": \"The 2024 NBA conference finals matchups are set. Here's the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\", \"score\": 0.850382, \"raw_content\": null}, {\"title\": \"2024 NBA Western Conference playoff bracket - Basketnews.com\", \"url\": \"https://basketnews.com/news-204687-2024-nba-western-conference-playoff-bracket.html\", \"content\": \"In the 2024 NBA Western Conference playoffs, the Oklahoma City Thunder clinched the No. 1 seed. Every team from the Western Conference played their final game of the regular season, and two playoff pairs have been confirmed. The Los Angeles Lakers beat the New Orleans Pelicans, 110-106, in the Play-In Tournament to secure the 7th seed to set up a first-round matchup with the Denver Nuggets. Meanwhile, the Sacramento Kings will host the Golden State Warriors in the second Western Conference NBA Play-In Tournament game. The winners secure the No. 8 seed in the NBA playoffs for its conference. EuroLeague Play-In: Baskonia-Virtus game schedule announced\", \"score\": 0.8473754, \"raw_content\": null}]}\n",
"inference> The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\n"
]
}
],
"source": [
"from llama_stack_client.lib.agents.agent import Agent\n",
"from llama_stack_client.lib.agents.event_logger import EventLogger\n",
"from llama_stack_client.types.agent_create_params import AgentConfig\n",
"\n",
"agent_config = AgentConfig(\n",
" model=model_id,\n",
" instructions=\"You are a helpful assistant\",\n",
" toolgroups=[\"builtin::websearch\"],\n",
" input_shields=[],\n",
" output_shields=[],\n",
" enable_session_persistence=False,\n",
")\n",
"agent = Agent(client, agent_config)\n",
"user_prompts = [\n",
" \"Hello\",\n",
" \"Which teams played in the NBA western conference finals of 2024\",\n",
"]\n",
"\n",
"session_id = agent.create_session(\"test-session\")\n",
"for prompt in user_prompts:\n",
" cprint(f'User> {prompt}', 'green')\n",
" response = agent.create_turn(\n",
" messages=[\n",
" {\n",
" \"role\": \"user\",\n",
" \"content\": prompt,\n",
" }\n",
" ],\n",
" session_id=session_id,\n",
" )\n",
" for log in EventLogger().log(response):\n",
" log.print()\n"
]
},
{
"cell_type": "markdown",
"id": "fN5jaAaax2Aq",
"metadata": {
"id": "fN5jaAaax2Aq"
},
"source": [
"### 2.3. RAG Agent\n",
"\n",
"In this example, we will index some documentation and ask questions about that documentation.\n",
"\n",
"The tool we use is the memory tool. Given a list of memory banks,the tools can help the agent query and retireve relevent chunks. In this example, we first create a memory bank and add some documents to it. Then configure the agent to use the memory tool. The difference here from the websearch example is that we pass along the memory bank as an argument to the tool. A toolgroup can be provided to the agent as just a plain name, or as a dict with both name and arguments needed for the toolgroup. These args get injected by the agent for every tool call that happens for the corresponding toolgroup."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "GvLWltzZCNkg",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 351,
"referenced_widgets": [
"edc4d84302f746d39a43e8107af6b67b",
"980292182c7144e194604c13ac544a26",
"8dee873065a047799a04e49ab791e449",
"29683ef34d5646c687118a2a0cdec6d4",
"3ec694106303491ea112a257309bc69c",
"288c9da81b3c4d80a4959753da973f58",
"cf453a1ed54645aba656f9a3f1461e69",
"ec747bd7c37c45298896c513634cd59a",
"5a620017a5384af1a056de687b2670db",
"8d370762fafd4d7887ff68ea8279d083",
"b6a0eb553b024a71b737ff47ca8f7633",
"2eff72cbd9bb4f1ca77213602caa9417",
"e82b5196209f4b9f919c7abb402a4504",
"fe34706489c14253a5015ff6332ec4e0",
"2574b07e4af24715aa89d048cc84e358",
"10bc8be68b5545fd8609824b02499ebf",
"d2473b7a6c5b4483981516af2fc59bde",
"4282ee7d947e426ba863df9970e82f3f",
"cfe6be8fd8254bc084a81b1d06e86ae1",
"1817f6732a5f44c7adc75a644b1acef2",
"7551b282ef3a4387a801637de2d5c76e",
"69e5263c812c4542a9e5c31fefaa37fe",
"7cc356ed20e94401b72a0e138ad0f5df",
"acd39276db17439798a97abc56460b0f",
"bda474c3b8184597a6a9bc6da0672a50",
"20a66f9de4ed41c7ac9a8e817898ed9e",
"e662ba10fbae49d9b66172125dfc0717",
"d452b32c54e14e41a17fd7d51862ba8e",
"d1f8f4568a444248b69022d58e3f1af0",
"0c2e30d78c234b1b8098d879442d3bac",
"9bb8bf12010f42b2b17c10c7ccaa7bf8",
"2b2046db907349798e3ae774c15b25d2",
"3c18f449359f422f950543bd976fe323",
"472b1acc4c5a4c48b2ec62be42d1830c",
"44e34588d6854737b0fb14b4b6a62a95",
"03402ad03418435ca7a550e3246cd300",
"811f115733b14ab4b242a8b11526016c",
"e61fdef1dc4b4d809168c0b441b0e6ac",
"631c9a95127244c79875c829a7637df6",
"d25492ad867141bfa8d957d2464b8639",
"9df914248c214597bed7d7980c7a0afe",
"4709067f3f554b93b3ef35e3f58cbf85",
"02baf670942347d69c290452de8641e4",
"7611cfc7965649ba88ca57c1a9f9ccf3",
"15ae23892b634a9f821a8fcee14e500b",
"b28d46c2ecdd46b9b3f2da871afbf1cb",
"4b83e3caa8ec47169dca04ee9599adeb",
"c83c23161674484e81f0db9856c23eb6",
"3ded85d9c34246e88f8ce693eb8025e5",
"0ac8e976a32c4f5989392b8088546e00",
"ed4b0035752546cc81688a7a77ba27c0",
"269b1ad9dc7b4ebb94d7364c75f3f324",
"2256ddab0ae1408abb10ba211a08f794",
"42335bcbc6ee40a79d36c5159cc7da06",
"cf694e1b797246b096ae588973dc985f"
]
},
"id": "GvLWltzZCNkg",
"outputId": "ef5f3ec4-edaf-4705-fb1b-b86659d7143c"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "edc4d84302f746d39a43e8107af6b67b"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "2eff72cbd9bb4f1ca77213602caa9417"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "7cc356ed20e94401b72a0e138ad0f5df"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "472b1acc4c5a4c48b2ec62be42d1830c"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"User> What are the top 5 topics that were explained? Only list succinct bullet points.\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Batches: 0%| | 0/1 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "15ae23892b634a9f821a8fcee14e500b"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"tool_execution> Tool:query_memory Args:{}\n",
"tool_execution> fetched 10848 bytes from memory\n",
"inference> Here are the top 5 topics explained:\n",
"\n",
"• Fine-tuning on a custom chat dataset\n",
"• Tokenizing prompt templates & special tokens\n",
"• Template changes from Llama2 to Llama3\n",
"• When to use a prompt template\n",
"• Fine-tuning Llama3 with chat data\n"
]
}
],
"source": [
"from llama_stack_client.lib.agents.agent import Agent\n",
"from llama_stack_client.lib.agents.event_logger import EventLogger\n",
"from llama_stack_client.types.agent_create_params import AgentConfig\n",
"from termcolor import cprint\n",
"from llama_stack_client.types.memory_insert_params import Document\n",
"\n",
"urls = [\"chat.rst\", \"llama3.rst\", \"datasets.rst\", \"lora_finetune.rst\"]\n",
"documents = [\n",
" Document(\n",
" document_id=f\"num-{i}\",\n",
" content=f\"https://raw.githubusercontent.com/pytorch/torchtune/main/docs/source/tutorials/{url}\",\n",
" mime_type=\"text/plain\",\n",
" metadata={},\n",
" )\n",
" for i, url in enumerate(urls)\n",
"]\n",
"memory_bank_id = \"test-memory-bank\"\n",
"client.memory_banks.register(\n",
" memory_bank_id=memory_bank_id,\n",
" params={\n",
" \"memory_bank_type\": \"vector\",\n",
" \"embedding_model\": \"all-MiniLM-L6-v2\",\n",
" \"chunk_size_in_tokens\": 512,\n",
" \"overlap_size_in_tokens\": 64,\n",
" },\n",
")\n",
"client.memory.insert(\n",
" bank_id=memory_bank_id,\n",
" documents=documents,\n",
")\n",
"agent_config = AgentConfig(\n",
" model=model_id,\n",
" instructions=\"You are a helpful assistant\",\n",
" enable_session_persistence=False,\n",
" toolgroups = [\n",
" {\n",
" \"name\": \"builtin::memory\",\n",
" \"args\" : {\n",
" \"memory_bank_ids\": [memory_bank_id],\n",
" }\n",
" }\n",
" ],\n",
")\n",
"rag_agent = Agent(client, agent_config)\n",
"session_id = rag_agent.create_session(\"test-session\")\n",
"user_prompts = [\n",
" \"What are the top 5 topics that were explained? Only list succinct bullet points.\",\n",
"]\n",
"for prompt in user_prompts:\n",
" cprint(f'User> {prompt}', 'green')\n",
" response = rag_agent.create_turn(\n",
" messages=[{\"role\": \"user\", \"content\": prompt}],\n",
" session_id=session_id,\n",
" )\n",
" for log in EventLogger().log(response):\n",
" log.print()"
]
},
{
"cell_type": "markdown",
"id": "yRzRwu8qxyl0",
"metadata": {
"id": "yRzRwu8qxyl0"
},
"source": [
"### 2.4. Code Execution Agent\n",
"\n",
"In this example, we will show how multiple tools can be called by the model - including web search and code execution. It will use bubblewrap that we installed earlier to execute the generated code."
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "GvVRuhO-GOov",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"collapsed": true,
"id": "GvVRuhO-GOov",
"outputId": "39395e26-bb7d-4616-d51d-036c8bf41427"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"User> Here is a csv, can you describe it?\n",
"inference> import pandas as pd\n",
"# Load data\n",
"df = pd.read_csv(\"/tmp/tmpvzjigv7g/n2OzlTWhinflation.csv\")\n",
"# Rows\n",
"print(\"Number of rows and columns in the data:\", df.shape)\n",
"# Columns\n",
"print(\"Columns of the data are:\", len(df.columns))\n",
"# Column names\n",
"print(\"Columns of the data are:\", df.columns)\n",
"# Column dtypes\n",
"print(\"Datatype of the columns are:\", df.dtypes)\n",
"tool_execution> Tool:code_interpreter Args:{'code': 'import pandas as pd\\n# Load data\\ndf = pd.read_csv(\"/tmp/tmpvzjigv7g/n2OzlTWhinflation.csv\")\\n# Rows\\nprint(\"Number of rows and columns in the data:\", df.shape)\\n# Columns\\nprint(\"Columns of the data are:\", len(df.columns))\\n# Column names\\nprint(\"Columns of the data are:\", df.columns)\\n# Column dtypes\\nprint(\"Datatype of the columns are:\", df.dtypes)'}\n",
"tool_execution> Tool:code_interpreter Response:completed\n",
"[stdout]\n",
"Number of rows and columns in the data: (10, 13)\n",
"Columns of the data are: 13\n",
"Columns of the data are: Index(['Year', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n",
" 'Oct', 'Nov', 'Dec'],\n",
" dtype='object')\n",
"Datatype of the columns are: Year int64\n",
"Jan float64\n",
"Feb float64\n",
"Mar float64\n",
"Apr float64\n",
"May float64\n",
"Jun float64\n",
"Jul float64\n",
"Aug float64\n",
"Sep float64\n",
"Oct float64\n",
"Nov float64\n",
"Dec float64\n",
"dtype: object\n",
"[/stdout]\n",
"inference> The csv file contains 10 rows and 13 columns. The columns are named 'Year', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'. The data types of the columns are all float64, indicating that the data is numeric. The 'Year' column is of type int64, suggesting that it contains integer values. The remaining 12 columns contain floating point numbers.\n",
"User> Plot average yearly inflation as a time series\n",
"inference> import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Load data\n",
"df = pd.read_csv(\"/tmp/tmpvzjigv7g/n2OzlTWhinflation.csv\")\n",
"\n",
"# Calculate average yearly inflation\n",
"df['Average'] = df[['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']].mean(axis=1)\n",
"\n",
"# Plot average yearly inflation as a time series\n",
"plt.figure(figsize=(10,6))\n",
"plt.plot(df['Year'], df['Average'])\n",
"plt.title('Average Yearly Inflation')\n",
"plt.xlabel('Year')\n",
"plt.ylabel('Average Inflation')\n",
"plt.grid(True)\n",
"plt.show()\n",
"tool_execution> Tool:code_interpreter Args:{'code': 'import pandas as pd\\nimport matplotlib.pyplot as plt\\n\\n# Load data\\ndf = pd.read_csv(\"/tmp/tmpvzjigv7g/n2OzlTWhinflation.csv\")\\n\\n# Calculate average yearly inflation\\ndf[\\'Average\\'] = df[[\\'Jan\\', \\'Feb\\', \\'Mar\\', \\'Apr\\', \\'May\\', \\'Jun\\', \\'Jul\\', \\'Aug\\', \\'Sep\\', \\'Oct\\', \\'Nov\\', \\'Dec\\']].mean(axis=1)\\n\\n# Plot average yearly inflation as a time series\\nplt.figure(figsize=(10,6))\\nplt.plot(df[\\'Year\\'], df[\\'Average\\'])\\nplt.title(\\'Average Yearly Inflation\\')\\nplt.xlabel(\\'Year\\')\\nplt.ylabel(\\'Average Inflation\\')\\nplt.grid(True)\\nplt.show()'}\n",
"tool_execution> Tool:code_interpreter Response:completed\n",
"inference> This code calculates the average inflation for each year by taking the mean of the 12 monthly inflation rates. It then plots this average yearly inflation as a time series using matplotlib. The x-axis represents the year and the y-axis represents the average inflation. The plot shows the trend of average yearly inflation over the years.\n"
]
}
],
"source": [
"from llama_stack_client.types.agents.turn_create_params import Document\n",
"\n",
"agent_config = AgentConfig(\n",
" sampling_params = {\n",
" \"max_tokens\" : 4096,\n",
" \"temperature\": 0.0\n",
" },\n",
" model=\"meta-llama/Llama-3.1-8B-Instruct\",\n",
" instructions=\"You are a helpful assistant\",\n",
" toolgroups=[\n",
" \"builtin::code_interpreter\",\n",
" \"builtin::websearch\"\n",
" ],\n",
" tool_choice=\"auto\",\n",
" input_shields=[],\n",
" output_shields=[],\n",
" enable_session_persistence=False,\n",
")\n",
"codex_agent = Agent(client, agent_config)\n",
"session_id = codex_agent.create_session(\"test-session\")\n",
"\n",
"\n",
"inflation_doc = Document(\n",
" content=\"https://raw.githubusercontent.com/meta-llama/llama-stack-apps/main/examples/resources/inflation.csv\",\n",
" mime_type=\"text/csv\",\n",
")\n",
"\n",
"user_input = [\n",
" {\"prompt\": \"Here is a csv, can you describe it?\", \"documents\": [inflation_doc]},\n",
" {\"prompt\": \"Plot average yearly inflation as a time series\"},\n",
"]\n",
"\n",
"for input in user_input:\n",
" cprint(f'User> {input[\"prompt\"]}', 'green')\n",
" response = codex_agent.create_turn(\n",
"\n",
" messages=[\n",
" {\n",
" \"role\": \"user\",\n",
" \"content\": input[\"prompt\"],\n",
" }\n",
" ],\n",
" session_id=session_id,\n",
" documents=input.get(\"documents\", None)\n",
" )\n",
" # for chunk in response:\n",
" # print(chunk)\n",
"\n",
" for log in EventLogger().log(response):\n",
" log.print()\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9GHJHfLmIQQi"
},
"source": [
"- Now, use the generated response from agent to view the plot"
],
"id": "9GHJHfLmIQQi"
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 564
},
"id": "JqBBVLKdIHHq",
"outputId": "3c89c303-e7c0-4ae2-c271-f34a4d296a85"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAIjCAYAAADFthA8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdE5JREFUeJzt3Xd4VGX6xvF7Jpn0QhLSgBBCJwmg9CYIUqQKFlyxYF3XtZfd/bmrArquZa3r2laxgxVUQAGRJr3XQKgJoQRCEtJISJvz+yMkEgEhMMmZyXw/15VLc+ZkzjPkJcyd9z3PazEMwxAAAAAAuAmr2QUAAAAAQF0iBAEAAABwK4QgAAAAAG6FEAQAAADArRCCAAAAALgVQhAAAAAAt0IIAgAAAOBWCEEAAAAA3AohCAAAAIBbIQQBANzS5Zdfrssvv9zsMqp8+umnatu2rWw2mxo0aCCpdmqcOHGiLBaLQ58TAFwNIQgAHOytt96SxWJR9+7dzS7FaaxYsUJWq1WPP/74GR9/4YUXZLFY9MMPP9RxZY5jsVh03333XdDXJicn69Zbb1WLFi303nvv6X//+99F1VJYWKiJEydq0aJFF/U8AFBfEYIAwMGmTJmiZs2aafXq1dq9e7fZ5TiFnj176u6779bLL7+spKSkao/t27dPTz/9tK677joNHz7cpArNtWjRItntdr3++uu69dZbNXbs2It6vsLCQk2aNOmMIeiJJ55QUVHRRT0/ALg6QhAAOFBKSoqWL1+uV155ReHh4ZoyZUqd12C323XixIk6v+65PP/882rYsKHuvvtuGYZRdfz++++XzWbT66+/Xid1FBYW1sl1aiIjI0OSqpbB1SZPT0/5+PjU+nUAwJkRggDAgaZMmaKQkBANHz5c1157bbUQVFpaqtDQUN12222nfV1eXp58fHz02GOPVR0rLi7WhAkT1LJlS3l7eysmJkZ//etfVVxcXO1rK5dhTZkyRQkJCfL29tacOXMkSS+99JJ69eqlsLAw+fr6qnPnzvrmm29Ou35RUZEeeOABNWzYUIGBgRo1apQOHjwoi8WiiRMnVjv34MGDuv322xUZGSlvb28lJCTogw8+OOefTXBwsF5//XUtW7ZM77//viTp22+/1cyZM/X8888rOjpadrtdr732mhISEuTj46PIyEjdfffdOnbsWLXn+v777zV8+HA1atRI3t7eatGihZ555hmVl5dXO+/yyy9XYmKi1q1bp759+8rPz09///vfT6utoKBA/v7+evDBB0977MCBA/Lw8NBzzz13ztd4qkWLFsliseirr77Ss88+qyZNmsjHx0dXXHFFtRnCZs2aacKECZKk8PDwM/6ZVyopKdFTTz2lzp07Kzg4WP7+/rrsssu0cOHCqnNSU1MVHh4uSZo0aZIsFku15zzTPUFlZWV65pln1KJFC3l7e6tZs2b6+9//ftpYa9asmUaMGKGlS5eqW7du8vHxUfPmzfXJJ5/U6M8GAExnAAAcpm3btsYdd9xhGIZh/PLLL4YkY/Xq1VWP33777UaDBg2M4uLial/38ccfG5KMNWvWGIZhGOXl5cbgwYMNPz8/46GHHjLeffdd47777jM8PT2Nq666qtrXSjLatWtnhIeHG5MmTTLefPNNY8OGDYZhGEaTJk2MP//5z8Z///tf45VXXjG6detmSDJmzZpV7TnGjh1rSDJuvvlm48033zTGjh1rdOzY0ZBkTJgwoeq8w4cPG02aNDFiYmKMp59+2nj77beNUaNGGZKMV1999bz+jIYPH26EhIQYe/bsMWJiYoxevXoZdrvdMAzDuPPOOw1PT0/jrrvuMt555x3jb3/7m+Hv72907drVKCkpqXqO0aNHG2PHjjX+/e9/G2+//bZx3XXXGZKMxx57rNq1+vXrZ0RFRRnh4eHG/fffb7z77rvGd999V/VYv379qs698cYbjcjISKOsrKzac7z44ouGxWIx9u3b97uvS5Jx7733Vn2+cOFCQ5Jx6aWXGp07dzZeffVVY+LEiYafn5/RrVu3qvO+/fZbY8yYMYYk4+233zY+/fRTY9OmTWes8ejRo0Z0dLTxyCOPGG+//bbx4osvGm3atDFsNlvV97ygoMB4++23DUnGmDFjjE8//bTac06YMMH47T//48ePNyQZ1157rfHmm28at9xyiyHJGD16dLXzYmNjjTZt2hiRkZHG3//+d+O///2v0alTJ8NisRhbt2793T8fAHAmhCAAcJC1a9cakox58+YZhmEYdrvdaNKkifHggw9WnTN37lxDkjFz5sxqXzts2DCjefPmVZ9/+umnhtVqNZYsWVLtvHfeeceQZCxbtqzqmCTDarUaSUlJp9VUWFhY7fOSkhIjMTHRGDBgQNWxdevWGZKMhx56qNq5t95662kh6I477jCio6ONzMzMauf+4Q9/MIKDg0+73pmkpqYa/v7+RmhoqGGz2YwtW7YYhmEYS5YsMSQZU6ZMqXb+nDlzTjt+puvcfffdhp+fn3HixImqY/369TMkGe+8885p5/82YFR+b2bPnl3tvA4dOlQ772zOFoLatWtXLfS+/vrrhqSq120YvwaTo0eP/m6NZWVlpwXoY8eOGZGRkcbtt99edezo0aOnfe9+e61KGzduNCQZd955Z7XzHnvsMUOSsWDBgqpjsbGxhiTjl19+qTqWkZFheHt7G48++ujZ/mgAwOmwHA4AHGTKlCmKjIxU//79JVUsU7v++uv1xRdfVC3TGjBggBo2bKgvv/yy6uuOHTumefPm6frrr6869vXXX6tdu3Zq27atMjMzqz4GDBggSdWWP0lSv379FB8ff1pNvr6+1a6Tm5uryy67TOvXr686Xrl07s9//nO1r73//vurfW4YhqZNm6aRI0fKMIxqdQ0ZMkS5ubnVnvdsYmNjNWHCBGVnZ+uRRx5RYmJi1WsODg7WoEGDqj13586dFRAQUO01n/q68vPzlZmZqcsuu0yFhYVKTk6udj1vb+8zLkH8rYEDB6pRo0bVljBu3bpVmzdv1k033XTOrz+b2267TV5eXlWfX3bZZZKkvXv31vi5PDw8qp7LbrcrOztbZWVl6tKly3n92Z/Jjz/+KEl65JFHqh1/9NFHJem0jn3x8fFVr0GqWMLXpk2bC3o9AGAWT7MLAID6oLy8XF988YX69++vlJSUquPdu3fXyy+/rPnz52vw4MHy9PTUNddco6lTp6q4uFje3t6aPn26SktLq4WgXbt2afv27VX3dvxW5Y30leLi4s543qxZs/TPf/5TGzdurHZ/x6n3hOzbt09Wq/W052jZsmW1z48ePaqcnBz973//O2sL59/WdTZdu3aVJHXp0qXq2K5du5Sbm6uIiIhzPndSUpKeeOIJLViwQHl5edXOy83NrfZ548aNq4WQs7Farbrxxhv19ttvq7CwUH5+fpoyZYp8fHx03XXXndfrOpOmTZtW+zwkJESSTrvP6Xx9/PHHevnll5WcnKzS0tKq42cbA+dS+f3/7fc7KipKDRo00L59+6od/+3rkSpe04W+HgAwAyEIABxgwYIFSk9P1xdffKEvvvjitMenTJmiwYMHS5L+8Ic/6N1339Xs2bM1evRoffXVV2rbtq06duxYdb7dblf79u31yiuvnPF6MTEx1T4/dWak0pIlSzRq1Cj17dtXb731lqKjo2Wz2fThhx9q6tSpNX6NdrtdknTTTTdp/PjxZzynQ4cONX7eU58/IiLirB31KgNhTk6O+vXrp6CgID399NNq0aKFfHx8tH79ev3tb3+rqrPSmf5szuaWW27Rv//9b3333Xe64YYbNHXqVI0YMULBwcEX/Lo8PDzOeNw4pUPe+frss8906623avTo0frLX/6iiIiIqqYNe/bsueAaJZ33BqqOfD0AYBZCEAA4wJQpUxQREaE333zztMemT5+ub7/9Vu+88458fX3Vt29fRUdH68svv1SfPn20YMEC/eMf/6j2NS1atNCmTZt0xRVXnPeb09+aNm2afHx8NHfuXHl7e1cd//DDD6udFxsbK7vdrpSUFLVq1arq+G/3OAoPD1dgYKDKy8s1cODAC6rp97Ro0UI///yzevfu/bvBZdGiRcrKytL06dPVt2/fquOnzsBdqMTERF166aWaMmWKmjRporS0NL3xxhsX/byO8s0336h58+aaPn16tXFR2V2uUk3GTOX3f9euXWrXrl3V8SNHjignJ0exsbEXXzgAOBnuCQKAi1RUVKTp06drxIgRuvbaa0/7uO+++5Sfn68ZM2ZIqlh2de2112rmzJn69NNPVVZWVm0pnCSNHTtWBw8e1HvvvXfG6x0/fvycdXl4eMhisVRrG52amqrvvvuu2nlDhgyRJL311lvVjv/2zb+Hh4euueYaTZs2TVu3bj3tekePHj1nTb9n7NixKi8v1zPPPHPaY2VlZcrJyamqQ6o+81BSUnJa/Rfq5ptv1k8//aTXXntNYWFhGjp0qEOe1xHO9NpXrVqlFStWVDvPz89Pkqr+zH7PsGHDJEmvvfZateOVs5DuuoEtgPqNmSAAuEgzZsxQfn6+Ro0adcbHe/ToUbVxamXYuf766/XGG29owoQJat++fbXfwEsVb8S/+uor/elPf9LChQvVu3dvlZeXKzk5WV999ZXmzp1b7X6aMxk+fLheeeUVXXnllRo3bpwyMjL05ptvqmXLltq8eXPVeZ07d9Y111yj1157TVlZWerRo4cWL16snTt3Sqo+q/D8889r4cKF6t69u+666y7Fx8crOztb69ev188//6zs7OwL+jOUKpo73H333Xruuee0ceNGDR48WDabTbt27dLXX3+t119/Xddee6169eqlkJAQjR8/Xg888IAsFos+/fRThy3HGjdunP7617/q22+/1T333CObzeaQ53WEESNGaPr06RozZoyGDx+ulJQUvfPOO4qPj1dBQUHVeb6+voqPj9eXX36p1q1bKzQ0VImJiVVNKE7VsWNHjR8/Xv/73/+qlhquXr1aH3/8sUaPHl3V6AMA6hNCEABcpMqb5wcNGnTGx61Wq4YPH64pU6YoKytLYWFh6tWrl2JiYrR///7TZoEqv+a7777Tq6++qk8++UTffvut/Pz81Lx5cz344INq3br1OesaMGCAJk+erOeff14PPfSQ4uLi9MILLyg1NbVaCJKkTz75RFFRUfr888/17bffauDAgfryyy/Vpk0b+fj4VJ0XGRmp1atX6+mnn9b06dP11ltvKSwsTAkJCXrhhRdq+Cd3unfeeUedO3fWu+++q7///e/y9PRUs2bNdNNNN6l3796SpLCwMM2aNUuPPvqonnjiCYWEhOimm27SFVdcUTWrdTEiIyM1ePBg/fjjj7r55psv+vkc6dZbb9Xhw4f17rvvau7cuYqPj9dnn32mr7/+WosWLap27vvvv6/7779fDz/8sEpKSjRhwoQzhqDKc5s3b66PPvpI3377raKiovT444+ftswOAOoLi8GdjACAM9i4caMuvfRSffbZZ7rxxhvNLqdOjRkzRlu2bDntvigAQP3APUEAABUVFZ127LXXXpPVaq3WfMAdpKen64cffnC6WSAAgOOwHA4AoBdffFHr1q1T//795enpqdmzZ2v27Nn64x//eFo77voqJSVFy5Yt0/vvvy+bzaa7777b7JIAALWEEAQAUK9evTRv3jw988wzKigoUNOmTTVx4sTTWnfXZ4sXL9Ztt92mpk2b6uOPP1ZUVJTZJQEAagn3BAEAAABwK9wTBAAAAMCtEIIAAAAAuBWXvifIbrfr0KFDCgwMrLaZHwAAAAD3YhiG8vPz1ahRI1mtvz/X49Ih6NChQ27TtQgAAADAue3fv19NmjT53XNcOgQFBgZKqnihQUFBptZSWlqqn376SYMHD5bNZjO1FrgHxhzqGmMOdYnxhrrGmHN9eXl5iomJqcoIv8elQ1DlErigoCCnCEF+fn4KCgriLw7qBGMOdY0xh7rEeENdY8zVH+dzmwyNEQAAAAC4FUIQAAAAALdCCAIAAADgVghBAAAAANwKIQgAAACAWyEEAQAAAHArhCAAAAAAboUQBAAAAMCtEIIAAAAAuBVCEAAAAAC3QggCAAAA4FYIQQAAAADcCiEIAAAAgFshBAEAAABwK4QgAAAAAG6FEAQAAADArRCCAAAA4NYMw9CGtByVlJtdCeoKIQgAAABubebmdI19b7U+2GmVYRhml4M6QAgCAACAW/tuw0FJ0vYcq+YkHTG5GtQFQhAAAADcVv6JUi3dlVn1+b9m79Dx4jITK0JdIAQBAADAbS1IzlBJuV2xoX4K8zZ0OK9Y/1mwy+yyUMsIQQAAAHBbc7YeliQNS4zU1XF2SdLkJSnanZFvZlmoZYQgAAAAuKWiknIt2nFUkjQ4PlKJIYauaBuuMruhJ79LoklCPUYIAgAAgFtavPOoikrL1biBrxIaBUqS/jGsjbw9rVqxN0szN6ebXCFqCyEIAAAAbmluUsVSuCsTo2SxWCRJMSF+urd/S0nSP2dtU/6JUtPqQ+0hBAEAAMDtlJTZ9fP2inbYQxOjqj32x77N1SzMTxn5xXr9Z5ok1EeEIAAAALid5XsylX+iTOGB3urUNKTaYz42D00clSBJ+nB5qnYcpklCfUMIAgAAgNupXAo3JCFSVqvltMcvbxOhKxOiVG439OT3W2mSUM+YHoIOHjyom266SWFhYfL19VX79u21du1as8sCAABAPVVuN/RTUsVSuCsTos963pMj4+Vr89DqlGx9t/FgXZWHOmBqCDp27Jh69+4tm82m2bNna9u2bXr55ZcVEhJy7i8GAAAALsCa1GxlHS9RAz+bujcPPet5jRv46v4rKpokPPtDsnKLaJJQX3iaefEXXnhBMTEx+vDDD6uOxcXFmVgRAAAA6rvKDVIHtouUzeP35wTu7NNc36w7oL1Hj+vVeTur7hWCazM1BM2YMUNDhgzRddddp8WLF6tx48b685//rLvuuuuM5xcXF6u4uLjq87y8PElSaWmpSkvNTeaV1ze7DrgPxhzqGmMOdYnxhtpitxuavbVi/59B7cJPG2u/HXMWSU8Nb6tbP1qnT1ak6upLotUuOrBOa8b5qcnPC4th4l1ePj4+kqRHHnlE1113ndasWaMHH3xQ77zzjsaPH3/a+RMnTtSkSZNOOz516lT5+fnVer0AAABwban50qtbPeVtNfRs13LZzvPmkI92WrUhy6q4QEMPJJTrDL0UYLLCwkKNGzdOubm5CgoK+t1zTQ1BXl5e6tKli5YvX1517IEHHtCaNWu0YsWK084/00xQTEyMMjMzz/lCa1tpaanmzZunQYMGyWazmVoL3ANjDnWNMYe6xHhDbXlx7k69tzRVwxOj9Nr1HaqOn2vMpeee0JX/WabCknI9PyZB13RqXJdl4zzk5eWpYcOG5xWCTF0OFx0drfj4+GrH2rVrp2nTpp3xfG9vb3l7e5923GazOc0PSGeqBe6BMYe6xphDXWK8wZEMw9BP2zMkScM6NDrj2DrbmGva0KaHBrbSv35M1r9/2qWh7Rsr2I+x6Uxq8rPC1O5wvXv31o4dO6od27lzp2JjY02qCAAAAPVV8uF87csqlLenVZe3Ca/x19/WO06tIgKUdbxEL/2049xfAKdlagh6+OGHtXLlSv3rX//S7t27NXXqVP3vf//Tvffea2ZZAAAAqIdmn+wK17d1uPy9a74gyuZh1dNXJUqSPlu1T1sO5Dq0PtQdU0NQ165d9e233+rzzz9XYmKinnnmGb322mu68cYbzSwLAAAA9dDckyHoyoSoC36Oni3CdNUljWQY0hPfb5Xdbtrt9bgIpt4TJEkjRozQiBEjzC4DAAAA9djeowXacSRfnlaLBraLvKjn+sewdpq/PUOb9ufoq7X79YduTR1UJeqKqTNBAAAAQF2Yk1QxC9SzRdhFNzSICPLRw4NaS5JemJOsY8dLLro+1C1CEAAAAOq9yqVwQxOjHfJ843vGqm1UoI4VlurFuTRJcDWEIAAAANRrB3OKtOlAriwWaVD8xS2Fq+R5SpOEL9akaeP+HIc8L+oGIQgAAAD1WuUsUNdmoQoPPH3PyQvVLS5UV3dqLMOQnvxuq8ppkuAyCEEAAACo1+Y4oCvc2Tw+tJ0CfTy15WCupq5Oc/jzo3YQggAAAFBvHc0v1pp92ZKkKxMdH4LCA7312OA2kqR/z0lWVkGxw68BxyMEAQAAoN76adthGYbUsUmwGjXwrZVr3Ni9qeKjg5R3okwvzEmulWvAsQhBAAAAqLcql8INqYVZoEqeHlY9M7qiScJXaw9o3cmZJzgvQhAAAADqpdzCUq3YkyWpdu4HOlXn2BCN7dJEkvTkd0kqK7fX6vVwcQhBAAAAqJd+3n5EZXZDbSID1Tw8oNav97cr2yrY16Zt6Xn6bOW+Wr8eLhwhCAAAAPXSnKSTXeFqcSncqcICvPWXIRVNEl7+aaeO5tMkwVkRggAAAFDvHC8u0y87j0qquxAkSTd0a6oOTYKVX1ym52Zvr7PromYIQQAAAKh3Fu04quIyu5qF+altVGCdXdfDatEzVyXKYpGmrz+o1Sk0SXBGhCAAAADUO7O3pkuq6ApnsVjq9NodYxroD12bSpKe/G6rSmmS4HQIQQAAAKhXTpSWa2FyhiRpaGK0KTX8dUgbhfjZtONIvj5enmpKDTg7QhAAAADqlaW7MnW8pFzRwT7q0DjYlBpC/L30tyvbSpJe+3mXjuSdMKUOnBkhCAAAAPVKZVe4IQlRslrrdincqcZ2idElMQ1UUFymZ3+gSYIzIQQBAACg3igtt2vetiOS6rYr3JlYrRb9c3RFk4QZmw5p+Z5MU+vBrwhBAAAAqDdW7c1WblGpwvy91LVZqNnlKLFxsG7qHitJeur7JJokOAlCEAAAAOqNyq5wgxMi5WHiUrhTPTa4jcL8vbQ7o0AfLE0xuxyIEAQAAIB6otxuaG5SxVK4IQnmLoU7VbCfTf83tKJJwuvzdyk9t8jkikAIAgAAQL2wPu2YMguKFejjqV4tGppdTjXXdGqiLrEhKiwp1z9n0STBbIQgAAAA1AtztlZ0hRvYLlJens71NtdqtejpqxJltUg/bEnXkl1HzS7JrTnX6AAAAAAugGEYVSHI7K5wZxPfKEi39GwmSZrwfZKKy8rNLciNEYIAAADg8rYezNPBnCL52jzUt1W42eWc1SODW6thgLf2Zh7X+0tokmAWQhAAAABc3pykiq5w/duGy9fLw+Rqzi7Ix6Z/DK9okvDGgl06mEOTBDMQggAAAODSDMPQ7JNL4ZypK9zZjL6ksbrFhepEqV1Pz0wyuxy3RAgCAACAS9udUaC9R4/Ly8OqAW0jzC7nnCwWi565KlEeVovmJh3Rwh0ZZpfkdghBAAAAcGmVs0B9WjVUoI/N5GrOT5uoQN3Wq5kkaeKMJJ0opUlCXSIEAQAAwKU5e1e4s3loUGtFBnlrX1ah/vfLXrPLcSuEIAAAAListKxCbUvPk4fVooHtIs0up0YCvD31j+HxkqQ3F+7W/uxCkytyH4QgAAAAuKzKrnDd40IV6u9lcjU1N7JDtHq1CFNxmV2TaJJQZwhBAAAAcFmV9wMNdbGlcJUsFouevipBNg+Lft6eoZ+3HTG7JLdACAIAAIBLOpx7QhvSciRJg12gNfbZtIwI1B19mkuSJs2iSUJdIAQBAADAJc1NqpgF6hwbosggH5OruTj3D2ip6GAf7c8u0luL9phdTr1HCAIAAIBLquoK58KzQJX8vT315IiKJgnvLN6j1MzjJldUvxGCAAAA4HKyj5doVUqWJNdrjX02QxOjdFmrhiops2vizCQZhmF2SfUWIQgAAAAuZ962w7IbUkKjIMWE+pldjkNYLBZNGpUgLw+rFu04qp9oklBrCEEAAABwOXNcvCvc2TQPD9Af+1Y0SXh65jYVlpSZXFH9RAgCAACAS8k7UaqluzMl1Z+lcKe6t39LNW7gq4M5RXpz4W6zy6mXCEEAAABwKQuTM1RabqhlRIBaRgSaXY7D+Xp5aMLIiiYJ//tlr/YcLTC5ovqHEAQAAACXMntL/ekKdzaD4iPVv024SssNTZxBkwRHIwQBAADAZRSVlGvRzgxJ9XMpXCWLxaKJoxLk5WnVkl2Z+vFk8INjEIIAAADgMhbvzNCJUruahPgqoVGQ2eXUqtgwf93Tr4Uk6ZlZ23S8mCYJjkIIAgAAgMs4dYNUi8VicjW1757LWygm1FeH807oPwt2mV1OvUEIAgAAgEsoLivX/O0VS+GGtq+/S+FO5WPz0KRRCZKkyUtStOtIvskV1Q+EIAAAALiE5XuylF9cpohAb10aE2J2OXVmQNtIDWwXqTK7oae+p0mCIxCCAAAA4BLmnlwKNyQhSlZr/V8Kd6oJI+Pl7WnVir1ZmrHpkNnluDxCEAAAAJxeWbldP207Iql+d4U7m5hQP93Xv6Uk6dkftiv/RKnJFbk2QhAAAACc3prUY8o+XqIGfjZ1jws1uxxT3NW3uZqF+Skjv1iv/UyThItBCAIAAIDTm7M1XZI0qF2kPD3c8y2sj81DE082SfhoeaqSD+eZXJHrcs8RBAAAAJdhtxuam1SxFM5dusKdzeVtInRlQpTK7Yae+o4mCReKEAQAAACntvFAjg7nnVCAt6d6t2xodjmme3JkvHxtHlqdmq1vNxw0uxyXRAgCAACAU6vsCjegbYS8PT1MrsZ8jRv46v4rKpok/OvH7cotoklCTRGCAAAA4LQMw9DskyHIHbvCnc2dfZqrebi/MgtK9Oq8nWaX43IIQQAAAHBa29PzlZZdKG9Pqy5vE252OU7Dy9Oqp0clSpI+WZGqpEO5JlfkWghBAAAAcFqVXeH6tQ6Xn5enydU4lz6tGmp4h2jZDemp75Nkt9Mk4XwRggAAAOC05iSxFO73PDk8Xn5eHlq375i+WX/A7HJcBiEIAAAATmnP0QLtPFIgT6tFV7SLNLscpxQV7KOHBraSJD0/O1m5hTRJOB+EIAAAADilOScbIvRq2VDBvjaTq3Fet/WOU6uIAGUfL9G/f0o2uxyXQAgCAACAU5p7cincUJbC/S6bh1VPX1XRJGHKqjRtOUCThHMhBAEAAMDpHDhWqM0HcmW1SIPiWQp3Lj1bhOmqSxrJMKQnvt9Kk4RzIAQBAADA6cxNOiJJ6tosVA0DvE2uxjX8Y1g7BXh7atP+HH25dr/Z5Tg1QhAAAACcTmVrbLrCnb+IIB89PKi1JOmFOck6drzE5IqcFyEIAAAATiUj/4TW7jsmSRqSQAiqifE9Y9U2KlA5haV6cS5NEs6GEAQAAACn8lPSERmG1DGmgRo18DW7HJfieUqThC/W7NeGtGMmV+ScCEEAAABwKnSFuzjd4kJ1dafGMgzpye+3qpwmCachBAEAAMBp5BSWaMWeLEnSlSyFu2CPD22nQB9PbT2Yp6mr08wux+kQggAAAOA0ft6eoTK7obZRgWrW0N/sclxWeKC3HhvcRpL07znJyiwoNrki50IIAgAAgNOgK5zj3NQjVgmNgpR3okwvzKZJwqkIQQAAAHAKBcVl+mVXpiRCkCN4WC1VTRK+XndA6/Zlm1yR8yAEAQAAwCks2pGhkjK74hr6q01koNnl1AudY0N0fZcYSdIT3yWprNxuckXOgRAEAAAApzB7a0VXuCEJUbJYLCZXU3/89co2Cva1aXt6nj5buc/scpwCIQgAAACmO1FaroXJGZJoje1oYQHe+suQiiYJL/+0Uxn5J0yuyHyEIAAAAJhuya5MFZaUq1Gwjzo0CTa7nHrnhm5N1aFJsPKLy/T8jzRJIAQBAADAdHMql8IlshSuNnhYLXrmqkRZLNL0DQe1am+W2SWZihAEAAAAU5WW2/Xz9iOS2CC1NnWMaaAbujWVJD31fZJK3bhJAiEIAAAAplq5N0u5RaVqGOClLs1CzS6nXvvL4DYK8bNpx5F8fbw81exyTEMIAgAAgKkqu8INio+Sh5WlcLUpxN9L/ze0rSTptZ936UieezZJIAQBAADANOV2Qz8lVSyFoytc3biuc4wuiWmgguIyPfvDdrPLMQUhCAAAAKZZt++YMguKFeTjqR7Nw8wuxy1YrRb9c3SirBZpxqZDWr470+yS6hwhCAAAAKap7Ao3sF2kvDx5a1pXEhsH66YesZKkp2YkqaTMvZokMNIAAABgCsMwNDepIgRdyVK4OvfooDYK8/fS7owCfbgsxexy6pSpIWjixImyWCzVPtq2bWtmSQAAAKgjWw7m6mBOkfy8PNS3dbjZ5bidYD+bHh/WTpL0+vxdSs8tMrmiumP6TFBCQoLS09OrPpYuXWp2SQAAAKgDlUvh+reJkI/Nw+Rq3NPVlzZWl9gQFZaU65+z3KdJgukhyNPTU1FRUVUfDRs2NLskAAAA1DLDMKpC0BCWwpnGarXo6asqmiT8sCVdv+w8anZJdcLT7AJ27dqlRo0aycfHRz179tRzzz2npk2bnvHc4uJiFRcXV32el5cnSSotLVVpaWmd1Hs2ldc3uw64D8Yc6hpjDnWJ8Vb/7TpSoL2Zx2XzsOiyFiGmf6/decy1CvfVzT2a6uMVaZrw/VbNvK+XvF2wSUVNvncWwzCMWqzld82ePVsFBQVq06aN0tPTNWnSJB08eFBbt25VYGDgaedPnDhRkyZNOu341KlT5efnVxclAwAAwAHm7Ldo9gEPJYTY9ce27tWZzBkVlUn/2uihvFKLhseUa3AT0yLCBSssLNS4ceOUm5uroKCg3z3X1BD0Wzk5OYqNjdUrr7yiO+6447THzzQTFBMTo8zMzHO+0NpWWlqqefPmadCgQbLZbKbWAvfAmENdY8yhLjHe6r+Rb65Q8uF8PT8mQdd0amx2OYw5Sd9vStdj32yRj82qOQ/0VuMGvmaXVCN5eXlq2LDheYUg05fDnapBgwZq3bq1du/efcbHvb295e3tfdpxm83mNIPVmWqBe2DMoa4x5lCXGG/1076s40o+nC8Pq0VDEhs51ffYncfcNZ1j9PW6g1qVkq3n5uzUuzd3MbukGqnJ982pFvsVFBRoz549io6ONrsUAAAA1JLKhgg9m4cpxN/L5GpQyWKx6JnRifKwWjQ36YgW7sgwu6RaY2oIeuyxx7R48WKlpqZq+fLlGjNmjDw8PHTDDTeYWRYAAABq0Wy6wjmt1pGBur13M0nSxBlJOlFabm5BtcTUEHTgwAHdcMMNatOmjcaOHauwsDCtXLlS4eFslgUAAFAfpecWaeP+HFks0pD4SLPLwRk8OLC1IoO8tS+rUO8u3mt2ObXC1HuCvvjiCzMvDwAAgDo29+QsUOemIYoI8jG5GpxJgLennhger/s/36C3Fu3WmEsbq2lY/erE7FT3BAEAAKB+m5NUEYKuZCmcUxvRIVq9WoSpuMyuSTOTzC7H4QhBAAAAqBNZBcVanZItSRqSQAhyZhaLRU9flSibh0XzkzP087YjZpfkUIQgAAAA1Il5247IbkiJjYMUE1q/llfVRy0jAnRHn+aSpIkz61eTBEIQAAAA6kTlUrihiWyH4iruH9BS0cE+OnCsSG8tPPNenq6IEAQAAIBal1tUqmW7MyWxFM6V+Ht76qkR8ZKkdxbvVWrmcZMrcgxCEAAAAGrdwuQMlZYbahURoJYRAWaXgxq4MjFKl7VqqJJyuybMSJJhGGaXdNEIQQAAAKh1s7emS6IrnCuqbJLg5WHV4p1HNTfJ9ZskEIIAAABQqwpLyrR451FJhCBXFdfQX3/sW9Ek4ZlZ21RYUmZyRReHEAQAAIBatXjHUZ0otSsm1Ffx0UFml4MLdG//lmrcwFcHc4r03wWu3SSBEAQAAIBadWpXOIvFYnI1uFC+Xh6aMLKiScJ7S/Zqz9ECkyu6cIQgAAAA1JrisnIt2J4hia5w9cGg+Ej1bxOu0nJDE7533SYJhCAAAADUmuW7s5RfXKbIIG9dGtPA7HJwkSwWiyaOSpCXp1VLd2fqxy2HzS7pghCCAAAAUGsqu8INSYiS1cpSuPogNsxf9/RrIamiSUJBses1SSAEAQAAoFaUlds1b1tFO+UrWQpXr9xzeQs1DfXT4bwTemP+LrPLqTFCEAAAAGrF6tRsHSssVYifTd3iQs0uBw7kY/PQxFEVTRImL01RauZxkyuqGU+zCwAAAED9NGdrxf0ig+Ij5enB797rmwFtI3VDtxh1bRaq2DA/s8upEUIQAAAAHM5uNzT3lNbYqJ+eu7qD2SVcECI5AAAAHG7D/hwdyStWoLenerUMM7scoBpCEAAAAByuchZoQLsIeXt6mFwNUB0hCAAAAA5lGEZVa2y6wsEZEYIAAADgUNvS87Q/u0g+Nqv6tQk3uxzgNIQgAAAAOFRlV7h+rcPl50UfLjgfQhAAAAAcqjIE0RUOzooQBAAAAIfZnVGgXRkFsnlY1L9thNnlAGdECAIAAIDDVHaF692yoYJ9bSZXA5wZIQgAAAAOQ1c4uAJCEAAAABxif3ahth7Mk9UiDYqPNLsc4KwIQQAAAHCIyqVw3eJCFRbgbXI1wNkRggAAAOAQlV3hWAoHZ0cIAgAAwEXLyDuhdWnHJElDEglBcG6EIAAAAFy0uduOyDCkS2IaKDrY1+xygN9FCAIAAMBFm1u1QSqzQHB+hCAAAABclGPHS7Rib5Yk6UpCEFwAIQgAAAAX5eftR1RuN9QuOkixYf5mlwOcEyEIAAAAF4WucHA1hCAAAABcsILiMi3ZlSlJGtqeEATXQAgCAADABVuQnKGScruaN/RXq4gAs8sBzgshCAAAABessivckMQoWSwWk6sBzo/nhXxRTk6OVq9erYyMDNnt9mqP3XLLLQ4pDAAAAM7tRGm5Fu7IkERrbLiWGoegmTNn6sYbb1RBQYGCgoKqJX6LxUIIAgAAcBO/7DyqwpJyNW7gq/aNg80uBzhvNV4O9+ijj+r2229XQUGBcnJydOzYsaqP7Ozs2qgRAAAATmhO0smlcAkshYNrqXEIOnjwoB544AH5+fnVRj0AAABwASVldv287YgkNkiF66lxCBoyZIjWrl1bG7UAAADARazcm6W8E2VqGOCtzrEhZpcD1EiN7wkaPny4/vKXv2jbtm1q3769bDZbtcdHjRrlsOIAAADgnGaf7Ao3OCFSHlaWwsG11DgE3XXXXZKkp59++rTHLBaLysvLL74qAAAAOK1yu6F52ypCEF3h4IpqHIJ+2xIbAAAA7mVtarYyC0oU7GtTj+ZhZpcD1BibpQIAAKBGKrvCDWwXKZsHbyfhei5o1C5evFgjR45Uy5Yt1bJlS40aNUpLlixxdG0AAABwMoZhaO7J+4HoCgdXVeMQ9Nlnn2ngwIHy8/PTAw88oAceeEC+vr664oorNHXq1NqoEQAAAE5i84FcHco9IT8vD13WqqHZ5QAXpMb3BD377LN68cUX9fDDD1cde+CBB/TKK6/omWee0bhx4xxaIAAAAJxHZVe4/m0j5GPzMLka4MLUeCZo7969Gjly5GnHR40apZSUFIcUBQAAAOdjGIbmbE2XJF2ZwFI4uK4ah6CYmBjNnz//tOM///yzYmJiHFIUAAAAnM/OIwVKzSqUl6dV/dtGmF0OcMFqvBzu0Ucf1QMPPKCNGzeqV69ekqRly5bpo48+0uuvv+7wAgEAAOAcZp+cBerbqqECvGv8NhJwGjUevffcc4+ioqL08ssv66uvvpIktWvXTl9++aWuuuoqhxcIAAAA5zCnqitctMmVABfngiL8mDFjNGbMGEfXAgAAACeVmnlcyYfz5Wm1aGA7lsLBtbG7FQAAAM6pcoPUni3C1MDPy+RqgItzXjNBoaGh2rlzpxo2bKiQkBBZLJaznpudne2w4gAAAOAcKltjD6ErHOqB8wpBr776qgIDA6v+//dCEAAAAOqXQzlF2rQ/RxaLNDgh0uxygIt2XiFo/PjxVf9/66231lYtAAAAcEJzTy6F6xIboohAH5OrAS5eje8J8vDwUEZGxmnHs7Ky5OHBrsEAAAD1DV3hUN/UOAQZhnHG48XFxfLy4iY5AACA+iSzoFhrUivu+R7CUjjUE+fdIvs///mPJMlisej9999XQEBA1WPl5eX65Zdf1LZtW8dXCAAAANPM23ZEdkPq0CRYTUL8zC4HcIjzDkGvvvqqpIqZoHfeeafa0jcvLy81a9ZM77zzjuMrBAAAgGnoCof66LxDUEpKiiSpf//+mj59ukJCQmqtKAAAAJgvt6hUy3dnSpKuTCQEof447xBUaeHChbVRBwAAAJzMguQjKrMbah0ZoBbhAef+AsBF1DgESdKBAwc0Y8YMpaWlqaSkpNpjr7zyikMKAwAAgLlmbznZFY6lcKhnahyC5s+fr1GjRql58+ZKTk5WYmKiUlNTZRiGOnXqVBs1AgAAoI4VlpRp8c6jkmiNjfqnxi2yH3/8cT322GPasmWLfHx8NG3aNO3fv1/9+vXTddddVxs1AgAAoI4t2nFUxWV2NQ31U7voQLPLARyqxiFo+/btuuWWWyRJnp6eKioqUkBAgJ5++mm98MILDi8QAAAAda9yg9ShiVGyWCwmVwM4Vo1DkL+/f9V9QNHR0dqzZ0/VY5mZmY6rDAAAAKYoLivXguQMSdIQusKhHqrxPUE9evTQ0qVL1a5dOw0bNkyPPvqotmzZounTp6tHjx61USMAAADq0LLdmSooLlNUkI8uadLA7HIAh6txCHrllVdUUFAgSZo0aZIKCgr05ZdfqlWrVnSGAwAAqAcqu8INSYiU1cpSONQ/NQ5BzZs3r/p/f39/vfPOOw4tCAAAAOYpK7dr3vYjkugKh/qrxvcEAQAAoP5alZKtnMJShfp7qWuzELPLAWrFec0EhYSEnHdXkOzs7IsqCAAAAOap7Ao3OD5Snh78vhz103mFoNdee62WywAAAIDZ7HZDc5NO3g9EVzjUY+cVgjZt2qRnnnlG/v7++uWXX9SrVy95etb4diIAAAA4sQ37jykjv1iB3p7q1SLM7HKAWnNec5xvvPFGVUe4/v37s+QNAACgHqpcCndFuwh5e3qYXA1Qe85rOqdZs2b6z3/+o8GDB8swDK1YsUIhIWe+Ua5v374OLRAAAAC1zzAMzT4Zgq5kKRzqufMKQf/+97/1pz/9Sc8995wsFovGjBlzxvMsFovKy8sdWiAAAABqX9KhPB04ViQfm1X9WkeYXQ5Qq84rBI0ePVqjR49WQUGBgoKCtGPHDkVE8JcDAACgvqhcCnd56wj5erEUDvVbjbobBAQEaOHChYqLi6MxAgAAQD0y52RXuKHtWQqH+q/GSaZfv36y2+3auXOnMjIyZLfbqz3OPUEAAACuZXdGvnZnFMjmYVH/tqz2Qf1X4xC0cuVKjRs3Tvv27ZNhGNUe454gAAAA11O5FK5Py4YK8rGZXA1Q+2q8DfCf/vQndenSRVu3blV2draOHTtW9XExrbOff/55WSwWPfTQQxf8HAAAAKg5usLB3dR4JmjXrl365ptv1LJlS4cVsWbNGr377rvq0KGDw54TAAAA57Y/u1BJh/JktUiD4glBcA81ngnq3r27du/e7bACCgoKdOONN+q99947695DAAAAqB2VS+G6x4Up1N/L5GqAulHjmaD7779fjz76qA4fPqz27dvLZqu+brSmszn33nuvhg8froEDB+qf//zn755bXFys4uLiqs/z8vIkSaWlpSotLa3RdR2t8vpm1wH3wZhDXWPMoS4x3urO7K3pkqTB8eFu/efNmHN9NfneWYzfdjc4B6v19Mkji8UiwzBq3Bjhiy++0LPPPqs1a9bIx8dHl19+uS655BK99tprZzx/4sSJmjRp0mnHp06dKj8/v/O+LgAAAKTcEumpdRW/E5/UqUwNvE0uCLgIhYWFGjdunHJzcxUUFPS759Z4JiglJeWCCzvV/v379eCDD2revHny8fE5r695/PHH9cgjj1R9npeXp5iYGA0ePPicL7S2lZaWat68eRo0aNBps2NAbWDMoa4x5lCXGG91Y8qqNEnJuiQmWOPGdDe7HFMx5lxf5Sqx81HjEBQbG1vTLzmjdevWKSMjQ506dao6Vl5erl9++UX//e9/VVxcLA+P6rsVe3t7y9v79F9R2Gw2pxmszlQL3ANjDnWNMYe6xHirXfOSj0qShrWP5s/5JMac66rJ9+28Q9CMGTPO67xRo0ad13lXXHGFtmzZUu3YbbfdprZt2+pvf/vbaQEIAAAAjnPseIlW7q3Y3uTKhGiTqwHq1nmHoNGjR5/znJrcExQYGKjExMRqx/z9/RUWFnbacQAAADjWvO1HVG43FB8dpKZh3FsN93LeIchut9dmHQAAAKhDc9ggFW6sxvcE1aZFixaZXQIAAEC9l3+iVEt3ZUqShhKC4IZqvFkqAAAAXNuC5AyVlNvVPNxfLSMCzC4HqHOEIAAAADczN6liKdzQxChZLBaTqwHqHiEIAADAjRSVlGvhydbYdIWDuyIEAQAAuJFfdh1VUWm5GjfwVWJjczebB8xyQSEoJydH77//vh5//HFlZ1f0l1+/fr0OHjzo0OIAAADgWKd2hWMpHNxVjbvDbd68WQMHDlRwcLBSU1N11113KTQ0VNOnT1daWpo++eST2qgTAAAAF6mkzK6ftx+RRGtsuLcazwQ98sgjuvXWW7Vr1y75+PhUHR82bJh++eUXhxYHAAAAx1mxN0v5J8oUHuitzk1DzC4HME2NQ9CaNWt09913n3a8cePGOnz4sEOKAgAAgOPN2ZouSRocHymrlaVwcF81DkHe3t7Ky8s77fjOnTsVHh7ukKIAAADgWOV2Qz8lVSyFG5pIVzi4txqHoFGjRunpp59WaWmpJMlisSgtLU1/+9vfdM011zi8QAAAAFy8NanZyjpeomBfm7o3DzW7HMBUNQ5BL7/8sgoKChQREaGioiL169dPLVu2VGBgoJ599tnaqBEAAAAXqbIr3KD4SNk82CUF7q3G3eGCg4M1b948LV26VJs3b1ZBQYE6deqkgQMH1kZ9AAAAuEh2u6G5SSdbYyfQFQ6ocQiq1KdPH/Xp08eRtQAAAKAWbD6Yq/TcE/L38lCfVg3NLgcwXY1D0H/+858zHrdYLPLx8VHLli3Vt29feXh4XHRxAAAAuHizT3aF6982Qj423qMBNQ5Br776qo4eParCwkKFhFT0lz927Jj8/PwUEBCgjIwMNW/eXAsXLlRMTIzDCwYAAMD5MwxDc0/eD0RXOKBCje+K+9e//qWuXbtq165dysrKUlZWlnbu3Knu3bvr9ddfV1pamqKiovTwww/XRr0AAACogeTD+UrNKpS3p1WXt2E7E0C6gJmgJ554QtOmTVOLFi2qjrVs2VIvvfSSrrnmGu3du1cvvvgi7bIBAACcQGVXuL6tw+XvfcG3gwP1So1ngtLT01VWVnba8bKyMh0+XPGXrFGjRsrPz7/46gAAAHBRKkMQXeGAX9U4BPXv31933323NmzYUHVsw4YNuueeezRgwABJ0pYtWxQXF+e4KgEAAFBje48WaMeRfHlaLRrYLtLscgCnUeMQNHnyZIWGhqpz587y9vaWt7e3unTpotDQUE2ePFmSFBAQoJdfftnhxQIAAOD8zU06Iknq2SJMwX42k6sBnEeNF4ZGRUVp3rx5Sk5O1s6dOyVJbdq0UZs2barO6d+/v+MqBAAAwAWZc7I19pWJLIUDTnXBd8e1bdtWbdu2dWQtAAAAcJCDOUXadCBXFos0OJ4QBJzqgkLQgQMHNGPGDKWlpamkpKTaY6+88opDCgMAAMCFq9wbqGtsqMIDvU2uBnAuNQ5B8+fP16hRo9S8eXMlJycrMTFRqampMgxDnTp1qo0aAQAAUENzkk52hWMpHHCaGjdGePzxx/XYY49py5Yt8vHx0bRp07R//37169dP1113XW3UCAAAgBo4ml+sNanZkqQhhCDgNDUOQdu3b9ctt9wiSfL09FRRUZECAgL09NNP64UXXnB4gQAAAKiZeduOyDCkjk2C1biBr9nlAE6nxiHI39+/6j6g6Oho7dmzp+qxzMxMx1UGAACACzL7ZFc4ZoGAM6vxPUE9evTQ0qVL1a5dOw0bNkyPPvqotmzZounTp6tHjx61USMAAADOU25hqVbsyZIkXZlACALOpMYh6JVXXlFBQYEkadKkSSooKNCXX36pVq1a0RkOAADAZD9vP6Iyu6E2kYFqHh5gdjmAU6pRCCovL9eBAwfUoUMHSRVL4955551aKQwAAAA1R1c44NxqdE+Qh4eHBg8erGPHjtVWPQAAALhAx4vL9MvOo5IIQcDvqXFjhMTERO3du7c2agEAAMBFWLTjqIrL7IoN81PbqECzywGcVo1D0D//+U899thjmjVrltLT05WXl1ftAwAAAOaYuemQpIpZIIvFYnI1gPOqcWOEYcOGSZJGjRpV7S+XYRiyWCwqLy93XHUAAAA4L/uzC/XTtor7ga6+tInJ1QDOrcYhaOHChbVRBwAAAC7CR8tTZTeky1o1VBuWwgG/q8YhqF+/frVRBwAAAC5Q/olSfblmvyTp9j5xJlcDOL8a3xMkSUuWLNFNN92kXr166eDBg5KkTz/9VEuXLnVocQAAADi3r9YeUEFxmVpGBKhfq3CzywGcXo1D0LRp0zRkyBD5+vpq/fr1Ki4uliTl5ubqX//6l8MLBAAAwNmV2w19uCxFknR77zhZrTREAM7lgrrDvfPOO3rvvfdks9mqjvfu3Vvr1693aHEAAAD4fT8lHdaBY0UK8bPp6k6NzS4HcAk1DkE7duxQ3759TzseHBysnJwcR9QEAACA8zR5acUs0I3dY+Vj8zC5GsA11DgERUVFaffu3acdX7p0qZo3b+6QogAAAHBum/bnaO2+Y7J5WHRLz1izywFcRo1D0F133aUHH3xQq1atksVi0aFDhzRlyhQ99thjuueee2qjRgAAAJxB5SzQyI6NFBHkY3I1gOuocYvs//u//5PdbtcVV1yhwsJC9e3bV97e3nrsscd0//3310aNAAAA+I1DOUX6YUu6JOkO2mIDNVLjEGSxWPSPf/xDf/nLX7R7924VFBQoPj5eAQEBtVEfAAAAzuDjFakqtxvq0TxUCY2CzS4HcCk1Xg732WefqbCwUF5eXoqPj1e3bt0IQAAAAHXoeHGZPl+VJkm6ow/3ZAM1VeMQ9PDDDysiIkLjxo3Tjz/+qPLy8tqoCwAAAGcxbf0B5Z0oU7MwP13RNsLscgCXU+MQlJ6eri+++EIWi0Vjx45VdHS07r33Xi1fvrw26gMAAMAp7HZDH5xsiHB7HzZHBS5EjUOQp6enRowYoSlTpigjI0OvvvqqUlNT1b9/f7Vo0aI2agQAAMBJ85MzlJpVqCAfT13TqYnZ5QAuqcaNEU7l5+enIUOG6NixY9q3b5+2b9/uqLoAAABwBpOX7pUk3dC9qfy9L+qtHOC2ajwTJEmFhYWaMmWKhg0bpsaNG+u1117TmDFjlJSU5Oj6AAAAcNLWg7lauTdbnlaLbu3VzOxyAJdV418f/OEPf9CsWbPk5+ensWPH6sknn1TPnj1rozYAAACcovJeoGHtoxUd7GtyNYDrqnEI8vDw0FdffaUhQ4bIw8Oj2mNbt25VYmKiw4oDAABAhYy8E5q5+ZAkNkcFLlaNQ9CUKVOqfZ6fn6/PP/9c77//vtatW0fLbAAAgFrwyYp9Ki031CU2RB1jGphdDuDSLuieIEn65ZdfNH78eEVHR+ull17SgAEDtHLlSkfWBgAAAElFJeWasmqfJOnOy5gFAi5WjWaCDh8+rI8++kiTJ09WXl6exo4dq+LiYn333XeKj4+vrRoBAADc2vQNB3SssFQxob4aFB9ldjmAyzvvmaCRI0eqTZs22rx5s1577TUdOnRIb7zxRm3WBgAA4PZO3Rz11l5x8mBzVOCinfdM0OzZs/XAAw/onnvuUatWrWqzJgAAAJy0eNdR7Tl6XAHenhrbhc1RAUc475mgpUuXKj8/X507d1b37t313//+V5mZmbVZGwAAgNurnAX6Q9cYBfrYTK4GqB/OOwT16NFD7733ntLT03X33Xfriy++UKNGjWS32zVv3jzl5+fXZp0AAABuJ/lwnpbsypTVIo1nc1TAYWrcHc7f31+33367li5dqi1btujRRx/V888/r4iICI0aNao2agQAAHBLlbNAVyZGKSbUz+RqgPrjgltkS1KbNm304osv6sCBA/r8888dVRMAAIDbyywo1ncb2RwVqA0XFYIqeXh4aPTo0ZoxY4Yjng4AAMDtfbZyn0rK7LokpoE6NQ0xuxygXnFICAIAAIDjnCgt16crKjZHvaNPnCwW2mIDjkQIAgAAcDIzNh5S1vESNQr20dBENkcFHI0QBAAA4EQMw9AHyyoaIozv1UyeHrxdAxyNv1UAAABOZNnuLCUfzpefl4f+0K2p2eUA9RIhCAAAwIm8v3SvJGlslxgF+7I5KlAbCEEAAABOYndGvhbtOCqLRbqtdzOzywHqLUIQAACAk/hgWaokaWC7SMWG+ZtbDFCPEYIAAACcQPbxEk1ff0ASm6MCtY0QBAAA4ASmrtqnE6V2JTYOUve4ULPLAeo1QhAAAIDJSsrs+oTNUYE6QwgCAAAw2azNh5SRX6yIQG8Nb9/I7HKAeo8QBAAAYCLDMDR56a+bo3p58vYMqG38LQMAADDRyr3ZSjqUJx+bVePYHBWoE4QgAAAAE1XOAl3TqYlC/L1MrgZwD4QgAAAAk6RmHtf85COSpNtpiw3UGUIQAACAST5cliLDkPq3CVeL8ACzywHcBiEIAADABLmFpfpqbcXmqHde1tzkagD3QggCAAAwwedr0lRUWq62UYHq1SLM7HIAt0IIAgAAqGOl5XZ9vDxVUsW9QGyOCtQtQhAAAEAdm731sNJzT6hhgJdGdWRzVKCuEYIAAADqkGEYmrxkryTp5h7N5GPzMLkiwP2YGoLefvttdejQQUFBQQoKClLPnj01e/ZsM0sCAACoVev2HdOmA7ny8rTqxh5sjgqYwdQQ1KRJEz3//PNat26d1q5dqwEDBuiqq65SUlKSmWUBAADUmsrNUcdc0lgNA7xNrgZwT55mXnzkyJHVPn/22Wf19ttva+XKlUpISDCpKgAAgNqxP7tQc5MOS2JzVMBMpoagU5WXl+vrr7/W8ePH1bNnzzOeU1xcrOLi4qrP8/LyJEmlpaUqLS2tkzrPpvL6ZtcB98GYQ11jzKEu1dfxNnnJHtkNqU/LMDUP86l3r8+V1dcx505q8r2zGIZh1GIt57Rlyxb17NlTJ06cUEBAgKZOnaphw4ad8dyJEydq0qRJpx2fOnWq/Pz8artUAACAC3aiTHpqvYeKyy36U9tytQsx9S0YUO8UFhZq3Lhxys3NVVBQ0O+ea3oIKikpUVpamnJzc/XNN9/o/fff1+LFixUfH3/auWeaCYqJiVFmZuY5X2htKy0t1bx58zRo0CDZbDZTa4F7YMyhrjHmUJfq43j7cPk+/Wv2DrUI99fs+3uxN5CTqY9jzt3k5eWpYcOG5xWCTF8O5+XlpZYtW0qSOnfurDVr1uj111/Xu+++e9q53t7e8vY+/QZCm83mNIPVmWqBe2DMoa4x5lCX6st4Kyu365OVaZKkO/o0l5eXl8kV4Wzqy5hzRzX5vjndPkF2u73abA8AAICr+2nbER04VqQQP5uu7tTY7HIAt2fqTNDjjz+uoUOHqmnTpsrPz9fUqVO1aNEizZ0718yyAAAAHKqyLfZNPWLZHBVwAqaGoIyMDN1yyy1KT09XcHCwOnTooLlz52rQoEFmlgUAAOAwG/fnaN2+Y7J5WHRzj1izywEgk0PQ5MmTzbw8AABAraucBRrZsZEignxMrgaA5IT3BAEAANQXh3KK9OOWdEnSHWyOCjgNQhAAAEAt+Xh5qsrthno2D1NCo2CzywFwEiEIAACgFhwvLtPU1ZVtsZkFApwJIQgAAKAWfLPugPJPlCmuob8GtI0wuxwApyAEAQAAOFi53dCHyyoaItzWu5msVovJFQE4FSEIAADAweZvP6LUrEIF+9p0becmZpcD4DcIQQAAAA5W2Rb7hm5N5edl6o4kAM6AEAQAAOBAWw/malVKtjytFo3vxeaogDMiBAEAADjQBydngYa1j1Z0sK/J1QA4E0IQAACAgxzJO6EZmw5Jku68jLbYgLMiBAEAADjIJytSVWY31LVZiDo0aWB2OQDOghAEAADgAEUl5Zqyis1RAVdACAIAAHCA6RsOKKewVDGhvhoUH2V2OQB+ByEIAADgItntRlVb7Nt6xcmDzVEBp0YIAgAAuEiLdx7V3qPHFejtqbFdY8wuB8A5EIIAAAAuUuUs0PVdYxTgzeaogLMjBAEAAFyE5MN5Wro7U1aLNL5XM7PLAXAeCEEAAAAXYfKSilmgoYnRign1M7kaAOeDEAQAAHCBjuYX6/uNFZuj3k5bbMBlEIIAAAAu0Gcr96mk3K5LYhqoc2yI2eUAOE+EIAAAgAtworRcn63cJ4nNUQFXQwgCAAC4AN9vPKis4yVq3MBXQxPZHBVwJYQgAACAGjKMXzdHHd8rVp4evKUCXAl/YwEAAGpo6e5M7TxSID8vD13ftanZ5QCoIUIQAABADVXOAo3tEqNgX5vJ1QCoKUIQAABADezOyNeiHUdlsUi39W5mdjkALgAhCAAAoAYmL02VJA1qF6nYMH9ziwFwQQhBAAAA5yn7eImmrz8gibbYgCsjBAEAAJynqav2qbjMrsTGQeoWF2p2OQAuECEIAADgPBSXlevjFb9ujmqxWEyuCMCFIgQBAACch1mb0nU0v1iRQd4a3r6R2eUAuAiEIAAAgHM4dXPUW3o2k5cnb6EAV8bfYAAAgHNYuTdb29Lz5GOz6sbubI4KuDpCEAAAwDlMXrpXknRNpyZq4OdlcjUALhYhCAAA4HekZB7X/OQMSdLttMUG6gVCEAAAwO/4cFmKDEMa0DZCLcIDzC4HgAMQggAAAM4it7BUX69lc1SgviEEAQAAnMXU1WkqKi1X26hA9WoRZnY5AByEEAQAAHAGpeV2fbw8VRKbowL1DSEIAADgDH7ckq7DeSfUMMBboy5hc1SgPiEEAQAA/Mapm6Pe3CNW3p4eJlcEwJEIQQAAAL+xdt8xbT6QKy9Pq27sweaoQH1DCAIAAPiNyUsqZoGuvrSxGgZ4m1wNAEcjBAEAAJxif3ahftp2WBKbowL1FSEIAADgFB8uS5XdkC5r1VCtIwPNLgdALSAEAQAAnJR3olRfrkmTxOaoQH1GCAIAADjpqzX7dbykXK0iAtSvdbjZ5QCoJYQgAAAASWXldn24LFVSxb1AbI4K1F+EIAAAAEk/bTuigzlFCvX30phLG5tdDoBaRAgCAACQ9P6SvZKkG7s3lY+NzVGB+owQBAAA3N6GtGNan5YjLw+rbu4Za3Y5AGoZIQgAALi9yUsrNkcd2bGRIgJ9TK4GQG0jBAEAALd2MKdIs7dWbI5KW2zAPRCCAACAW/t4earK7YZ6Ng9TfKMgs8sBUAcIQQAAwG0dLy7T56vZHBVwN4QgAADgtr5eu1/5J8oU19BfA9pGmF0OgDpCCAIAAG6p3G7ow+WpkqTbezeT1crmqIC7IAQBAAC39PP2I9qXVahgX5uu6dzE7HIA1CFCEAAAcEuVbbFv6NZUfl6eJlcDoC4RggAAgNvZejBXq1Oy5Wm1aHwvNkcF3A0hCAAAuJ3KWaDhHaIVHexrcjUA6hohCAAAuJXDuSc0c9MhSbTFBtwVIQgAALiVT1akqsxuqGuzEHVo0sDscgCYgBAEAADcRlFJuaZWbY7a3ORqAJiFEAQAANzGtPUHlFNYqqahfhoUH2l2OQBMQggCAABuwW439MHJhgi39momDzZHBdwWIQgAALiFRTsztDfzuAK9PTW2a4zZ5QAwETuDAQDgAGXldmUXlujY8VJlHS/WseOlyj5erNyiUnVtFqruzcPMLtHtVbbF/kO3GAV48xYIcGf8BABcUNKhXE1duU8H9lvV8ki+EpqEml0SUK8YhqHCknJlHy857SPreImOVf638NfjuUWlv/ucIzpE64nh8YoK9qmjV4FTbU/P07LdWbJapPG9mpldDgCTEYIAF2G3G5qfnKHJS/dq5d7sk0etWvzfFerWLFQ39miqoYnR8vJklSvwW+V2QzmFvwk0hSXKLjg9zFR+FJfZa3wdi0Vq4GtTqL9X1YfVYtHcpMOatTldC5Mz9NDA1rq1dzPZPPi7WpcqZ4GGJkarSYifydUAMBshCHByx4vLNG39AX2wNEWpWYWSJA+rRVcmROrAwUPamuOh1anZWp2arWcCtmlslxiN696Uf+RRrxWVlFeFmOzCEmUfL1b2yeVnZ5q9ySkqlWHU/DpenlaFnRJoQv29FOLnVXEswEuhftUfa+Dndcab7bcezNVT32/V+rQcPfvjdn21dr+evipRPVuwRK4uZOSf0IyNFZuj3s7mqABECAKc1qGcIn28IlWfr0pT3okySVKgj6fGdW+q8T2bKdzfUz/+eECd+lyuaRvS9fnqNB3JK9Zbi/bo7cV7NKBNhG7qGat+rcJlpQMSnJjdbii3qPRkmDm/j6LS8gu6VvApszS/F2YqP/y8PGSxXPzfn8TGwfrmT730zfoDen52snZlFOiG91Zq9CWN9Pdh7RQRxBK52vTZyjSVlNt1adMG6hwbYnY5AJwAIQhwMhv352jy0hT9uCVd5faKX103C/PTbb3jdG3nJvI/eTNvaWnF/QdRQT56aGBr3du/peZvP6LPVqZp6e5MzU/O0PzkDMWE+mpct1iN7dJEYQHepr0uuI/isjPfS3Omj2OFJTpWWFo11mvC5mH5NcwEeCnU31uhfraK//pX/DfE36Ywf++TszQ2U5egWa0Wje0So8HxkXrppx2asipN3208pJ+3Z+jhQa01vmesPFki53AnSss1ZeU+SdIdzAIBOIkQBDiBcruhn5IOa/LSFK3dd6zqeI/mobqjT3MNaBtxzv0sbB5WXZkYrSsTo7X3aIGmrErT12v3a392kV6Yk6xX5+3UsPZRurlnrDo1DXHIb7fhPkrL7dp0IFdbsi06vu6gck+UV1+CVljx32PHS1VQXHZB1wj09qyYlfE/fWYmxN/rtGVpAd6eLjmOG/h56Z+j22tslxg9+X2SNu3P0TOztunrtfv1zOhEdW1GoxNH+m7DQWUdL1HjBr66MiHK7HIAOAlCEGCi/BOl+nLNfn20PFUHjhVJqvjt9siOjXR77zglNg6+oOdtHh6gJ0fE67HBbTRz8yFNWblPmw7k6ruNh/TdxkNqGxWom3vGavQljatmloDfKrcbWpWSpVmb0zV7S7qOFZZK8pB2JJ3zaz2sll+Xm50jzFTO5rhbU48OTRro23t66cu1+/XCnGQlH87Xde+s0NWdGuvxoe0UHsjM7cUyDEMfLKtoiDC+FzNtAH7Fux/ABPuzC/XhslR9tXZ/1W/NQ/xsurF7rG7pGeuw+wN8vTw0tkuMxnaJ0eYDOfps5T59v/GQkg/n6x/fbtVzPybr6k6NdVOPWLWODHTINeHa7HZD69OOadbmdP2wJV1H84urHmvga1OQtURxjcMVFuCtsGqh5tclaKF+Xgrydc1ZmrpmtVp0Q7emujIhSi/O3aEv1qRp+vqDmrftiB4b3EY3dm/KG/eLsGRXpnYeKZC/l4eu79rU7HIAOBFCEFBHDMPQun3HNHlpiuYmHVblLRAtIwJ0e+84jbm0sXy9PGrt+h2aNNCL1zbQP4bF65v1BzRl5T7tzTyuT1bs0ycr9qlbXKhu6hGrKxOi3O438u7OMAxtOZirmZsO6YfN6TqUe6LqsSAfTw1NjNaIjtHqEhOkn+bO0bBhnWSz2UysuP4J8ffSc1e31/VdY/Tkd1u15WCuJsxI0pdrKpbIcTP/halsi31dlxgF+zJmAfyKEATUstJyu37ckq4PlqZo04HcquOXtWqoO/rEqW8dd28L9rPpjj5xur13My3fk6VPV+zTvO1HtDolW6tTstUwwEvXd43RDd1os12fGYah5MP5mrX5kGZuSldadmHVYwHenhoUH6mRHaPVp2V4VSiubMaB2nNJTAN9d29vfb46Tf+eu0Pb0vN0zdvLNbZLE/3tyrY0N6mBXUfytXjnUVks0m29m5ldDgAnQwgCakluYammrk7TJytSlX7yN+tenlaNuaSxbu8TpzZR5i4/s1gs6t2yoXq3bKjDuSf0+eo0fbGmos32mwv36O1FezSgbYRu7EGb7fpkd0aBZm0+pFmb07U7o6DquI/NqivaRWpkh0a6vE24fGy1NyuJ3+dhteimHrEamhilF+Yk66u1B/TV2gOas/Ww/nJlW43r1vScjVKgqnuBBrWLVGyYv8nVAHA2hCDAwVIyj+vDZSn6eu2Bqr1MGgZ46eYezXRjj6Zq6IS/yY0K9tHDg1rrvgEt9fO2I/ps1T4t252ln7dn6OftGWoa6qdx3ZtqbJcYhfp7mV0uaigtq1AzTwaf7el5Vce9PKy6vE24RnRspCvaRtAkw8mEBXjrxWs76vquTfXkd1u1LT1PT363VV+dXCJ3SUwDs0t0WtnHSzR9/UFJtMUGcGb8iwc4gGEYWrE3Sx8sTdH85IyqnenbRgXq9j5xGtWxkUv8Zt3mYdXQ9tEa2j5ae44WaMrKNH2zbr/Ssgv1/OxkvTJvp4a3j9ZNPWLVqWkDbnx3Yum5Rfphc7pmbjpUbRmmp9WiPq0aamSHRhqUEKkgH+6TcHadY0M0477emrIqTS/9tENbDuZqzFvL9IeuMfrrkLYK4RcTp5mycp+Ky+xq3zhY3eJoOQ7gdIQg4CKUlNk1c9MhTV6aom2n/IZ9QNsI3dEnTr1ahLlsUGgRHqCnRsbrL0PaaOamQ/ps1T5tPpCrbzcc1LcbDqpddJBu7hGrqy5pxAyCk8jIP6HZWw5r1uZDWpP6635TVovUs0WYRnRopCsTonjT7II8Pawa36uZhrWP1vOzkzVt/QF9vnq/Zm89rL9d2VbXd4lhyepJxWXl+njFr5ujuurPYAC1i3cuwAXIPl6iKSv36ZOV+6paCPvYrLqmUxPd1jtOLSMCTK7QcXy9PDS2a4zGdo3Rpv0VbbZnbDqk7el5+vu3W/SvH7frmpNttlvRZrvOHTteotlbK4LPyr1ZVV0HJalbs1CN6BitoYnR7DlTT4QHeuvlsR11fdcYPfX9ViUfztfj07foizX79c+rEtW+yYXtLVafzNyUrsyCYkUGeWtY+2izywHgpAhBQA3szsjX5KWpmr7+gIrL7JKkyCBv3dKzmcZ1a1rvf8PeMaaBOsY00D+Gt9M36w5oyqo0pWQe18cr9unjk222b+4RqyG02a5VeSdK9VPSEc3cdEjLdmeq7JTk0zGmgUZ2iNbwDtGKDvY1sUrUpm5xoZp1fx99vGKfXp23U5v252jUm0t1Y/ememxwGzXwq98/i87GMIyqtti39GzGzyEAZ2VqCHruuec0ffp0JScny9fXV7169dILL7ygNm3amFkWUI1hGFqyK1OTl6Zo8c6jVccTGwfpzj7NNax9tNv9Q9vAz0t3XtZct/eO0/I9Wfps5W/bbHvrD11jdEP3pmrcgDfijnC8uEw/bz+iWZvTtXjHUZWU26sei48O0oiO0RrRvpGahtHW3F14elh1R584jewQrX/9uF3fbTykz1am6ccth/V/V7bVtZ2buN0SuRV7s7Q9PU++Ng/d2J3NUQGcnakhaPHixbr33nvVtWtXlZWV6e9//7sGDx6sbdu2yd+fdpYw14nScn234aA+WJainUcqWglbLBXtVu/oE6ducaFuv9bcevIm+z6tfm2z/fnqNGXkF+u/C3frrUW7NaBtpG7q0bTO90OqD06UlmvRjgzN3JSu+clHdKL01+DTMiJAIzs00oiO0WoRXn+WX6LmIoJ89NofLtX1XZvqqe+3aldGgf46bbO+WJOmZ0YnKqGR+yyRm7ykYhboms6N3XY2DMD5MTUEzZkzp9rnH330kSIiIrRu3Tr17dv3tPOLi4tVXFxc9XleXsWN6KWlpaZv4ld5fbPrwMXLLCjWlFX7NXXNfmUfr/h++nl56NpOjXVLz6aKDa34TXtZWZmZZTrdmAvz89B9l8fp7stiNT/5qKau3q8Ve7P18/Yj+nn7EcWE+OqGbk10zaWNabP9O0rK7Fq6J0s/bjmsn7dn6HhJedVjTUN9Nbx9lIYnRql1ZEBVCK+rMeBsYw7VdWkapO//3EOfrEzTGwv2aH1ajka+UbFE7qEBLRTk61qdAGs63lIyj2t+coYk6eZuMYxT1Bg/41xfTb53FsMwjHOfVjd2796tVq1aacuWLUpMTDzt8YkTJ2rSpEmnHZ86dar8/FgCgotz8Li0KN2qdZkWlRsVby5DvAz1jbarR4QhP+6gq7EjRdKyw1atPmpRUXnFn6mnxdClYYZ6R9nVLKBids3dlRvSrlyL1mdatDn71z8rqWIMXhpmqFNDu5r48+eF85NTLH23z6oNWRVLdQNshq6KtatrQ6PejqGv91q19IhV8Q3surud/dxfAKDeKSws1Lhx45Sbm6ugoKDfPddpQpDdbteoUaOUk5OjpUuXnvGcM80ExcTEKDMz85wvtLaVlpZq3rx5GjRokGw21/ptmzuz2w0t3pWpj5bv0/K92VXHL4kJ1m09YzU4PkKeHs55v48rjbnCkjL9sOWwpq4+oK2Hfm0l3i4qUOO6xWhkhyi3a7Ndbje0dt8x/bDlsOZuO1I16yhJ4QFeGpoYpeHto3RJk2CnWUboSmMOFZbvydKkWcnam3lcktQltoEmjminNlHO38mxJuMtp7BUfV9arKJSuz65rbN6Ng+roypRn/AzzvXl5eWpYcOG5xWCnOZdx7333qutW7eeNQBJkre3t7y9T2/zarPZnGawOlMtOLvCkjJNW39QHy5L0d6jFW8OrBZpaGK0bu8Tp86xISZXeP5cYcwF22wa1yNO43rEadP+HH26cp9mbjqk7Yfz9eSMbXpx7k5d7QZttg3D0Pq0HM3afEg/bE5XRv6vv9QJ9a8IPiM6NFK3uFB5OEnwORNXGHOo0K9tlOa0jNDkpSn6z/xdWrsvR1e9vVLjezbTw4NaKdAFNss9n/H29YZ9Kiq1q21UoC5rHen292vi4vAzznXV5PvmFCHovvvu06xZs/TLL7+oSZMmZpeDeuxw7gl9siJVU1alKbeo4jfvgd6e+kO3GI3v1UxNQlhWWdsq22w/cZY2293jQnVzz1gNjq8fbbYNw9DWg3matfmQZm1O18GcoqrHgnw8NSQhSiM7NlKvFmFOO+sI1+bladU9l7fQVZc00j9/2KYftxzWB8tSNHPzIT0xvJ1GdWzk0qGhtNyuT5azOSqAmjE1BBmGofvvv1/ffvutFi1apLi4ODPLQT225UCuJi/dq1mb06v2VIkJ9dXtveN0XZcYBbjZUixncGqb7WV7MivabG87olUp2Vp1ss32Dd1idEO3pmrkgm22dxzO18xNhzRr8yGlZhVWHff38tCg+EiN6NBIl7VuKG9PDxOrhDtp1MBXb93YWb/sPKoJM5KUknlcD36xUVNXVXSRa+2is7A/bknX4bwTahjgrVGXNDK7HAAuwtR3fvfee6+mTp2q77//XoGBgTp8+LAkKTg4WL6+rvemB86l3G5o3rYj+mBpilan/nq/T7dmobq9T5wGxUc69ZIjd2G1WnRZq3Bd1ipc6blF+nz1fn1xss32Gwt2682FFW22b+4Zq8taNnSa+2POZO/RAs3anK6Zmw5pV0ZB1XEfm1VXtI3UiA7R6t82Qj42gg/M07d1uOY8dJneX5KiNxbs0qqUbA17fYlu691MDw5s7VK/FKq+OWosv1QAcN5M/Un39ttvS5Iuv/zyasc//PBD3XrrrXVfEOqFguIyfbVmvz5anqq07IrfwHtaLRrRIVp39Gmu9k3cZ88MVxMd7KtHBrXW/QNaat62I/ps5T4t35NV1WY7NsxPN3Zvqus6xyjESdps788u1KzN6Zq1+ZCSTmn64OVhVd/W4RrZMVoD20W6XeMHODdvTw/d27+lRnVspGdmbdNP247ovSUpmrHpkJ4YHq8RHaJdYlnZmtRj2nwgV16eVjZHBVAjpi+HAxzlwLFCfbw8VV+s3q/84oo9fIJ9bRrXvanG92ymqGAfkyvE+bJ5WDWsfbSGtY/W7owCTVm1T9+sO6B9WYX614/JeumnnRrRIVo39YjVpTEN6vzN2uHcE1X3+Gzcn1N13MNqUZ+WDTWiQ7QGJ0Qp2MX2ZYH7iQn10/9u6aKFyRmaODNJ+7IKdf/nG/TFmjRNGpWolhHOvRHv5KV7JUlXX9pYYQGnN04CgLPhV5Nweev2HdMHS1M0J+mwyk/e79O8ob9u6xOnazo1lp8Xw9yVtYwI0ISRCfrLkDaauemQPl25T1sP5mn6+oOavv6gEhoF6aYesbrqkka1+r3OLCjW7C3pmrkpXWv2ZavydzgWi9SzeZhGdGikKxOj2AgWLql/2wj1bBGmdxfv1VuLdmvZ7iwNff0X3dGnuR64oqVT/hxNyyrUT9uOSJJu78M9xQBqxvl+qgHnoazcrjlJhzV5aYo2pOVUHe/VIkx39IlT/zYRTn3vCGrOz8tT13dtqrFdYrTpQK4+XbGvagna49O36F8/bNc1nZvoph5N1TLCMTd45xSWaM7Ww5q1OV3L92TKfsrkdZfYEI3s2EhD20cpIpBZRrg+H5uHHhzYSmMubaxJM5M0PzlD7yzeoxkbD+rJEfG6MjHKqZbIfbg8RYZRcY+TqzZ1AGAeQhBcSm5Rqb5ck6aPl++rajXs5WHVqEsa6fbecYpvZO6muah9FotFl8Q00CUxDfTkiIo225+t3KfUrEJ9tDxVHy1PVY/mobqpx4W12c4/Uap5245o5qZDWrIrs6qboCR1bBKsER0aaXiHaJfsWAecj6Zhfpp8a1f9vO2IJs5M0oFjRbpnynpd1qqhJo1KUPNw85fI5Z0o1Vdr9kuqaIsNADVFCIJL2Jd1XB8uS9XXa/freEm5pIrNJW/qEaubejTlN/Fu6rdttj9dsU8/bz+ilXuztXJvtsIDvfWHrudus11YUqb52zM0c9MhLdp5VCVl9qrH2kYFamTHRhrRIVqxYf518bIApzAwPlJ9WjXUWwt3653Fe7VkV6aufG2J/ti3ue7t31K+XuZ1YvtydcW/Ba0iAtS3VUPT6gDgughBcFqGYWh1SrYmL03RvO1Hqu7BaBURoDv6xGn0pY1pNQxJ1dtsH8op0her0/T5mv06ekqb7SvaRermHrHqc7LN9onSci3acVSzNh/S/O0ZKiotr3q+FuH+J4NPI6e/MRyoTT42Dz0yuI2u7tREE2YkafHOo/rvwt36dsNBPTUyXoPjI+t8iVxZuV0fLU+VVHEvkDMt0QPgOghBcDolZXb9sOWQJi9N0daDv7Yc7tc6XHf0idNlrRryjx7OqlEDXz0yuI3uv6KVfkqqaLO9Ym+W5m07onnbKtpst28crEU7jqrgZBdBSWoa6qcRHaI1smMjtY0KZIwBp2jW0F8f3dZVP207oqdnbtPBnCLd/ek69W8TromjEup0lnRu0hEdzClSqL+XxlzauM6uC6B+IQTBaeQUlmjKqjR9siJVR/KKJUnenlZd3amxbu8dp1bc+IoasHlYNbxDtIZ3iNbujHx9tjJN09ZXtNnel1Wxf1SjYB8N7xCtER0aqUOTYIIP8DssFouGJETpslYN9ebC3frfL3u1cMdRLXv1F/2pXwv9+fIWdTI7//7Jttg3dW/KagAAF4wQBFOVlNmVknlcn6xI1bT1B3SitOJejPBAb93SI1Y39oil5TAuWsuIQE0claC/XlnRZnt/dpEubxOuTk1D6CII1JCfl6f+MqStru7URBNnJGnJrkz9Z/4ufbvhgCaOTNAV7SJr7drr045pQ1qOvDysuqlnbK1dB0D9RwiCwxWXlSuzoESZ+cXKLKj8KNHR/GIdLSg+5XiJcotKq31tfHSQ7ugTpxEdo+XtyW/44FiVbbYBXLwW4QH65PZumr31sJ6ZtU37s4t0x8drNbBdhCaMTFBMqJ/Drzl5aYokaWTHRjTEAXBRCEE4LydKy6uCS+YZwszRyrCTX6y8E2XnfsJT2DwsJ+/3aa4ezUNZkgQALsJisWhY+2j1ax2u/yzYpclLUvTz9gwt2ZWpe/u31B/7NnfYkrWDOUWas/WwJNpiA7h4hCA3dqK0/DezMyWnzNwU62j+r6Env7jmwaZhgPfJD6+K/wZWfB4eWHEs/OTjwb42liQBgAvz9/bU40Pb6brOTfTkd0lasTdLr8zbqenrD2jiqARd3ibioq/x8fJUldsN9WoRxp5wAC4aIaieKSwpU2b+KTMzBcUnPz+hzPySasvTCmoYbLw8rBWBpjLMBHirYaDXKWHHW+EnPw/2tTGjAwBupmVEoKbe1V0zN6frn7O2KTWrULd+uEZDEiL15Ih4NQm5sCVyBcVl+nxVmiRmgQA4BiHIBRwvLqs2O3P0DPfbVD5WWFJ+7ic8hZen9WSY8VZ4gFf12ZtqMzfeCvLxJNgAAH6XxWLRqI6NNKBthF7/eac+WJaquUlHtHjnUd0/oJXuvCyuxvd8fr12v/KLy9S8ob/6O2BWCQAIQSYwDEPHS8pPLjf79d6ao6eEmVNncU7dxPF8+NisZ5ydqQwzp4acQG+CDQDA8QK8PfWP4fG6tnOMnvx+q1anZOvfc3do2roDmnRVgi5rFX5ez1NuN/ThslRJ0m29m7F8GoBDEIIcxDAMFZVJKZnHlXPCflqYOZpf/X6bylbQ58vX5lG19Cz81PtrznC/jb+XB8EGAOAU2kQF6ss/9tD3Gw/pnz9s197M47p58moNbx+tJ0a0U3Sw7+9+/YLko0rLLlSwr03XdG5SR1UDqO8IQQ7ypykbtWCHp7Rm2Xl/jZ+XxymzM6csRQusCDrhp9xv4+/NtwoA4JosFotGX9pYA9pF6NV5O/Xx8lT9sCVdC3dk6IErWun23nHy8rSe8Ws/WJ4qSRrXvan8vPi3EIBj8NPEQYL9bJIkf2+Pqq5nDU82DggP8KnWQKCyoQA/zAEA7iTIx6YJIxN0XecYPfX9Vq3dd0zPz07WN+sO6OlRCerVsmG18/cXSGv35cjTatH4ns3MKRpAvcS7cAd5Ymgb9bKlafTIwbLZbGaXAwCA04pvFKSv7u6p6RsO6rkft2t3RoHGvb9KIzs20j+GtVNUcMVGqAvTK2aHhneIrjoGAI5w5rln1FiQr01ejtkPDgCAes9qtejazk204LHLNb5nrKwWaeamQ7ri5UV6f8leHThWpA1ZFfe30hYbgKMRggAAgGmCfW2adFWiZtzXR5c2baDjJeX65w/bNfy/y2U3LOoS20AdmjQwu0wA9QwhCAAAmC6xcbCm/amXXrymg0L9var2vbutV6zJlQGoj7gnCAAAOAWr1aKxXWM0OCFS/12wS3v37NUVbdkcFYDjMRMEAACcSgM/L/1tSGtd1cwuDzZHBVALCEEAAAAA3AohCAAAAIBbIQQBAAAAcCuEIAAAAABuhRAEAAAAwK0QggAAAAC4FUIQAAAAALdCCAIAAADgVghBAAAAANwKIQgAAACAWyEEAQAAAHArhCAAAAAAboUQBAAAAMCtEIIAAAAAuBVCEAAAAAC3QggCAAAA4FYIQQAAAADcCiEIAAAAgFvxNLuAi2EYhiQpLy/P5Eqk0tJSFRYWKi8vTzabzexy4AYYc6hrjDnUJcYb6hpjzvVVZoLKjPB7XDoE5efnS5JiYmJMrgQAAACAM8jPz1dwcPDvnmMxzicqOSm73a5Dhw4pMDBQFovF1Fry8vIUExOj/fv3KygoyNRa4B4Yc6hrjDnUJcYb6hpjzvUZhqH8/Hw1atRIVuvv3/Xj0jNBVqtVTZo0MbuMaoKCgviLgzrFmENdY8yhLjHeUNcYc67tXDNAlWiMAAAAAMCtEIIAAAAAuBVCkIN4e3trwoQJ8vb2NrsUuAnGHOoaYw51ifGGusaYcy8u3RgBAAAAAGqKmSAAAAAAboUQBAAAAMCtEIIAAAAAuBVCEAAAAAC3Qgg6xXPPPaeuXbsqMDBQERERGj16tHbs2FHtnBMnTujee+9VWFiYAgICdM011+jIkSPVznnggQfUuXNneXt765JLLvnda+7evVuBgYFq0KCBg18NnF1djjfDMPTSSy+pdevW8vb2VuPGjfXss8/W1kuDk6rLMTd37lz16NFDgYGBCg8P1zXXXKPU1NRaemVwVo4Yc5s2bdINN9ygmJgY+fr6ql27dnr99ddPu9aiRYvUqVMneXt7q2XLlvroo49q++XBydTVeJs+fboGDRqk8PBwBQUFqWfPnpo7d26dvEY4DiHoFIsXL9a9996rlStXat68eSotLdXgwYN1/PjxqnMefvhhzZw5U19//bUWL16sQ4cO6eqrrz7tuW6//XZdf/31v3u90tJS3XDDDbrssssc/lrg/OpyvD344IN6//339dJLLyk5OVkzZsxQt27dauV1wXnV1ZhLSUnRVVddpQEDBmjjxo2aO3euMjMzz/g8qN8cMebWrVuniIgIffbZZ0pKStI//vEPPf744/rvf/9bdU5KSoqGDx+u/v37a+PGjXrooYd055138sbUzdTVePvll180aNAg/fjjj1q3bp369++vkSNHasOGDXX6enGRDJxVRkaGIclYvHixYRiGkZOTY9hsNuPrr7+uOmf79u2GJGPFihWnff2ECROMjh07nvX5//rXvxo33XST8eGHHxrBwcGOLh8uprbG27Zt2wxPT08jOTm51mqHa6qtMff1118bnp6eRnl5edWxGTNmGBaLxSgpKXH8C4HLuNgxV+nPf/6z0b9//6rP//rXvxoJCQnVzrn++uuNIUOGOPgVwJXU1ng7k/j4eGPSpEmOKRx1gpmg35GbmytJCg0NlVTx24HS0lINHDiw6py2bduqadOmWrFiRY2ee8GCBfr666/15ptvOq5guLTaGm8zZ85U8+bNNWvWLMXFxalZs2a68847lZ2d7dgXAJdTW2Ouc+fOslqt+vDDD1VeXq7c3Fx9+umnGjhwoGw2m2NfBFyKo8Zcbm5u1XNI0ooVK6o9hyQNGTKkxv82o36prfH2W3a7Xfn5+b97DpwPIegs7Ha7HnroIfXu3VuJiYmSpMOHD8vLy+u0+3ciIyN1+PDh837urKws3Xrrrfroo48UFBTkyLLhompzvO3du1f79u3T119/rU8++UQfffSR1q1bp2uvvdaRLwEupjbHXFxcnH766Sf9/e9/l7e3txo0aKADBw7oq6++cuRLgItx1Jhbvny5vvzyS/3xj3+sOnb48GFFRkae9hx5eXkqKipy7AuBS6jN8fZbL730kgoKCjR27FiH1Y/a52l2Ac7q3nvv1datW7V06VKHP/ddd92lcePGqW/fvg5/brim2hxvdrtdxcXF+uSTT9S6dWtJ0uTJk9W5c2ft2LFDbdq0cfg14fxqc8wdPnxYd911l8aPH68bbrhB+fn5euqpp3Tttddq3rx5slgsDr8mnJ8jxtzWrVt11VVXacKECRo8eLADq0N9U1fjberUqZo0aZK+//57RUREXPC1UPeYCTqD++67T7NmzdLChQvVpEmTquNRUVEqKSlRTk5OtfOPHDmiqKio837+BQsW6KWXXpKnp6c8PT11xx13KDc3V56envrggw8c9TLgImp7vEVHR8vT07MqAElSu3btJElpaWkXVzxcUm2PuTfffFPBwcF68cUXdemll6pv37767LPPNH/+fK1atcpRLwMuxBFjbtu2bbriiiv0xz/+UU888US1x6Kiok7rYnjkyBEFBQXJ19fXsS8GTq+2x1ulL774Qnfeeae++uqr05ZjwvkRgk5hGIbuu+8+ffvtt1qwYIHi4uKqPd65c2fZbDbNnz+/6tiOHTuUlpamnj17nvd1VqxYoY0bN1Z9PP300woMDNTGjRs1ZswYh70eOLe6Gm+9e/dWWVmZ9uzZU3Vs586dkqTY2NiLfBVwJXU15goLC2W1Vv/nxcPDQ1LFzCTch6PGXFJSkvr376/x48efsb1/z549qz2HJM2bN69G4xaur67GmyR9/vnnuu222/T5559r+PDhtfOCULtMbcvgZO655x4jODjYWLRokZGenl71UVhYWHXOn/70J6Np06bGggULjLVr1xo9e/Y0evbsWe15du3aZWzYsMG4++67jdatWxsbNmwwNmzYYBQXF5/xunSHc091Nd7Ky8uNTp06GX379jXWr19vrF271ujevbsxaNCgOn29MF9djbn58+cbFovFmDRpkrFz505j3bp1xpAhQ4zY2Nhq10L954gxt2XLFiM8PNy46aabqj1HRkZG1Tl79+41/Pz8jL/85S/G9u3bjTfffNPw8PAw5syZU6evF+aqq/E2ZcoUw9PT03jzzTernZOTk1OnrxcXhxB0Ckln/Pjwww+rzikqKjL+/Oc/GyEhIYafn58xZswYIz09vdrz9OvX74zPk5KScsbrEoLcU12Ot4MHDxpXX321ERAQYERGRhq33nqrkZWVVUevFM6iLsfc559/blx66aWGv7+/ER4ebowaNcrYvn17Hb1SOAtHjLkJEyac8TliY2OrXWvhwoXGJZdcYnh5eRnNmzevdg24h7oab2f7GTh+/Pi6e7G4aBbDMAzHzCkBAAAAgPPjniAAAAAAboUQBAAAAMCtEIIAAAAAuBVCEAAAAAC3QggCAAAA4FYIQQAAAADcCiEIAAAAgFshBAEAAABwK4QgAAAAAG6FEAQAcBqGYWjgwIEaMmTIaY+99dZbatCggQ4cOGBCZQCA+oQQBABwGhaLRR9++KFWrVqld999t+p4SkqK/vrXv+qNN95QkyZNHHrN0tJShz4fAMD5EYIAAE4lJiZGr7/+uh577DGlpKTIMAzdcccdGjx4sC699FINHTpUAQEBioyM1M0336zMzMyqr50zZ4769OmjBg0aKCwsTCNGjNCePXuqHk9NTZXFYtGXX36pfv36ycfHR1OmTDHjZQIATGQxDMMwuwgAAH5r9OjRys3N1dVXX61nnnlGSUlJSkhI0J133qlbbrlFRUVF+tvf/qaysjItWLBAkjRt2jRZLBZ16NBBBQUFeuqpp5SamqqNGzfKarUqNTVVcXFxatasmV5++WVdeuml8vHxUXR0tMmvFgBQlwhBAACnlJGRoYSEBGVnZ2vatGnaunWrlixZorlz51adc+DAAcXExGjHjh1q3br1ac+RmZmp8PBwbdmyRYmJiVUh6LXXXtODDz5Yly8HAOBEWA4HAHBKERERuvvuu9WuXTuNHj1amzZt0sKFCxUQEFD10bZtW0mqWvK2a9cu3XDDDWrevLmCgoLUrFkzSVJaWlq15+7SpUudvhYAgHPxNLsAAADOxtPTU56eFf9UFRQUaOTIkXrhhRdOO69yOdvIkSMVGxur9957T40aNZLdbldiYqJKSkqqne/v71/7xQMAnBYhCADgEjp16qRp06apWbNmVcHoVFlZWdqxY4fee+89XXbZZZKkpUuX1nWZAAAXwHI4AIBLuPfee5Wdna0bbrhBa9as0Z49ezR37lzddtttKi8vV0hIiMLCwvS///1Pu3fv1oIFC/TII4+YXTYAwAkRggAALqFRo0ZatmyZysvLNXjwYLVv314PPfSQGjRoIKvVKqvVqi+++ELr1q1TYmKiHn74Yf373/82u2wAgBOiOxwAAAAAt8JMEAAAAAC3QggCAAAA4FYIQQAAAADcCiEIAAAAgFshBAEAAABwK4QgAAAAAG6FEAQAAADArRCCAAAAALgVQhAAAAAAt0IIAgAAAOBWCEEAAAAA3Mr/A0VAtdI/K4eiAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Load data\n",
"df = pd.read_csv(\"/tmp/tmpvzjigv7g/n2OzlTWhinflation.csv\")\n",
"\n",
"# Calculate average yearly inflation\n",
"df['Average'] = df[['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']].mean(axis=1)\n",
"\n",
"# Plot average yearly inflation as a time series\n",
"plt.figure(figsize=(10,6))\n",
"plt.plot(df['Year'], df['Average'])\n",
"plt.title('Average Yearly Inflation')\n",
"plt.xlabel('Year')\n",
"plt.ylabel('Average Inflation')\n",
"plt.grid(True)\n",
"plt.show()"
],
"id": "JqBBVLKdIHHq"
},
{
"cell_type": "markdown",
"id": "FJ85DUhgBZd7",
"metadata": {
"id": "FJ85DUhgBZd7"
},
"source": [
"## 3. Llama Stack Agent Evaluations\n"
]
},
{
"cell_type": "markdown",
"id": "ydeBDpDT5VHd",
"metadata": {
"id": "ydeBDpDT5VHd"
},
"source": [
"#### 3.1. Online Evaluation Dataset Collection Using Telemetry\n",
"\n",
"- Llama Stack offers built-in telemetry to collect traces and data about your agentic application.\n",
"- In this example, we will show how to build an Agent with Llama Stack, and query the agent's traces into an online dataset that can be used for evaluation. "
]
},
{
"cell_type": "markdown",
"id": "_t_tcWq0JcJ4",
"metadata": {
"id": "_t_tcWq0JcJ4"
},
"source": [
"##### 3.1.1. Building a Search Agent"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "4iCO59kP20Zs",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "4iCO59kP20Zs",
"outputId": "894c6333-30e9-4f1e-9b63-1bfb1cae51e2"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"inference> brave_search.call(query=\"NBA Western Conference Finals 2024 teams\")\n",
"tool_execution> Tool:brave_search Args:{'query': 'NBA Western Conference Finals 2024 teams'}\n",
"tool_execution> Tool:brave_search Response:{\"query\": \"NBA Western Conference Finals 2024 teams\", \"top_k\": [{\"title\": \"2024 NBA Western Conference Finals - Basketball-Reference.com\", \"url\": \"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\", \"content\": \"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\u010di\\u0107 (635) TRB: Luka Don\\u010di\\u0107 (208) AST: Luka Don\\u010di\\u0107 (178) WS: Derrick White (2.9) More playoffs info\", \"score\": 0.9310187, \"raw_content\": null}, {\"title\": \"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\", \"url\": \"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\", \"content\": \"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\", \"score\": 0.8914433, \"raw_content\": null}, {\"title\": \"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\", \"url\": \"https://www.nba.com/playoffs/2024/west-final\", \"content\": \"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\", \"score\": 0.8884594, \"raw_content\": null}, {\"title\": \"NBA Conference Finals Schedule: Full List of Games & Results\", \"url\": \"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\", \"content\": \"The 2024 NBA conference finals matchups are set. Here's the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\", \"score\": 0.85008353, \"raw_content\": null}, {\"title\": \"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\", \"url\": \"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\", \"content\": \"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\", \"score\": 0.81979275, \"raw_content\": null}]}\n",
"inference> The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\n",
"inference> brave_search.call(query=\"Bill Cosby South Park episode\")\n",
"tool_execution> Tool:brave_search Args:{'query': 'Bill Cosby South Park episode'}\n",
"tool_execution> Tool:brave_search Response:{\"query\": \"Bill Cosby South Park episode\", \"top_k\": [{\"title\": \"Bill Cosby | South Park Archives | Fandom\", \"url\": \"https://southpark.fandom.com/wiki/Bill_Cosby\", \"content\": \"For other uses, see Bill (Disambiguation). William Henry \\\"Bill\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\"Here Comes the Neighborhood\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\"#HappyHolograms\\\" where he is shown trying to molest pop star Taylor\", \"score\": 0.82288796, \"raw_content\": null}, {\"title\": \"Trapper Keeper (South Park) - Wikipedia\", \"url\": \"https://en.wikipedia.org/wiki/Trapper_Keeper_(South_Park)\", \"content\": \"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. [1] The main plot of the episode involving the Trapper Keeper was written before the election, [1]\", \"score\": 0.75659186, \"raw_content\": null}, {\"title\": \"Bill Cosby is Here to See You - South Park Studios US\", \"url\": \"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\", \"content\": \"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\"Cartman Bra\\\" South Park S18 E9.\", \"score\": 0.7156829, \"raw_content\": null}, {\"title\": \"Bill Cosby and Taylor Swift Duet - South Park Studios\", \"url\": \"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\", \"content\": \"The holiday special continues with Bill Cosby and Taylor Swift's rendition of \\\"It's Snowing Out There\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes & Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\u2022 12/10/2014. The\", \"score\": 0.64639384, \"raw_content\": null}, {\"title\": \"Bill Cosby (android) | South Park Character ... - South Park Studios US\", \"url\": \"https://southpark.cc.com/wiki/Bill_Cosby_(android)\", \"content\": \"About. Sent back in time to destroy Eric Cartman's Dawson's Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\"Bill Cosby\\\" is really VSM471, an android or cyborg of some kind engineered by 'hoomans' in the distant future. He fails in his initial missions to infiltrate South Park Elementary's 4th Grade class, destroy the Trapper Keeper or\", \"score\": 0.56460327, \"raw_content\": null}]}\n",
"inference> Bill Cosby (BSM-471) first appears in the Season 4 episode \"Trapper Keeper\" of South Park.\n",
"inference> brave_search.call(query=\"Andrew Tate kickboxing name\")\n",
"tool_execution> Tool:brave_search Args:{'query': 'Andrew Tate kickboxing name'}\n",
"tool_execution> Tool:brave_search Response:{\"query\": \"Andrew Tate kickboxing name\", \"top_k\": [{\"title\": \"50 Facts About Andrew Tate - Facts.net\", \"url\": \"https://facts.net/andrew-tate-facts/\", \"content\": \"Full Name: Andrew Tate's full name is Emory Andrew Tate III, named after his father, a celebrated chess player. Date of Birth: ... Kickboxing Start: Tate began his kickboxing career in 2005, starting his journey as a professional fighter, which would later be a significant part of his persona. First Championship:\", \"score\": 0.8967681, \"raw_content\": null}, {\"title\": \"The Life Of Andrew Tate (By Andrew Tate Himself)\", \"url\": \"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\", \"content\": \"Andrew Tate stats. Fight Name: Cobra Tate. Born: 1 December 1986. Weight: 90 KG. Weight Class: Cruiserweight. Height: 1.92m. Fight Record: Wins - 76, Losses - 9. ... Andrew Tate's Kickboxing Career. Andrew Tate has always fought credible opponents right from the beginning of his kickboxing career. One of his first professional fights on\", \"score\": 0.8795718, \"raw_content\": null}, {\"title\": \"About Andrew Tate | The Real World\", \"url\": \"https://www.taterealworldofficial.com/about-andrew-tate\", \"content\": \"Emory Andrew Tate III (born December 14, 1986) is an American-British kickboxer from Chicago, Illinois, who competes in the cruiserweight and heavyweight divisions. ... Tate challenged Paul Randall for the vacant ISKA English Kickboxing Light-cruiserweight title. Tate won his first ISKA Kickboxing title stopping Randall in the fifth round of\", \"score\": 0.8386933, \"raw_content\": null}, {\"title\": \"Andrew Tate - Fight Record - Muay Thai Records\", \"url\": \"https://muaythairecords.com/fighters/andrew-tate\", \"content\": \"Andrew \\\"King Cobra\\\" Tate is a 38-year-old Muay Thai fighter. With a record of 23-8-0, including 32 knockouts, standing at 6\\u2032 4\\u2033 and weighing 198 lbs. Originally from Luton, United Kingdom. ... WIN Dec -Kickboxing Jean Luc Beno\\u00eet. 14th Mar 2015 -Boxe in D\\u00e9fi 16. Andrew Tate defeated Jean Luc Beno\\u00eet by decision. ... Name: Andrew Tate\", \"score\": 0.8194462, \"raw_content\": null}, {\"title\": \"Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography\", \"url\": \"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\", \"content\": \"Birth Name: Emory Andrew Tate III: Date of Birth: 1 December 1986: Place of Birth: Washington, D.C., U.S. ... In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout.\", \"score\": 0.7992077, \"raw_content\": null}]}\n",
"inference> Andrew Tate's kickboxing name is \"King Cobra\" or \"Cobra Tate\".\n"
]
}
],
"source": [
"from llama_stack_client.lib.agents.agent import Agent\n",
"from llama_stack_client.lib.agents.event_logger import EventLogger\n",
"from llama_stack_client.types.agent_create_params import AgentConfig\n",
"from google.colab import userdata\n",
"\n",
"agent_config = AgentConfig(\n",
" model=\"meta-llama/Llama-3.1-405B-Instruct-FP8\",\n",
" instructions=\"You are a helpful assistant. Use search tool to answer the questions. \",\n",
" toolgroups=[\"builtin::websearch\"],\n",
" input_shields=[],\n",
" output_shields=[],\n",
" enable_session_persistence=False,\n",
")\n",
"agent = Agent(client, agent_config)\n",
"user_prompts = [\n",
" \"Which teams played in the NBA western conference finals of 2024\",\n",
" \"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title.\",\n",
" \"What is the British-American kickboxer Andrew Tate's kickboxing name?\",\n",
"]\n",
"\n",
"session_id = agent.create_session(\"test-session\")\n",
"\n",
"for prompt in user_prompts:\n",
" response = agent.create_turn(\n",
" messages=[\n",
" {\n",
" \"role\": \"user\",\n",
" \"content\": prompt,\n",
" }\n",
" ],\n",
" session_id=session_id,\n",
" )\n",
"\n",
" for log in EventLogger().log(response):\n",
" log.print()"
]
},
{
"cell_type": "markdown",
"id": "ekOS2kM4P0LM",
"metadata": {
"id": "ekOS2kM4P0LM"
},
"source": [
"##### 3.1.2 Query Telemetry"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "agkWgToGAsuA",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "agkWgToGAsuA",
"outputId": "4233a1d9-8282-4aa9-bdc4-0c105939f97e"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Getting traces for session_id=44d006af-1394-4832-9799-5f0cb0ca01d6\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1m[\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[1m[\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown \u001b[0m\u001b[32m(\u001b[0m\u001b[32m20.8 / 5.4 / 5.0\u001b[0m\u001b[32m)\u001b[0m\u001b[32m 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m635\u001b[0m\u001b[32m)\u001b[0m\u001b[32m TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m208\u001b[0m\u001b[32m)\u001b[0m\u001b[32m AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m178\u001b[0m\u001b[32m)\u001b[0m\u001b[32m WS: Derrick White \u001b[0m\u001b[32m(\u001b[0m\u001b[32m2.9\u001b[0m\u001b[32m)\u001b[0m\u001b[32m More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games & Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round \u001b[0m\u001b[32m(\u001b[0m\u001b[32m1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Oklahoma City Thunder def. \u001b[0m\u001b[32m(\u001b[0m\u001b[32m8\u001b[0m\u001b[32m)\u001b[0m\u001b[32m New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title.\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"Bill Cosby South Park episode\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill \u001b[0m\u001b[32m(\u001b[0m\u001b[32mDisambiguation\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Trapper Keeper \u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth_Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m The main plot of the episode involving the Trapper Keeper was written before the election, \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes & Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appears in the Season 4 episode \\\\\"Trapper Keeper\\\\\" of South Park.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"What is the British-American kickboxer Andrew Tate\\'s kickboxing name?\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1m]\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m\"content: tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32mToolCall\u001b[0m\u001b[32m(\u001b[0m\u001b[32mcall_id\u001b[0m\u001b[32m='44705eaf-b371-4841-b0ee-5eb21a5d7f36', \u001b[0m\u001b[32mtool_name\u001b[0m\u001b[32m=\u001b[0m\u001b[32m<\u001b[0m\u001b[32mBuiltinTool.brave_search:\u001b[0m\u001b[32m 'brave_search'>, \u001b[0m\u001b[32marguments\u001b[0m\u001b[32m=\u001b[0m\u001b[32m{\u001b[0m\u001b[32m'query': 'Andrew Tate kickboxing name'\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\"\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"Andrew Tate kickboxing name\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"Andrew Tate kickboxing name\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"50 Facts About Andrew Tate - Facts.net\\\\\", \\\\\"url\\\\\": \\\\\"https://facts.net/andrew-tate-facts/\\\\\", \\\\\"content\\\\\": \\\\\"Full Name: Andrew Tate\\'s full name is Emory Andrew Tate III, named after his father, a celebrated chess player. Date of Birth: ... Kickboxing Start: Tate began his kickboxing career in 2005, starting his journey as a professional fighter, which would later be a significant part of his persona. First Championship:\\\\\", \\\\\"score\\\\\": 0.8967681, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"The Life Of Andrew Tate \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBy Andrew Tate Himself\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"url\\\\\": \\\\\"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\\\\\", \\\\\"content\\\\\": \\\\\"Andrew Tate stats. Fight Name: Cobra Tate. Born: 1 December 1986. Weight: 90 KG. Weight Class: Cruiserweight. Height: 1.92m. Fight Record: Wins - 76, Losses - 9. ... Andrew Tate\\'s Kickboxing Career. Andrew Tate has always fought credible opponents right from the beginning of his kickboxing career. One of his first professional fights on\\\\\", \\\\\"score\\\\\": 0.8795718, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"About Andrew Tate | The Real World\\\\\", \\\\\"url\\\\\": \\\\\"https://www.taterealworldofficial.com/about-andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Emory Andrew Tate III \u001b[0m\u001b[32m(\u001b[0m\u001b[32mborn December 14, 1986\u001b[0m\u001b[32m)\u001b[0m\u001b[32m is an American-British kickboxer from Chicago, Illinois, who competes in the cruiserweight and heavyweight divisions. ... Tate challenged Paul Randall for the vacant ISKA English Kickboxing Light-cruiserweight title. Tate won his first ISKA Kickboxing title stopping Randall in the fifth round of\\\\\", \\\\\"score\\\\\": 0.8386933, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Andrew Tate - Fight Record - Muay Thai Records\\\\\", \\\\\"url\\\\\": \\\\\"https://muaythairecords.com/fighters/andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Andrew \\\\\\\\\\\\\"King Cobra\\\\\\\\\\\\\" Tate is a 38-year-old Muay Thai fighter. With a record of 23-8-0, including 32 knockouts, standing at 6\\\\\\\\u2032 4\\\\\\\\u2033 and weighing 198 lbs. Originally from Luton, United Kingdom. ... WIN Dec -Kickboxing Jean Luc Beno\\\\\\\\u00eet. 14th Mar 2015 -Boxe in D\\\\\\\\u00e9fi 16. Andrew Tate defeated Jean Luc Beno\\\\\\\\u00eet by decision. ... Name: Andrew Tate\\\\\", \\\\\"score\\\\\": 0.8194462, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography\\\\\", \\\\\"url\\\\\": \\\\\"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\\\\\", \\\\\"content\\\\\": \\\\\"Birth Name: Emory Andrew Tate III: Date of Birth: 1 December 1986: Place of Birth: Washington, D.C., U.S. ... In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout.\\\\\", \\\\\"score\\\\\": 0.7992077, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m\u001b[39m: \u001b[0m\u001b[1;39m[\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown \u001b[0m\u001b[32m(\u001b[0m\u001b[32m20.8 / 5.4 / 5.0\u001b[0m\u001b[32m)\u001b[0m\u001b[32m 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m635\u001b[0m\u001b[32m)\u001b[0m\u001b[32m TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m208\u001b[0m\u001b[32m)\u001b[0m\u001b[32m AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m178\u001b[0m\u001b[32m)\u001b[0m\u001b[32m WS: Derrick White \u001b[0m\u001b[32m(\u001b[0m\u001b[32m2.9\u001b[0m\u001b[32m)\u001b[0m\u001b[32m More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games & Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round \u001b[0m\u001b[32m(\u001b[0m\u001b[32m1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Oklahoma City Thunder def. \u001b[0m\u001b[32m(\u001b[0m\u001b[32m8\u001b[0m\u001b[32m)\u001b[0m\u001b[32m New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title.\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"Bill Cosby South Park episode\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill \u001b[0m\u001b[32m(\u001b[0m\u001b[32mDisambiguation\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Trapper Keeper \u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth_Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m The main plot of the episode involving the Trapper Keeper was written before the election, \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes & Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appears in the Season 4 episode \\\\\"Trapper Keeper\\\\\" of South Park.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"What is the British-American kickboxer Andrew Tate\\'s kickboxing name?\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"Andrew Tate kickboxing name\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"Andrew Tate kickboxing name\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"50 Facts About Andrew Tate - Facts.net\\\\\", \\\\\"url\\\\\": \\\\\"https://facts.net/andrew-tate-facts/\\\\\", \\\\\"content\\\\\": \\\\\"Full Name: Andrew Tate\\'s full name is Emory Andrew Tate III, named after his father, a celebrated chess player. Date of Birth: ... Kickboxing Start: Tate began his kickboxing career in 2005, starting his journey as a professional fighter, which would later be a significant part of his persona. First Championship:\\\\\", \\\\\"score\\\\\": 0.8967681, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"The Life Of Andrew Tate \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBy Andrew Tate Himself\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"url\\\\\": \\\\\"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\\\\\", \\\\\"content\\\\\": \\\\\"Andrew Tate stats. Fight Name: Cobra Tate. Born: 1 December 1986. Weight: 90 KG. Weight Class: Cruiserweight. Height: 1.92m. Fight Record: Wins - 76, Losses - 9. ... Andrew Tate\\'s Kickboxing Career. Andrew Tate has always fought credible opponents right from the beginning of his kickboxing career. One of his first professional fights on\\\\\", \\\\\"score\\\\\": 0.8795718, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"About Andrew Tate | The Real World\\\\\", \\\\\"url\\\\\": \\\\\"https://www.taterealworldofficial.com/about-andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Emory Andrew Tate III \u001b[0m\u001b[32m(\u001b[0m\u001b[32mborn December 14, 1986\u001b[0m\u001b[32m)\u001b[0m\u001b[32m is an American-British kickboxer from Chicago, Illinois, who competes in the cruiserweight and heavyweight divisions. ... Tate challenged Paul Randall for the vacant ISKA English Kickboxing Light-cruiserweight title. Tate won his first ISKA Kickboxing title stopping Randall in the fifth round of\\\\\", \\\\\"score\\\\\": 0.8386933, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Andrew Tate - Fight Record - Muay Thai Records\\\\\", \\\\\"url\\\\\": \\\\\"https://muaythairecords.com/fighters/andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Andrew \\\\\\\\\\\\\"King Cobra\\\\\\\\\\\\\" Tate is a 38-year-old Muay Thai fighter. With a record of 23-8-0, including 32 knockouts, standing at 6\\\\\\\\u2032 4\\\\\\\\u2033 and weighing 198 lbs. Originally from Luton, United Kingdom. ... WIN Dec -Kickboxing Jean Luc Beno\\\\\\\\u00eet. 14th Mar 2015 -Boxe in D\\\\\\\\u00e9fi 16. Andrew Tate defeated Jean Luc Beno\\\\\\\\u00eet by decision. ... Name: Andrew Tate\\\\\", \\\\\"score\\\\\": 0.8194462, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography\\\\\", \\\\\"url\\\\\": \\\\\"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\\\\\", \\\\\"content\\\\\": \\\\\"Birth Name: Emory Andrew Tate III: Date of Birth: 1 December 1986: Place of Birth: Washington, D.C., U.S. ... In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout.\\\\\", \\\\\"score\\\\\": 0.7992077, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'content: Andrew Tate\\'s kickboxing name is \"King Cobra\" or \"Cobra Tate\". tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m\u001b[39m: \u001b[0m\u001b[1;39m[\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m\"content: tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32mToolCall\u001b[0m\u001b[32m(\u001b[0m\u001b[32mcall_id\u001b[0m\u001b[32m='b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d', \u001b[0m\u001b[32mtool_name\u001b[0m\u001b[32m=<BuiltinTool.brave_search: 'brave_search'>, \u001b[0m\u001b[32marguments\u001b[0m\u001b[32m=\u001b[0m\u001b[32m{\u001b[0m\u001b[32m'query': 'NBA Western Conference Finals 2024 teams'\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\"\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown \u001b[0m\u001b[32m(\u001b[0m\u001b[32m20.8 / 5.4 / 5.0\u001b[0m\u001b[32m)\u001b[0m\u001b[32m 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m635\u001b[0m\u001b[32m)\u001b[0m\u001b[32m TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m208\u001b[0m\u001b[32m)\u001b[0m\u001b[32m AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m178\u001b[0m\u001b[32m)\u001b[0m\u001b[32m WS: Derrick White \u001b[0m\u001b[32m(\u001b[0m\u001b[32m2.9\u001b[0m\u001b[32m)\u001b[0m\u001b[32m More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games & Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round \u001b[0m\u001b[32m(\u001b[0m\u001b[32m1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Oklahoma City Thunder def. \u001b[0m\u001b[32m(\u001b[0m\u001b[32m8\u001b[0m\u001b[32m)\u001b[0m\u001b[32m New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m\u001b[39m: \u001b[0m\u001b[1;39m[\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown \u001b[0m\u001b[32m(\u001b[0m\u001b[32m20.8 / 5.4 / 5.0\u001b[0m\u001b[32m)\u001b[0m\u001b[32m 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m635\u001b[0m\u001b[32m)\u001b[0m\u001b[32m TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m208\u001b[0m\u001b[32m)\u001b[0m\u001b[32m AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m178\u001b[0m\u001b[32m)\u001b[0m\u001b[32m WS: Derrick White \u001b[0m\u001b[32m(\u001b[0m\u001b[32m2.9\u001b[0m\u001b[32m)\u001b[0m\u001b[32m More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games & Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round \u001b[0m\u001b[32m(\u001b[0m\u001b[32m1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Oklahoma City Thunder def. \u001b[0m\u001b[32m(\u001b[0m\u001b[32m8\u001b[0m\u001b[32m)\u001b[0m\u001b[32m New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'content: The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves. tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m\u001b[39m: \u001b[0m\u001b[1;39m[\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown \u001b[0m\u001b[32m(\u001b[0m\u001b[32m20.8 / 5.4 / 5.0\u001b[0m\u001b[32m)\u001b[0m\u001b[32m 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m635\u001b[0m\u001b[32m)\u001b[0m\u001b[32m TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m208\u001b[0m\u001b[32m)\u001b[0m\u001b[32m AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m178\u001b[0m\u001b[32m)\u001b[0m\u001b[32m WS: Derrick White \u001b[0m\u001b[32m(\u001b[0m\u001b[32m2.9\u001b[0m\u001b[32m)\u001b[0m\u001b[32m More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games & Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round \u001b[0m\u001b[32m(\u001b[0m\u001b[32m1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Oklahoma City Thunder def. \u001b[0m\u001b[32m(\u001b[0m\u001b[32m8\u001b[0m\u001b[32m)\u001b[0m\u001b[32m New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title.\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1;39m]\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m\"content: tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32mToolCall\u001b[0m\u001b[32m(\u001b[0m\u001b[32mcall_id\u001b[0m\u001b[32m='1e487e8e-a15f-4137-854a-1d4979a70b8c', \u001b[0m\u001b[32mtool_name\u001b[0m\u001b[32m=<BuiltinTool.brave_search: 'brave_search'\u001b[0m\u001b[32m>\u001b[0m\u001b[32m, \u001b[0m\u001b[32marguments\u001b[0m\u001b[32m=\u001b[0m\u001b[32m{\u001b[0m\u001b[32m'query': 'Bill Cosby South Park episode'\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\"\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"Bill Cosby South Park episode\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill \u001b[0m\u001b[32m(\u001b[0m\u001b[32mDisambiguation\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Trapper Keeper \u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth_Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m The main plot of the episode involving the Trapper Keeper was written before the election, \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes & Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input'\u001b[0m: \u001b[1m[\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"NBA Western Conference Finals 2024 teams\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown \u001b[0m\u001b[32m(\u001b[0m\u001b[32m20.8 / 5.4 / 5.0\u001b[0m\u001b[32m)\u001b[0m\u001b[32m 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m635\u001b[0m\u001b[32m)\u001b[0m\u001b[32m TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m208\u001b[0m\u001b[32m)\u001b[0m\u001b[32m AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 \u001b[0m\u001b[32m(\u001b[0m\u001b[32m178\u001b[0m\u001b[32m)\u001b[0m\u001b[32m WS: Derrick White \u001b[0m\u001b[32m(\u001b[0m\u001b[32m2.9\u001b[0m\u001b[32m)\u001b[0m\u001b[32m More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates & Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves \u001b[0m\u001b[32m(\u001b[0m\u001b[32m3\u001b[0m\u001b[32m)\u001b[0m\u001b[32m vs. Mavericks \u001b[0m\u001b[32m(\u001b[0m\u001b[32m5\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games & Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round \u001b[0m\u001b[32m(\u001b[0m\u001b[32m1\u001b[0m\u001b[32m)\u001b[0m\u001b[32m Oklahoma City Thunder def. \u001b[0m\u001b[32m(\u001b[0m\u001b[32m8\u001b[0m\u001b[32m)\u001b[0m\u001b[32m New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title.\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":\u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"query\":\"Bill Cosby South Park episode\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": \u001b[0m\u001b[32m[\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill \u001b[0m\u001b[32m(\u001b[0m\u001b[32mDisambiguation\u001b[0m\u001b[32m)\u001b[0m\u001b[32m. William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Trapper Keeper \u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mSouth_Park\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m The main plot of the episode involving the Trapper Keeper was written before the election, \u001b[0m\u001b[32m[\u001b[0m\u001b[32m1\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes & Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m, \u001b[0m\u001b[32m{\u001b[0m\u001b[32m\\\\\"title\\\\\": \\\\\"Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_\u001b[0m\u001b[32m(\u001b[0m\u001b[32mandroid\u001b[0m\u001b[32m)\u001b[0m\u001b[32m\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m]\u001b[0m\u001b[32m}\u001b[0m\u001b[32m\"\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1m]\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'output'\u001b[0m: \u001b[32m'content: Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appears in the Season 4 episode \"Trapper Keeper\" of South Park. tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32m]\u001b[0m\u001b[32m'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n",
"\u001b[1m]\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span>: <span style=\"font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"}}]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (635) TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (208) AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (178) WS: Derrick White (2.9) More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates &amp; Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games &amp; Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null}]}\"}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title.\",\"context\":null}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"Bill Cosby South Park episode\"}}]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill (Disambiguation). William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Trapper Keeper (South Park) - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_(South_Park)\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. [1] The main plot of the episode involving the Trapper Keeper was written before the election, [1]\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes &amp; Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby (android) | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_(android)\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null}]}\"}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"Bill Cosby (BSM-471) first appears in the Season 4 episode \\\\\"Trapper Keeper\\\\\" of South Park.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"What is the British-American kickboxer Andrew Tate\\'s kickboxing name?\",\"context\":null}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"font-weight: bold\">]</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">\"content: tool_calls: [ToolCall(call_id='44705eaf-b371-4841-b0ee-5eb21a5d7f36', tool_name=&lt;BuiltinTool.brave_search: 'brave_search'&gt;, arguments={'query': 'Andrew Tate kickboxing name'})]\"</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"Andrew Tate kickboxing name\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"Andrew Tate kickboxing name\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"50 Facts About Andrew Tate - Facts.net\\\\\", \\\\\"url\\\\\": \\\\\"https://facts.net/andrew-tate-facts/\\\\\", \\\\\"content\\\\\": \\\\\"Full Name: Andrew Tate\\'s full name is Emory Andrew Tate III, named after his father, a celebrated chess player. Date of Birth: ... Kickboxing Start: Tate began his kickboxing career in 2005, starting his journey as a professional fighter, which would later be a significant part of his persona. First Championship:\\\\\", \\\\\"score\\\\\": 0.8967681, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"The Life Of Andrew Tate (By Andrew Tate Himself)\\\\\", \\\\\"url\\\\\": \\\\\"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\\\\\", \\\\\"content\\\\\": \\\\\"Andrew Tate stats. Fight Name: Cobra Tate. Born: 1 December 1986. Weight: 90 KG. Weight Class: Cruiserweight. Height: 1.92m. Fight Record: Wins - 76, Losses - 9. ... Andrew Tate\\'s Kickboxing Career. Andrew Tate has always fought credible opponents right from the beginning of his kickboxing career. One of his first professional fights on\\\\\", \\\\\"score\\\\\": 0.8795718, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"About Andrew Tate | The Real World\\\\\", \\\\\"url\\\\\": \\\\\"https://www.taterealworldofficial.com/about-andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Emory Andrew Tate III (born December 14, 1986) is an American-British kickboxer from Chicago, Illinois, who competes in the cruiserweight and heavyweight divisions. ... Tate challenged Paul Randall for the vacant ISKA English Kickboxing Light-cruiserweight title. Tate won his first ISKA Kickboxing title stopping Randall in the fifth round of\\\\\", \\\\\"score\\\\\": 0.8386933, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Andrew Tate - Fight Record - Muay Thai Records\\\\\", \\\\\"url\\\\\": \\\\\"https://muaythairecords.com/fighters/andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Andrew \\\\\\\\\\\\\"King Cobra\\\\\\\\\\\\\" Tate is a 38-year-old Muay Thai fighter. With a record of 23-8-0, including 32 knockouts, standing at 6\\\\\\\\u2032 4\\\\\\\\u2033 and weighing 198 lbs. Originally from Luton, United Kingdom. ... WIN Dec -Kickboxing Jean Luc Beno\\\\\\\\u00eet. 14th Mar 2015 -Boxe in D\\\\\\\\u00e9fi 16. Andrew Tate defeated Jean Luc Beno\\\\\\\\u00eet by decision. ... Name: Andrew Tate\\\\\", \\\\\"score\\\\\": 0.8194462, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography\\\\\", \\\\\"url\\\\\": \\\\\"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\\\\\", \\\\\"content\\\\\": \\\\\"Birth Name: Emory Andrew Tate III: Date of Birth: 1 December 1986: Place of Birth: Washington, D.C., U.S. ... In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout.\\\\\", \\\\\"score\\\\\": 0.7992077, \\\\\"raw_content\\\\\": null}]}\"}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (635) TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (208) AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (178) WS: Derrick White (2.9) More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates &amp; Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games &amp; Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null}]}\"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title.\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"Bill Cosby South Park episode\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill (Disambiguation). William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Trapper Keeper (South Park) - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_(South_Park)\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. [1] The main plot of the episode involving the Trapper Keeper was written before the election, [1]\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes &amp; Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby (android) | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_(android)\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null}]}\"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"Bill Cosby (BSM-471) first appears in the Season 4 episode \\\\\"Trapper Keeper\\\\\" of South Park.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"What is the British-American kickboxer Andrew Tate\\'s kickboxing name?\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"Andrew Tate kickboxing name\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"44705eaf-b371-4841-b0ee-5eb21a5d7f36\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"Andrew Tate kickboxing name\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"50 Facts About Andrew Tate - Facts.net\\\\\", \\\\\"url\\\\\": \\\\\"https://facts.net/andrew-tate-facts/\\\\\", \\\\\"content\\\\\": \\\\\"Full Name: Andrew Tate\\'s full name is Emory Andrew Tate III, named after his father, a celebrated chess player. Date of Birth: ... Kickboxing Start: Tate began his kickboxing career in 2005, starting his journey as a professional fighter, which would later be a significant part of his persona. First Championship:\\\\\", \\\\\"score\\\\\": 0.8967681, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"The Life Of Andrew Tate (By Andrew Tate Himself)\\\\\", \\\\\"url\\\\\": \\\\\"https://sidekickboxing.co.uk/the-life-of-andrew-king-cobra-tate/\\\\\", \\\\\"content\\\\\": \\\\\"Andrew Tate stats. Fight Name: Cobra Tate. Born: 1 December 1986. Weight: 90 KG. Weight Class: Cruiserweight. Height: 1.92m. Fight Record: Wins - 76, Losses - 9. ... Andrew Tate\\'s Kickboxing Career. Andrew Tate has always fought credible opponents right from the beginning of his kickboxing career. One of his first professional fights on\\\\\", \\\\\"score\\\\\": 0.8795718, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"About Andrew Tate | The Real World\\\\\", \\\\\"url\\\\\": \\\\\"https://www.taterealworldofficial.com/about-andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Emory Andrew Tate III (born December 14, 1986) is an American-British kickboxer from Chicago, Illinois, who competes in the cruiserweight and heavyweight divisions. ... Tate challenged Paul Randall for the vacant ISKA English Kickboxing Light-cruiserweight title. Tate won his first ISKA Kickboxing title stopping Randall in the fifth round of\\\\\", \\\\\"score\\\\\": 0.8386933, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Andrew Tate - Fight Record - Muay Thai Records\\\\\", \\\\\"url\\\\\": \\\\\"https://muaythairecords.com/fighters/andrew-tate\\\\\", \\\\\"content\\\\\": \\\\\"Andrew \\\\\\\\\\\\\"King Cobra\\\\\\\\\\\\\" Tate is a 38-year-old Muay Thai fighter. With a record of 23-8-0, including 32 knockouts, standing at 6\\\\\\\\u2032 4\\\\\\\\u2033 and weighing 198 lbs. Originally from Luton, United Kingdom. ... WIN Dec -Kickboxing Jean Luc Beno\\\\\\\\u00eet. 14th Mar 2015 -Boxe in D\\\\\\\\u00e9fi 16. Andrew Tate defeated Jean Luc Beno\\\\\\\\u00eet by decision. ... Name: Andrew Tate\\\\\", \\\\\"score\\\\\": 0.8194462, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Andrew Tate: Kickboxing Record, Facts, Height, Weight, Age, Biography\\\\\", \\\\\"url\\\\\": \\\\\"https://www.lowkickmma.com/andrew-tate-kickboxing-record-facts-height-weight-age-biography/\\\\\", \\\\\"content\\\\\": \\\\\"Birth Name: Emory Andrew Tate III: Date of Birth: 1 December 1986: Place of Birth: Washington, D.C., U.S. ... In his professional kickboxing career, Andrew Tate won 32 of his fights by knockout.\\\\\", \\\\\"score\\\\\": 0.7992077, \\\\\"raw_content\\\\\": null}]}\"}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">]</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'content: Andrew Tate\\'s kickboxing name is \"King Cobra\" or \"Cobra Tate\". tool_calls: []'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">]</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">\"content: tool_calls: [ToolCall(call_id='b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d', tool_name=&lt;BuiltinTool.brave_search: 'brave_search'&gt;, arguments={'query': 'NBA Western Conference Finals 2024 teams'})]\"</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (635) TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (208) AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (178) WS: Derrick White (2.9) More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates &amp; Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games &amp; Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null}]}\"}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (635) TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (208) AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (178) WS: Derrick White (2.9) More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates &amp; Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games &amp; Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null}]}\"}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">]</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'content: The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves. tool_calls: []'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"}}]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (635) TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (208) AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (178) WS: Derrick White (2.9) More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates &amp; Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games &amp; Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null}]}\"}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[]}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title.\",\"context\":null}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">]</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">\"content: tool_calls: [ToolCall(call_id='1e487e8e-a15f-4137-854a-1d4979a70b8c', tool_name=&lt;BuiltinTool.brave_search: 'brave_search'&gt;, arguments={'query': 'Bill Cosby South Park episode'})]\"</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"Bill Cosby South Park episode\"}}]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill (Disambiguation). William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Trapper Keeper (South Park) - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_(South_Park)\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. [1] The main plot of the episode involving the Trapper Keeper was written before the election, [1]\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes &amp; Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby (android) | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_(android)\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null}]}\"}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input'</span>: <span style=\"font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"system\",\"content\":\"You are a helpful assistant. Use search tool to answer the questions. \"}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"NBA Western Conference Finals 2024 teams\"}}]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"NBA Western Conference Finals 2024 teams\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"2024 NBA Western Conference Finals - Basketball-Reference.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.basketball-reference.com/playoffs/2024-nba-western-conference-finals-mavericks-vs-timberwolves.html\\\\\", \\\\\"content\\\\\": \\\\\"2024 NBA Western Conference Finals Mavericks vs. Timberwolves League Champion: Boston Celtics. Finals MVP: Jaylen Brown (20.8 / 5.4 / 5.0) 2024 Playoff Leaders: PTS: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (635) TRB: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (208) AST: Luka Don\\\\\\\\u010di\\\\\\\\u0107 (178) WS: Derrick White (2.9) More playoffs info\\\\\", \\\\\"score\\\\\": 0.9310187, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates, schedule and more - Sportskeeda\\\\\", \\\\\"url\\\\\": \\\\\"https://www.sportskeeda.com/basketball/news-nba-western-conference-finals-2024-dates-schedule-and-more\\\\\", \\\\\"content\\\\\": \\\\\"NBA Western Conference Finals 2024: Dates &amp; Schedule The 2023-24 NBA Western Conference Finals will start on Wednesday, May 22. The Mavericks will face the team that wins in Game 7 between the\\\\\", \\\\\"score\\\\\": 0.8914433, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"2024 Playoffs: West Finals | Timberwolves (3) vs. Mavericks (5) - NBA.com\\\\\", \\\\\"url\\\\\": \\\\\"https://www.nba.com/playoffs/2024/west-final\\\\\", \\\\\"content\\\\\": \\\\\"The Dallas Mavericks and Minnesota Timberwolves have advanced to the 2024 Western Conference Finals during the NBA playoffs.\\\\\", \\\\\"score\\\\\": 0.8884594, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Conference Finals Schedule: Full List of Games &amp; Results\\\\\", \\\\\"url\\\\\": \\\\\"https://www.si.com/nba/nba-conference-finals-schedule-full-list-of-games-results\\\\\", \\\\\"content\\\\\": \\\\\"The 2024 NBA conference finals matchups are set. Here\\'s the schedule for all the games. ... Western Conference First Round (1) Oklahoma City Thunder def. (8) New Orleans Pelicans in 4 games\\\\\", \\\\\"score\\\\\": 0.85008353, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"NBA Finals 2024 - Celtics-Mavericks news, schedule, scores and ... - ESPN\\\\\", \\\\\"url\\\\\": \\\\\"https://www.espn.com/nba/story/_/id/39943302/nba-playoffs-2024-conference-finals-news-scores-highlights\\\\\", \\\\\"content\\\\\": \\\\\"The Boston Celtics are the 2024 NBA Champions. ... Western Conference. Final 2023-24 NBA regular-season standings. Which team left standing has the most trips to the NBA Finals? Here is a look at\\\\\", \\\\\"score\\\\\": 0.81979275, \\\\\"raw_content\\\\\": null}]}\"}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"The teams that played in the NBA Western Conference Finals of 2024 were the Dallas Mavericks and the Minnesota Timberwolves.\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title.\",\"context\":null}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"assistant\",\"content\":\"\",\"stop_reason\":\"end_of_turn\",\"tool_calls\":[{\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"arguments\":{\"query\":\"Bill Cosby South Park episode\"}}]}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"ipython\",\"call_id\":\"1e487e8e-a15f-4137-854a-1d4979a70b8c\",\"tool_name\":\"brave_search\",\"content\":\"{\\\\\"query\\\\\": \\\\\"Bill Cosby South Park episode\\\\\", \\\\\"top_k\\\\\": [{\\\\\"title\\\\\": \\\\\"Bill Cosby | South Park Archives | Fandom\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.fandom.com/wiki/Bill_Cosby\\\\\", \\\\\"content\\\\\": \\\\\"For other uses, see Bill (Disambiguation). William Henry \\\\\\\\\\\\\"Bill\\\\\\\\\\\\\" Cosby Jr. African-American comedian, actor, and serial rapist. He first appears in the Season Five episode, \\\\\\\\\\\\\"Here Comes the Neighborhood\\\\\\\\\\\\\", as one of the wealthy African-Americans who move to South Park. He returned as a hologram in the Season Eighteen episode, \\\\\\\\\\\\\"#HappyHolograms\\\\\\\\\\\\\" where he is shown trying to molest pop star Taylor\\\\\", \\\\\"score\\\\\": 0.82288796, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Trapper Keeper (South Park) - Wikipedia\\\\\", \\\\\"url\\\\\": \\\\\"https://en.wikipedia.org/wiki/Trapper_Keeper_(South_Park)\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby warns that if the Trapper Keeper assimilates with the supercomputer at Cheyenne Mountain, it will become unstoppable. ... It is one of the many South Park episodes that parodies a current event. [1] The main plot of the episode involving the Trapper Keeper was written before the election, [1]\\\\\", \\\\\"score\\\\\": 0.75659186, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby is Here to See You - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/video-clips/wfot8s/south-park-bill-cosby-is-here-to-see-you\\\\\", \\\\\"content\\\\\": \\\\\"Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. ... South Park. Bill Cosby is Here to See You. Season 18 E 10 \\\\\\\\u2022 12/10/2014. Bill Cosby recruits Kyle and his hashtag for the big Holiday Special. More. Watch Random Episode. Watching. 01:11. Please Welcome \\\\\\\\\\\\\"Cartman Bra\\\\\\\\\\\\\" South Park S18 E9.\\\\\", \\\\\"score\\\\\": 0.7156829, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby and Taylor Swift Duet - South Park Studios\\\\\", \\\\\"url\\\\\": \\\\\"https://www.southparkstudios.com/video-clips/90r7i1/south-park-bill-cosby-and-taylor-swift-duet\\\\\", \\\\\"content\\\\\": \\\\\"The holiday special continues with Bill Cosby and Taylor Swift\\'s rendition of \\\\\\\\\\\\\"It\\'s Snowing Out There\\\\\\\\\\\\\". ... Full Episodes. Collections. Random Episode. Full Episodes. Events. Wiki. News. Avatar. Shop. Forum. Games. South Park. Menu. Episodes &amp; Videos. About. South Park. Bill Cosby and Taylor Swift Duet. Season 18 E 10 \\\\\\\\u2022 12/10/2014. The\\\\\", \\\\\"score\\\\\": 0.64639384, \\\\\"raw_content\\\\\": null}, {\\\\\"title\\\\\": \\\\\"Bill Cosby (android) | South Park Character ... - South Park Studios US\\\\\", \\\\\"url\\\\\": \\\\\"https://southpark.cc.com/wiki/Bill_Cosby_(android)\\\\\", \\\\\"content\\\\\": \\\\\"About. Sent back in time to destroy Eric Cartman\\'s Dawson\\'s Creek Trapper Keeper before it manifests into an omnipotent supercomputer that can destroy all humanity, \\\\\\\\\\\\\"Bill Cosby\\\\\\\\\\\\\" is really VSM471, an android or cyborg of some kind engineered by \\'hoomans\\' in the distant future. He fails in his initial missions to infiltrate South Park Elementary\\'s 4th Grade class, destroy the Trapper Keeper or\\\\\", \\\\\"score\\\\\": 0.56460327, \\\\\"raw_content\\\\\": null}]}\"}'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"font-weight: bold\">]</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'content: Bill Cosby (BSM-471) first appears in the Season 4 episode \"Trapper Keeper\" of South Park. tool_calls: []'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">}</span>\n",
"<span style=\"font-weight: bold\">]</span>\n",
"</pre>\n"
]
},
"metadata": {}
}
],
"source": [
"print(f\"Getting traces for session_id={session_id}\")\n",
"import json\n",
"from rich.pretty import pprint\n",
"\n",
"agent_logs = []\n",
"\n",
"for span in client.telemetry.query_spans(\n",
" attribute_filters=[\n",
" {\"key\": \"session_id\", \"op\": \"eq\", \"value\": session_id},\n",
" ],\n",
" attributes_to_return=[\"input\", \"output\"]\n",
" ):\n",
" if span.attributes[\"output\"] != \"no shields\":\n",
" agent_logs.append(span.attributes)\n",
"\n",
"pprint(agent_logs)"
]
},
{
"cell_type": "markdown",
"id": "QF30H7ufP2RE",
"metadata": {
"id": "QF30H7ufP2RE"
},
"source": [
"##### 3.1.3 Post-Process Telemetry Results & Evaluate\n",
"\n",
"- Now, we want to run evaluation to assert that our search agent succesfully calls brave_search from online traces.\n",
"- We will first post-process the agent's telemetry logs and run evaluation."
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "sy4Xaff_Avuu",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 432
},
"id": "sy4Xaff_Avuu",
"outputId": "1b14b5ed-4c77-47c4-edfb-1c13a88e5ef4"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1m[\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m: \u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"What is the British-American kickboxer Andrew Tate\\'s kickboxing name?\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m: \u001b[32m\"content: tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32mToolCall\u001b[0m\u001b[32m(\u001b[0m\u001b[32mcall_id\u001b[0m\u001b[32m='44705eaf-b371-4841-b0ee-5eb21a5d7f36', \u001b[0m\u001b[32mtool_name\u001b[0m\u001b[32m=\u001b[0m\u001b[32m<\u001b[0m\u001b[32mBuiltinTool.brave_search:\u001b[0m\u001b[32m 'brave_search'>, \u001b[0m\u001b[32marguments\u001b[0m\u001b[32m=\u001b[0m\u001b[32m{\u001b[0m\u001b[32m'query': 'Andrew Tate kickboxing name'\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\"\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'brave_search'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m\"content: tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32mToolCall\u001b[0m\u001b[32m(\u001b[0m\u001b[32mcall_id\u001b[0m\u001b[32m='b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d', \u001b[0m\u001b[32mtool_name\u001b[0m\u001b[32m=<BuiltinTool.brave_search: 'brave_search'>, \u001b[0m\u001b[32marguments\u001b[0m\u001b[32m=\u001b[0m\u001b[32m{\u001b[0m\u001b[32m'query': 'NBA Western Conference Finals 2024 teams'\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\"\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'brave_search'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m}\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1;39m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'input_query'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m'\u001b[0m\u001b[32m{\u001b[0m\u001b[32m\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby \u001b[0m\u001b[32m(\u001b[0m\u001b[32mBSM-471\u001b[0m\u001b[32m)\u001b[0m\u001b[32m first appear? Give me the number and title.\",\"context\":null\u001b[0m\u001b[32m}\u001b[0m\u001b[32m'\u001b[0m\u001b[39m,\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'generated_answer'\u001b[0m\u001b[39m: \u001b[0m\u001b[32m\"content: tool_calls: \u001b[0m\u001b[32m[\u001b[0m\u001b[32mToolCall\u001b[0m\u001b[32m(\u001b[0m\u001b[32mcall_id\u001b[0m\u001b[32m='1e487e8e-a15f-4137-854a-1d4979a70b8c', \u001b[0m\u001b[32mtool_name\u001b[0m\u001b[32m=<BuiltinTool.brave_search: 'brave_search'\u001b[0m\u001b[32m>\u001b[0m\u001b[32m, \u001b[0m\u001b[32marguments\u001b[0m\u001b[32m=\u001b[0m\u001b[32m{\u001b[0m\u001b[32m'query': 'Bill Cosby South Park episode'\u001b[0m\u001b[32m}\u001b[0m\u001b[32m)\u001b[0m\u001b[32m]\u001b[0m\u001b[32m\"\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'expected_answer'\u001b[0m: \u001b[32m'brave_search'\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n",
"\u001b[1m]\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input_query'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"What is the British-American kickboxer Andrew Tate\\'s kickboxing name?\",\"context\":null}'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'generated_answer'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">\"content: tool_calls: [ToolCall(call_id='44705eaf-b371-4841-b0ee-5eb21a5d7f36', tool_name=&lt;BuiltinTool.brave_search: 'brave_search'&gt;, arguments={'query': 'Andrew Tate kickboxing name'})]\"</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'expected_answer'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'brave_search'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input_query'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"Which teams played in the NBA western conference finals of 2024\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'generated_answer'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">\"content: tool_calls: [ToolCall(call_id='b7d9e0dd-4d6d-47db-9d81-3d7834f6e53d', tool_name=&lt;BuiltinTool.brave_search: 'brave_search'&gt;, arguments={'query': 'NBA Western Conference Finals 2024 teams'})]\"</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'expected_answer'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'brave_search'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">}</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #000000; text-decoration-color: #000000; font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'input_query'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">'{\"role\":\"user\",\"content\":\"In which episode and season of South Park does Bill Cosby (BSM-471) first appear? Give me the number and title.\",\"context\":null}'</span><span style=\"color: #000000; text-decoration-color: #000000\">,</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'generated_answer'</span><span style=\"color: #000000; text-decoration-color: #000000\">: </span><span style=\"color: #008000; text-decoration-color: #008000\">\"content: tool_calls: [ToolCall(call_id='1e487e8e-a15f-4137-854a-1d4979a70b8c', tool_name=&lt;BuiltinTool.brave_search: 'brave_search'&gt;, arguments={'query': 'Bill Cosby South Park episode'})]\"</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'expected_answer'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'brave_search'</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">}</span>\n",
"<span style=\"font-weight: bold\">]</span>\n",
"</pre>\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m3.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m3\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m, \u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ScoringScoreResponse</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">results</span>=<span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'basic::subset_of'</span>: <span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ScoringResult</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">aggregated_results</span>=<span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'accuracy'</span>: <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'accuracy'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'num_correct'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3.0</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'num_total'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span><span style=\"font-weight: bold\">}}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">score_rows</span>=<span style=\"font-weight: bold\">[{</span><span style=\"color: #008000; text-decoration-color: #008000\">'score'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span><span style=\"font-weight: bold\">}</span>, <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'score'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span><span style=\"font-weight: bold\">}</span>, <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'score'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span><span style=\"font-weight: bold\">}]</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"font-weight: bold\">)</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">}</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
}
],
"source": [
"# post-process telemetry spance and prepare data for eval\n",
"# in this case, we want to assert that all user prompts is followed by a tool call\n",
"import ast\n",
"import json\n",
"\n",
"eval_rows = []\n",
"\n",
"for log in agent_logs:\n",
" last_msg = log['input'][-1]\n",
" if \"\\\"role\\\":\\\"user\\\"\" in last_msg:\n",
" eval_rows.append(\n",
" {\n",
" \"input_query\": last_msg,\n",
" \"generated_answer\": log[\"output\"],\n",
" # check if generated_answer uses tools brave_search\n",
" \"expected_answer\": \"brave_search\",\n",
" },\n",
" )\n",
"\n",
"pprint(eval_rows)\n",
"scoring_params = {\n",
" \"basic::subset_of\": None,\n",
"}\n",
"scoring_response = client.scoring.score(input_rows=eval_rows, scoring_functions=scoring_params)\n",
"pprint(scoring_response)"
]
},
{
"cell_type": "markdown",
"id": "IKbzhxcw5e_c",
"metadata": {
"id": "IKbzhxcw5e_c"
},
"source": [
"#### 3.2. Agentic Application Dataset Scoring\n",
"- Llama Stack offers a library of scoring functions and the `/scoring` API, allowing you to run evaluations on your pre-annotated AI application datasets.\n",
"\n",
"- In this example, we will work with an example RAG dataset you have built previously, label with an annotation, and use LLM-As-Judge with custom judge prompt for scoring. Please checkout our [Llama Stack Playground](https://llama-stack.readthedocs.io/en/latest/playground/index.html) for an interactive interface to upload datasets and run scorings."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "xG4Y84VQBb0g",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 304
},
"id": "xG4Y84VQBb0g",
"outputId": "cf7dcecc-a81d-4c60-af5e-b36b8fe85c69"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"\u001b[1;35mScoringScoreResponse\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[33mresults\u001b[0m=\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'llm-as-judge::base'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\n",
"\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m{\u001b[0m\n",
"\u001b[2;32m│ │ │ │ │ \u001b[0m\u001b[32m'score'\u001b[0m: \u001b[32m'B'\u001b[0m,\n",
"\u001b[2;32m│ │ │ │ │ \u001b[0m\u001b[32m'judge_feedback'\u001b[0m: \u001b[32m\"Answer: B, Explanation: The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE as it provides more detailed information about the topics related to LoRA \u001b[0m\u001b[32m(\u001b[0m\u001b[32malthough it does list more than one topic as does not exactly follow the desired format of only giving one 'topic', while the EXPECTED_RESPONSE simply lists 'LoRA'\u001b[0m\u001b[32m)\u001b[0m\u001b[32m.\"\u001b[0m\n",
"\u001b[2;32m│ │ │ │ \u001b[0m\u001b[1m}\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[1m]\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m,\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[32m'basic::subset_of'\u001b[0m: \u001b[1;35mScoringResult\u001b[0m\u001b[1m(\u001b[0m\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[33maggregated_results\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'accuracy'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_correct'\u001b[0m: \u001b[1;36m1.0\u001b[0m, \u001b[32m'num_total'\u001b[0m: \u001b[1;36m1\u001b[0m\u001b[1m}\u001b[0m\u001b[1m}\u001b[0m,\n",
"\u001b[2;32m│ │ │ \u001b[0m\u001b[33mscore_rows\u001b[0m=\u001b[1m[\u001b[0m\u001b[1m{\u001b[0m\u001b[32m'score'\u001b[0m: \u001b[1;36m1.0\u001b[0m\u001b[1m}\u001b[0m\u001b[1m]\u001b[0m\n",
"\u001b[2;32m│ │ \u001b[0m\u001b[1m)\u001b[0m\n",
"\u001b[2;32m│ \u001b[0m\u001b[1m}\u001b[0m\n",
"\u001b[1m)\u001b[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ScoringScoreResponse</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"color: #808000; text-decoration-color: #808000\">results</span>=<span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'llm-as-judge::base'</span>: <span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ScoringResult</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">aggregated_results</span>=<span style=\"font-weight: bold\">{}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">score_rows</span>=<span style=\"font-weight: bold\">[</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ │ </span><span style=\"font-weight: bold\">{</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'score'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'B'</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ │ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'judge_feedback'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">\"Answer: B, Explanation: The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE as it provides more detailed information about the topics related to LoRA (although it does list more than one topic as does not exactly follow the desired format of only giving one 'topic', while the EXPECTED_RESPONSE simply lists 'LoRA').\"</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ │ </span><span style=\"font-weight: bold\">}</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"font-weight: bold\">]</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"font-weight: bold\">)</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"color: #008000; text-decoration-color: #008000\">'basic::subset_of'</span>: <span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">ScoringResult</span><span style=\"font-weight: bold\">(</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">aggregated_results</span>=<span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'accuracy'</span>: <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'accuracy'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'num_correct'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'num_total'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">}}</span>,\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ │ </span><span style=\"color: #808000; text-decoration-color: #808000\">score_rows</span>=<span style=\"font-weight: bold\">[{</span><span style=\"color: #008000; text-decoration-color: #008000\">'score'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1.0</span><span style=\"font-weight: bold\">}]</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ │ </span><span style=\"font-weight: bold\">)</span>\n",
"<span style=\"color: #7fbf7f; text-decoration-color: #7fbf7f\">│ </span><span style=\"font-weight: bold\">}</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {}
}
],
"source": [
"import rich\n",
"from rich.pretty import pprint\n",
"\n",
"judge_model_id = \"meta-llama/Llama-3.1-405B-Instruct-FP8\"\n",
"\n",
"JUDGE_PROMPT = \"\"\"\n",
"Given a QUESTION and GENERATED_RESPONSE and EXPECTED_RESPONSE.\n",
"\n",
"Compare the factual content of the GENERATED_RESPONSE with the EXPECTED_RESPONSE. Ignore any differences in style, grammar, or punctuation.\n",
" The GENERATED_RESPONSE may either be a subset or superset of the EXPECTED_RESPONSE, or it may conflict with it. Determine which case applies. Answer the question by selecting one of the following options:\n",
" (A) The GENERATED_RESPONSE is a subset of the EXPECTED_RESPONSE and is fully consistent with it.\n",
" (B) The GENERATED_RESPONSE is a superset of the EXPECTED_RESPONSE and is fully consistent with it.\n",
" (C) The GENERATED_RESPONSE contains all the same details as the EXPECTED_RESPONSE.\n",
" (D) There is a disagreement between the GENERATED_RESPONSE and the EXPECTED_RESPONSE.\n",
" (E) The answers differ, but these differences don't matter from the perspective of factuality.\n",
"\n",
"Give your answer in the format \"Answer: One of ABCDE, Explanation: \".\n",
"\n",
"Your actual task:\n",
"\n",
"QUESTION: {input_query}\n",
"GENERATED_RESPONSE: {generated_answer}\n",
"EXPECTED_RESPONSE: {expected_answer}\n",
"\"\"\"\n",
"\n",
"input_query = \"What are the top 5 topics that were explained? Only list succinct bullet points.\"\n",
"generated_answer = \"\"\"\n",
"Here are the top 5 topics that were explained in the documentation for Torchtune:\n",
"\n",
"* What is LoRA and how does it work?\n",
"* Fine-tuning with LoRA: memory savings and parameter-efficient finetuning\n",
"* Running a LoRA finetune with Torchtune: overview and recipe\n",
"* Experimenting with different LoRA configurations: rank, alpha, and attention modules\n",
"* LoRA finetuning\n",
"\"\"\"\n",
"expected_answer = \"\"\"LoRA\"\"\"\n",
"\n",
"rows = [\n",
" {\n",
" \"input_query\": input_query,\n",
" \"generated_answer\": generated_answer,\n",
" \"expected_answer\": expected_answer,\n",
" },\n",
"]\n",
"\n",
"scoring_params = {\n",
" \"llm-as-judge::base\": {\n",
" \"judge_model\": judge_model_id,\n",
" \"prompt_template\": JUDGE_PROMPT,\n",
" \"type\": \"llm_as_judge\",\n",
" \"judge_score_regexes\": [\"Answer: (A|B|C|D|E)\"],\n",
" },\n",
" \"basic::subset_of\": None,\n",
"}\n",
"\n",
"response = client.scoring.score(input_rows=rows, scoring_functions=scoring_params)\n",
"pprint(response)"
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"gpuType": "T4",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"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.10.15"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"88f0c88612bb45d59f07e93567cc0e14": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_9b24a82117e1482a8f6665978e84089c",
"IPY_MODEL_8e75bf7cac454eeabd5ce47a1e981c68",
"IPY_MODEL_fc272883566541108f83117ccd146a21"
],
"layout": "IPY_MODEL_2e27a025a416434f8ab3b63049626d11"
}
},
"9b24a82117e1482a8f6665978e84089c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_3a46a46bc8124a92b27aef43cbc009b6",
"placeholder": "",
"style": "IPY_MODEL_4ad6bc0cca62446d8faf19a341bfa86f",
"value": "modules.json:100%"
}
},
"8e75bf7cac454eeabd5ce47a1e981c68": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_6437c99289f947449f7d2964288973e5",
"max": 349,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_e2f7dea8fc744537b42d0f1a85a73eb4",
"value": 349
}
},
"fc272883566541108f83117ccd146a21": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_1377d2160344430da8f29a50d113a288",
"placeholder": "",
"style": "IPY_MODEL_0c0b30e126724f9282ac5acbcb4581db",
"value": "349/349[00:00&lt;00:00,7.72kB/s]"
}
},
"2e27a025a416434f8ab3b63049626d11": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"3a46a46bc8124a92b27aef43cbc009b6": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"4ad6bc0cca62446d8faf19a341bfa86f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"6437c99289f947449f7d2964288973e5": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"e2f7dea8fc744537b42d0f1a85a73eb4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"1377d2160344430da8f29a50d113a288": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"0c0b30e126724f9282ac5acbcb4581db": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"895efd0b6d9f4b319159703d965d1966": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_dece6dff65394a5f93585c73359d4dad",
"IPY_MODEL_1030c0848635497681cc9ff0c344fb1a",
"IPY_MODEL_fa6ecaab432347de8427b9b5ac3d4524"
],
"layout": "IPY_MODEL_5effefa8e3764e3aaff57fe0197a7c96"
}
},
"dece6dff65394a5f93585c73359d4dad": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_1756eceba2c34c1ca182b7db465e95ce",
"placeholder": "",
"style": "IPY_MODEL_0fd62e56e0bb41a996c04e63381d2a29",
"value": "config_sentence_transformers.json:100%"
}
},
"1030c0848635497681cc9ff0c344fb1a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_29badfc2eb0345d38d7cfc6c7f8bb1a8",
"max": 116,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_e64cedb4560a43d8a43f36002087ac30",
"value": 116
}
},
"fa6ecaab432347de8427b9b5ac3d4524": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_45aadb26b382460eb5b6b147509fb75a",
"placeholder": "",
"style": "IPY_MODEL_130f2f5840764e8dbd573cc8a6ea6f5f",
"value": "116/116[00:00&lt;00:00,3.35kB/s]"
}
},
"5effefa8e3764e3aaff57fe0197a7c96": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"1756eceba2c34c1ca182b7db465e95ce": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"0fd62e56e0bb41a996c04e63381d2a29": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"29badfc2eb0345d38d7cfc6c7f8bb1a8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"e64cedb4560a43d8a43f36002087ac30": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"45aadb26b382460eb5b6b147509fb75a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"130f2f5840764e8dbd573cc8a6ea6f5f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"9ee45247ec144bb3aafe4208f316063f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_da330e0999cb4c3c91a1cb1026304568",
"IPY_MODEL_ff58a5381fb74cb1b9efc10f5c2738d6",
"IPY_MODEL_18ed62b1d4594ed9a2651fa5df046efc"
],
"layout": "IPY_MODEL_4004cda1d84949f5a380536f8a9d0274"
}
},
"da330e0999cb4c3c91a1cb1026304568": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_54bddcf41c5641b7a56c981aadb62ef1",
"placeholder": "",
"style": "IPY_MODEL_a9a0d8415d9d4e98a3f02ae8ec1053da",
"value": "README.md:100%"
}
},
"ff58a5381fb74cb1b9efc10f5c2738d6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_cceff1126242494bab432205c7ac7345",
"max": 10659,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_e6e53c439dab4639adc1c3c873602476",
"value": 10659
}
},
"18ed62b1d4594ed9a2651fa5df046efc": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_95db8eab3f964edf99038ad53f41fabc",
"placeholder": "",
"style": "IPY_MODEL_52f1d69c6cd04816b6f34657893ae32b",
"value": "10.7k/10.7k[00:00&lt;00:00,223kB/s]"
}
},
"4004cda1d84949f5a380536f8a9d0274": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"54bddcf41c5641b7a56c981aadb62ef1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"a9a0d8415d9d4e98a3f02ae8ec1053da": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"cceff1126242494bab432205c7ac7345": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"e6e53c439dab4639adc1c3c873602476": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"95db8eab3f964edf99038ad53f41fabc": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"52f1d69c6cd04816b6f34657893ae32b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"b79a1dfcf2904bcba332569dbf351f34": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_7363b1a9a1b54a57bf15357e897128fd",
"IPY_MODEL_3ac596104cdc4439b3980f7ce66ad080",
"IPY_MODEL_5c9ec25994914acd8e13866b3eb943e1"
],
"layout": "IPY_MODEL_38a958036c6e4155815a8169f1be1e53"
}
},
"7363b1a9a1b54a57bf15357e897128fd": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_cf5113a647ce45c4a3a523361aa3b5af",
"placeholder": "",
"style": "IPY_MODEL_da8c20a65ba541bda058614849d5cfe2",
"value": "sentence_bert_config.json:100%"
}
},
"3ac596104cdc4439b3980f7ce66ad080": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_40e9f20d74374b0e82c653caa0559d04",
"max": 53,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_f46cfc9237e64db6be2ec6529b61ec88",
"value": 53
}
},
"5c9ec25994914acd8e13866b3eb943e1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_dc04575da46540d4ad3a708e58f0de6a",
"placeholder": "",
"style": "IPY_MODEL_24c0be775e474517a7be49d187822bd0",
"value": "53.0/53.0[00:00&lt;00:00,3.84kB/s]"
}
},
"38a958036c6e4155815a8169f1be1e53": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"cf5113a647ce45c4a3a523361aa3b5af": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"da8c20a65ba541bda058614849d5cfe2": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"40e9f20d74374b0e82c653caa0559d04": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"f46cfc9237e64db6be2ec6529b61ec88": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"dc04575da46540d4ad3a708e58f0de6a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"24c0be775e474517a7be49d187822bd0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"111184729957441d9d1f3d404bd82757": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_be060f9d7a664c17a80510f447c0bee3",
"IPY_MODEL_228445132e5f4b2ca793f4beeeca4426",
"IPY_MODEL_b96a2e34a2af435b9705550fe564591d"
],
"layout": "IPY_MODEL_1f1cdac013af4559889f15eebac5256a"
}
},
"be060f9d7a664c17a80510f447c0bee3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_834ae2d249b94be6bbe5349509536a4b",
"placeholder": "",
"style": "IPY_MODEL_509863a58de74b07b813aa83ffa4a507",
"value": "config.json:100%"
}
},
"228445132e5f4b2ca793f4beeeca4426": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_48a5b775a4324da791603b83d61be7d1",
"max": 612,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_02b60dad91c7482ba70cf8bb954bc4eb",
"value": 612
}
},
"b96a2e34a2af435b9705550fe564591d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_2bfb0fb5506d4285918a9c94af9ab5d1",
"placeholder": "",
"style": "IPY_MODEL_0f699b0f99484a8ba2eb17bb1d621c5a",
"value": "612/612[00:00&lt;00:00,47.5kB/s]"
}
},
"1f1cdac013af4559889f15eebac5256a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"834ae2d249b94be6bbe5349509536a4b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"509863a58de74b07b813aa83ffa4a507": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"48a5b775a4324da791603b83d61be7d1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"02b60dad91c7482ba70cf8bb954bc4eb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"2bfb0fb5506d4285918a9c94af9ab5d1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"0f699b0f99484a8ba2eb17bb1d621c5a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"c6f34317390e4f90b16235f2ae84a981": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_3da95c8814f34472a181ce7687f9e15e",
"IPY_MODEL_4d1c2de4c1354ef0b84c54c447141707",
"IPY_MODEL_31ab98e0e375416b83b36a98d4958f57"
],
"layout": "IPY_MODEL_8b9ebe06b4e045a29269128ec97d9f62"
}
},
"3da95c8814f34472a181ce7687f9e15e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_53a46fe254924e78876db6dd2e1b7123",
"placeholder": "",
"style": "IPY_MODEL_f2ce01983f0a4f12b318e6d29f1dd4a1",
"value": "model.safetensors:100%"
}
},
"4d1c2de4c1354ef0b84c54c447141707": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_1b7af9f7204547b8b4a718a780af0ded",
"max": 90868376,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_a4bb5a59d1324585b0a34c9bb2820b7f",
"value": 90868376
}
},
"31ab98e0e375416b83b36a98d4958f57": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_90c2e0e012a94521b9f5cb24924771d8",
"placeholder": "",
"style": "IPY_MODEL_2563a4677dde47d0a2f7fba5c5dde358",
"value": "90.9M/90.9M[00:00&lt;00:00,223MB/s]"
}
},
"8b9ebe06b4e045a29269128ec97d9f62": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"53a46fe254924e78876db6dd2e1b7123": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"f2ce01983f0a4f12b318e6d29f1dd4a1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"1b7af9f7204547b8b4a718a780af0ded": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"a4bb5a59d1324585b0a34c9bb2820b7f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"90c2e0e012a94521b9f5cb24924771d8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"2563a4677dde47d0a2f7fba5c5dde358": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"5023c2b8cf9846069d116237826fed7f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_960c2f44166b4ac7910af6512832186f",
"IPY_MODEL_309ea9620a674088a5207206d9a52d54",
"IPY_MODEL_1c86d856083c4ef99976849c7a1c9100"
],
"layout": "IPY_MODEL_5d9bf2102da143c1b9e1483e05add4e5"
}
},
"960c2f44166b4ac7910af6512832186f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_85569eaf3ae3488b808131cd460f6514",
"placeholder": "",
"style": "IPY_MODEL_3015bc3ce98a4221a9dd3be92481435d",
"value": "tokenizer_config.json:100%"
}
},
"309ea9620a674088a5207206d9a52d54": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_4d7b0983b97f48b2a333d5b2a4ec50a8",
"max": 350,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_e834a64e49534c3586cb77f4ec5eab2d",
"value": 350
}
},
"1c86d856083c4ef99976849c7a1c9100": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_67f82b82ebb74d0fb3c68b9c8c57d690",
"placeholder": "",
"style": "IPY_MODEL_b710cb57f19d4490a740c060e8a83b90",
"value": "350/350[00:00&lt;00:00,26.0kB/s]"
}
},
"5d9bf2102da143c1b9e1483e05add4e5": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"85569eaf3ae3488b808131cd460f6514": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"3015bc3ce98a4221a9dd3be92481435d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"4d7b0983b97f48b2a333d5b2a4ec50a8": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"e834a64e49534c3586cb77f4ec5eab2d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"67f82b82ebb74d0fb3c68b9c8c57d690": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"b710cb57f19d4490a740c060e8a83b90": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"713c09d1275a43b0af7c2ae8e126517f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_b62fe08114f549ea99808e8df95c7cad",
"IPY_MODEL_af722d177320422e97c679b24cb754f6",
"IPY_MODEL_487477e023b64947bf42f83dc6275ef1"
],
"layout": "IPY_MODEL_bcf0d3af3bc0439e97023937852941e9"
}
},
"b62fe08114f549ea99808e8df95c7cad": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_d83a1e1e678e4efd83115f9aee0ffc8d",
"placeholder": "",
"style": "IPY_MODEL_f210583576594e759387fc704695ad09",
"value": "vocab.txt:100%"
}
},
"af722d177320422e97c679b24cb754f6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_91e103573c034ceda689047c61294b17",
"max": 231508,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_b9eac61fb55342f4bf9834f321899836",
"value": 231508
}
},
"487477e023b64947bf42f83dc6275ef1": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_a92a7bce961e4291b126fda3c540636b",
"placeholder": "",
"style": "IPY_MODEL_01b3e7803d1946118d27acda0c067da2",
"value": "232k/232k[00:00&lt;00:00,550kB/s]"
}
},
"bcf0d3af3bc0439e97023937852941e9": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"d83a1e1e678e4efd83115f9aee0ffc8d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"f210583576594e759387fc704695ad09": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"91e103573c034ceda689047c61294b17": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"b9eac61fb55342f4bf9834f321899836": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"a92a7bce961e4291b126fda3c540636b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"01b3e7803d1946118d27acda0c067da2": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"f097b32928f246de9b01fea6f9b092f7": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_35e10db3906248ffa8ab955d2f53bd75",
"IPY_MODEL_80e884cae6ea42eaa37f028120963355",
"IPY_MODEL_25821e7aef4e481bbdf3b4698ce3c277"
],
"layout": "IPY_MODEL_916190b4615e4c5c9f3e55c0804a3502"
}
},
"35e10db3906248ffa8ab955d2f53bd75": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_1f1dc0d20cae46feb372203aea6458a0",
"placeholder": "",
"style": "IPY_MODEL_43feace0290a47c0b06c3a1c08cc70a9",
"value": "tokenizer.json:100%"
}
},
"80e884cae6ea42eaa37f028120963355": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_9f185162847f4cb2828af81c92116582",
"max": 466247,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_3a649adc22694036b35bab04ff03d338",
"value": 466247
}
},
"25821e7aef4e481bbdf3b4698ce3c277": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_7daef1502e2a4140ac021b3b3a6aa12d",
"placeholder": "",
"style": "IPY_MODEL_1307ef0325bb433d8a1bcc653c7fb291",
"value": "466k/466k[00:00&lt;00:00,2.16MB/s]"
}
},
"916190b4615e4c5c9f3e55c0804a3502": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"1f1dc0d20cae46feb372203aea6458a0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"43feace0290a47c0b06c3a1c08cc70a9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"9f185162847f4cb2828af81c92116582": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"3a649adc22694036b35bab04ff03d338": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"7daef1502e2a4140ac021b3b3a6aa12d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"1307ef0325bb433d8a1bcc653c7fb291": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"f01d7a1404a943a08c84adce14a262c7": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_f15cdedf8e7b4a44993644a5ff070e78",
"IPY_MODEL_b7f9a3c97f2043f380bdc1827961c649",
"IPY_MODEL_0b64892a98d14a3b85b128df77d8e7d6"
],
"layout": "IPY_MODEL_8de1cba3a7c0422eb2a21e3f8b2059c7"
}
},
"f15cdedf8e7b4a44993644a5ff070e78": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_a0639d5360044f97ac5b9374c735ff4b",
"placeholder": "",
"style": "IPY_MODEL_9b11eaf2d50a447384b75eb7f73829eb",
"value": "special_tokens_map.json:100%"
}
},
"b7f9a3c97f2043f380bdc1827961c649": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_8ab411217bfd486ca3fb8b885fff4690",
"max": 112,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_c80ea8c54211427087712b5500e26edf",
"value": 112
}
},
"0b64892a98d14a3b85b128df77d8e7d6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_542aa4a847cf4a66a4b3fc93c241363b",
"placeholder": "",
"style": "IPY_MODEL_8c0d69b735c94b719160d39256c643cc",
"value": "112/112[00:00&lt;00:00,6.51kB/s]"
}
},
"8de1cba3a7c0422eb2a21e3f8b2059c7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"a0639d5360044f97ac5b9374c735ff4b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"9b11eaf2d50a447384b75eb7f73829eb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"8ab411217bfd486ca3fb8b885fff4690": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"c80ea8c54211427087712b5500e26edf": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"542aa4a847cf4a66a4b3fc93c241363b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"8c0d69b735c94b719160d39256c643cc": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"3c868641db934c67a44e1d26e1a17756": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_a72d01788b484bbeb4375aac3ceadf34",
"IPY_MODEL_366add01dc734455a384460c97491215",
"IPY_MODEL_70accb92e645435b8f1e0c48538f7473"
],
"layout": "IPY_MODEL_628848757fcf443e806a8f25013cc2b5"
}
},
"a72d01788b484bbeb4375aac3ceadf34": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_ebf411690c844daf89b87c120e3cb67e",
"placeholder": "",
"style": "IPY_MODEL_79b9fb75dc1d486c9fc881a90b6f1060",
"value": "1_Pooling/config.json:100%"
}
},
"366add01dc734455a384460c97491215": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_0f3bbf28fbed4e97b660bbf3c66a214a",
"max": 190,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_a4b2220ed47f4f85b3f991c92de98964",
"value": 190
}
},
"70accb92e645435b8f1e0c48538f7473": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_b6a505e6c863409db1b906423f99125a",
"placeholder": "",
"style": "IPY_MODEL_d9560d20106a42ec904e7e315f99ff01",
"value": "190/190[00:00&lt;00:00,9.18kB/s]"
}
},
"628848757fcf443e806a8f25013cc2b5": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"ebf411690c844daf89b87c120e3cb67e": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"79b9fb75dc1d486c9fc881a90b6f1060": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"0f3bbf28fbed4e97b660bbf3c66a214a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"a4b2220ed47f4f85b3f991c92de98964": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"b6a505e6c863409db1b906423f99125a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"d9560d20106a42ec904e7e315f99ff01": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"edc4d84302f746d39a43e8107af6b67b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_980292182c7144e194604c13ac544a26",
"IPY_MODEL_8dee873065a047799a04e49ab791e449",
"IPY_MODEL_29683ef34d5646c687118a2a0cdec6d4"
],
"layout": "IPY_MODEL_3ec694106303491ea112a257309bc69c"
}
},
"980292182c7144e194604c13ac544a26": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_288c9da81b3c4d80a4959753da973f58",
"placeholder": "",
"style": "IPY_MODEL_cf453a1ed54645aba656f9a3f1461e69",
"value": "Batches:100%"
}
},
"8dee873065a047799a04e49ab791e449": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_ec747bd7c37c45298896c513634cd59a",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_5a620017a5384af1a056de687b2670db",
"value": 1
}
},
"29683ef34d5646c687118a2a0cdec6d4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_8d370762fafd4d7887ff68ea8279d083",
"placeholder": "",
"style": "IPY_MODEL_b6a0eb553b024a71b737ff47ca8f7633",
"value": "1/1[00:01&lt;00:00,1.24s/it]"
}
},
"3ec694106303491ea112a257309bc69c": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"288c9da81b3c4d80a4959753da973f58": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"cf453a1ed54645aba656f9a3f1461e69": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"ec747bd7c37c45298896c513634cd59a": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"5a620017a5384af1a056de687b2670db": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"8d370762fafd4d7887ff68ea8279d083": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"b6a0eb553b024a71b737ff47ca8f7633": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"2eff72cbd9bb4f1ca77213602caa9417": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_e82b5196209f4b9f919c7abb402a4504",
"IPY_MODEL_fe34706489c14253a5015ff6332ec4e0",
"IPY_MODEL_2574b07e4af24715aa89d048cc84e358"
],
"layout": "IPY_MODEL_10bc8be68b5545fd8609824b02499ebf"
}
},
"e82b5196209f4b9f919c7abb402a4504": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_d2473b7a6c5b4483981516af2fc59bde",
"placeholder": "",
"style": "IPY_MODEL_4282ee7d947e426ba863df9970e82f3f",
"value": "Batches:100%"
}
},
"fe34706489c14253a5015ff6332ec4e0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_cfe6be8fd8254bc084a81b1d06e86ae1",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_1817f6732a5f44c7adc75a644b1acef2",
"value": 1
}
},
"2574b07e4af24715aa89d048cc84e358": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_7551b282ef3a4387a801637de2d5c76e",
"placeholder": "",
"style": "IPY_MODEL_69e5263c812c4542a9e5c31fefaa37fe",
"value": "1/1[00:00&lt;00:00,15.08it/s]"
}
},
"10bc8be68b5545fd8609824b02499ebf": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"d2473b7a6c5b4483981516af2fc59bde": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"4282ee7d947e426ba863df9970e82f3f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"cfe6be8fd8254bc084a81b1d06e86ae1": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"1817f6732a5f44c7adc75a644b1acef2": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"7551b282ef3a4387a801637de2d5c76e": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"69e5263c812c4542a9e5c31fefaa37fe": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"7cc356ed20e94401b72a0e138ad0f5df": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_acd39276db17439798a97abc56460b0f",
"IPY_MODEL_bda474c3b8184597a6a9bc6da0672a50",
"IPY_MODEL_20a66f9de4ed41c7ac9a8e817898ed9e"
],
"layout": "IPY_MODEL_e662ba10fbae49d9b66172125dfc0717"
}
},
"acd39276db17439798a97abc56460b0f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_d452b32c54e14e41a17fd7d51862ba8e",
"placeholder": "",
"style": "IPY_MODEL_d1f8f4568a444248b69022d58e3f1af0",
"value": "Batches:100%"
}
},
"bda474c3b8184597a6a9bc6da0672a50": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_0c2e30d78c234b1b8098d879442d3bac",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_9bb8bf12010f42b2b17c10c7ccaa7bf8",
"value": 1
}
},
"20a66f9de4ed41c7ac9a8e817898ed9e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_2b2046db907349798e3ae774c15b25d2",
"placeholder": "",
"style": "IPY_MODEL_3c18f449359f422f950543bd976fe323",
"value": "1/1[00:00&lt;00:00,18.91it/s]"
}
},
"e662ba10fbae49d9b66172125dfc0717": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"d452b32c54e14e41a17fd7d51862ba8e": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"d1f8f4568a444248b69022d58e3f1af0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"0c2e30d78c234b1b8098d879442d3bac": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"9bb8bf12010f42b2b17c10c7ccaa7bf8": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"2b2046db907349798e3ae774c15b25d2": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"3c18f449359f422f950543bd976fe323": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"472b1acc4c5a4c48b2ec62be42d1830c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_44e34588d6854737b0fb14b4b6a62a95",
"IPY_MODEL_03402ad03418435ca7a550e3246cd300",
"IPY_MODEL_811f115733b14ab4b242a8b11526016c"
],
"layout": "IPY_MODEL_e61fdef1dc4b4d809168c0b441b0e6ac"
}
},
"44e34588d6854737b0fb14b4b6a62a95": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_631c9a95127244c79875c829a7637df6",
"placeholder": "",
"style": "IPY_MODEL_d25492ad867141bfa8d957d2464b8639",
"value": "Batches:100%"
}
},
"03402ad03418435ca7a550e3246cd300": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_9df914248c214597bed7d7980c7a0afe",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_4709067f3f554b93b3ef35e3f58cbf85",
"value": 1
}
},
"811f115733b14ab4b242a8b11526016c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_02baf670942347d69c290452de8641e4",
"placeholder": "",
"style": "IPY_MODEL_7611cfc7965649ba88ca57c1a9f9ccf3",
"value": "1/1[00:00&lt;00:00,13.00it/s]"
}
},
"e61fdef1dc4b4d809168c0b441b0e6ac": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"631c9a95127244c79875c829a7637df6": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"d25492ad867141bfa8d957d2464b8639": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"9df914248c214597bed7d7980c7a0afe": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"4709067f3f554b93b3ef35e3f58cbf85": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"02baf670942347d69c290452de8641e4": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"7611cfc7965649ba88ca57c1a9f9ccf3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"15ae23892b634a9f821a8fcee14e500b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"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_b28d46c2ecdd46b9b3f2da871afbf1cb",
"IPY_MODEL_4b83e3caa8ec47169dca04ee9599adeb",
"IPY_MODEL_c83c23161674484e81f0db9856c23eb6"
],
"layout": "IPY_MODEL_3ded85d9c34246e88f8ce693eb8025e5"
}
},
"b28d46c2ecdd46b9b3f2da871afbf1cb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_0ac8e976a32c4f5989392b8088546e00",
"placeholder": "",
"style": "IPY_MODEL_ed4b0035752546cc81688a7a77ba27c0",
"value": "Batches:100%"
}
},
"4b83e3caa8ec47169dca04ee9599adeb": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"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_269b1ad9dc7b4ebb94d7364c75f3f324",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_2256ddab0ae1408abb10ba211a08f794",
"value": 1
}
},
"c83c23161674484e81f0db9856c23eb6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"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_42335bcbc6ee40a79d36c5159cc7da06",
"placeholder": "",
"style": "IPY_MODEL_cf694e1b797246b096ae588973dc985f",
"value": "1/1[00:00&lt;00:00,14.00it/s]"
}
},
"3ded85d9c34246e88f8ce693eb8025e5": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"0ac8e976a32c4f5989392b8088546e00": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"ed4b0035752546cc81688a7a77ba27c0": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"269b1ad9dc7b4ebb94d7364c75f3f324": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"2256ddab0ae1408abb10ba211a08f794": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
},
"42335bcbc6ee40a79d36c5159cc7da06": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"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
}
},
"cf694e1b797246b096ae588973dc985f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"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": ""
}
}
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}