diff --git "a/unit2/smolagents/code_agents copy.ipynb" "b/unit2/smolagents/code_agents copy.ipynb" new file mode 100644--- /dev/null +++ "b/unit2/smolagents/code_agents copy.ipynb" @@ -0,0 +1,6597 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "vSlRv-Eczy9L" + }, + "source": [ + "# Building Agents That Use Code\n", + "\n", + "This notebook is part of the [Hugging Face Agents Course](https://www.hf.co/learn/agents-course), a free Course from beginner to expert, where you learn to build Agents.\n", + "\n", + "\n", + "\n", + "Alfred is planning a party at the Wayne family mansion and needs your help to ensure everything goes smoothly. To assist him, we'll apply what we've learned about how a multi-step `CodeAgent` operates.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fXCVEZC2z3Pf" + }, + "source": [ + "## Let's install the dependencies and login to our HF account to access the Inference API\n", + "\n", + "If you haven't installed `smolagents` yet, you can do so by running the following command:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "u8AXJMCnxm6C" + }, + "outputs": [], + "source": [ + "!pip install smolagents -U" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hcfn1TDmVqqg" + }, + "source": [ + "Let's also login to the Hugging Face Hub to have access to the Inference API." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17, + "referenced_widgets": [ + "c8440f0f2fbf40449334a10ecf4d7175", + "9de15aeaf7fe42daae4d9174a87203c6", + "d03b25d86fe945bea6fe444a4e7cf1ea", + "8967a71ec8904c06b0f47a682c92ac75", + "f5c53c0e0e9642d4a6bd632ff047e795", + "767ebce74c6045faaf4eef46f5c98544", + "b5cf31cf59334f6abb2a2cc219beb75c", + "90eab3e7ff82449aae807c8c6d21a8c7", + "24581a72ea4a46689dd6c698976004b5", + "0878fa625e484e6ba072a77542bca631", + "f5b5901022984eeb9e4879b8924e9f52", + "5f7f59347a3345328bdbc68082179ee4", + "788cc202f6554bf4bea8b24959562702", + "e1a69fec59df4cf08d77a20118182abe", + "98720532974543e28318171773a5e789", + "6c5299be357841e3b7fbbf4ba45a5070", + "6f8b05b0ad5a4a4191f0de288e128bfd", + "d066e058ea1e4f69a059b6105b7755b9", + "5381da72452d473dae067b8b5b96b3fc", + "b79200dd259f402d8a220d80576690b8" + ] + }, + "id": "3TuJYDo2yGZP", + "outputId": "bbe900de-5ced-4a0d-f29d-d21dbdd98dac" + }, + "outputs": [], + "source": [ + "from huggingface_hub import notebook_login\n", + "\n", + "notebook_login()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VcFo_ztwyVA7" + }, + "source": [ + "## Selecting a Playlist for the Party Using `smolagents`\n", + "\n", + "An important part of a successful party is the music. Alfred needs some help selecting the playlist. Luckily, `smolagents` has got us covered! We can build an agent capable of searching the web using DuckDuckGo. To give the agent access to this tool, we include it in the tool list when creating the agent.\n", + "\n", + "For the model, we'll rely on `HfApiModel`, which provides access to Hugging Face's [Inference API](https://huggingface.co/docs/api-inference/index). The default model is `\"Qwen/Qwen2.5-Coder-32B-Instruct\"`, which is performant and available for fast inference, but you can select any compatible model from the Hub.\n", + "\n", + "Running an agent is quite straightforward:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "DeBvQBEpx-VO", + "outputId": "9c715d2d-fa78-4514-bb08-2c7712951cd4" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
╭──────────────────────────────────────────────────── New run ────────────────────────────────────────────────────╮\n", + "│ │\n", + "│ Search for the best music recommendations for a party at the Wayne's mansion. │\n", + "│ │\n", + "╰─ InferenceClientModel - Qwen/Qwen2.5-Coder-32B-Instruct ────────────────────────────────────────────────────────╯\n", + "\n" + ], + "text/plain": [ + "\u001b[38;2;212;183;2m╭─\u001b[0m\u001b[38;2;212;183;2m───────────────────────────────────────────────────\u001b[0m\u001b[38;2;212;183;2m \u001b[0m\u001b[1;38;2;212;183;2mNew run\u001b[0m\u001b[38;2;212;183;2m \u001b[0m\u001b[38;2;212;183;2m───────────────────────────────────────────────────\u001b[0m\u001b[38;2;212;183;2m─╮\u001b[0m\n", + "\u001b[38;2;212;183;2m│\u001b[0m \u001b[38;2;212;183;2m│\u001b[0m\n", + "\u001b[38;2;212;183;2m│\u001b[0m \u001b[1mSearch for the best music recommendations for a party at the Wayne's mansion.\u001b[0m \u001b[38;2;212;183;2m│\u001b[0m\n", + "\u001b[38;2;212;183;2m│\u001b[0m \u001b[38;2;212;183;2m│\u001b[0m\n", + "\u001b[38;2;212;183;2m╰─\u001b[0m\u001b[38;2;212;183;2m InferenceClientModel - Qwen/Qwen2.5-Coder-32B-Instruct \u001b[0m\u001b[38;2;212;183;2m───────────────────────────────────────────────────────\u001b[0m\u001b[38;2;212;183;2m─╯\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Step 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n", + "\n" + ], + "text/plain": [ + "\u001b[38;2;212;183;2m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \u001b[0m\u001b[1mStep \u001b[0m\u001b[1;36m1\u001b[0m\u001b[38;2;212;183;2m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
─ Executing parsed code: ──────────────────────────────────────────────────────────────────────────────────────── \n", + " search_results = web_search(query=\"best music for a mansion party\") \n", + " print(search_results) \n", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── \n", + "\n" + ], + "text/plain": [ + " ─ \u001b[1mExecuting parsed code:\u001b[0m ──────────────────────────────────────────────────────────────────────────────────────── \n", + " \u001b[38;2;248;248;242;48;2;39;40;34msearch_results\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mweb_search\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mquery\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbest music for a mansion party\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msearch_results\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Execution logs:\n",
+ "## Search Results\n",
+ "\n",
+ "[The 75 Best Party Songs That Will Get Everyone Dancing - \n",
+ "Gear4music](https://www.gear4music.com/blog/best-party-songs/)\n",
+ "The best party songs 1. \"September\" - Earth, Wind & Fire (1978) Quite possibly the best party song. An infectious \n",
+ "mix of funk and soul, \"September\" is celebrated for its upbeat melody and \"ba-dee-ya\" chorus, making it a timeless \n",
+ "dance favorite.\n",
+ "\n",
+ "[200 Classic House Party Songs Everyone Knows | The Best ... - \n",
+ "iSpyTunes](https://www.ispytunes.com/post/house-party-songs)\n",
+ "Next, let's get into reviewing 20 of the best songs for your next house party. 1. rockstar by Post Malone (feat. 21\n",
+ "Savage) \"rockstar\" by Post Malone (feat. 21 Savage) is an incredibly popular song with a great instrumental and an \n",
+ "infectious chorus, which makes it a perfect song for playing at parties. The whole song is like a giant energy ...\n",
+ "\n",
+ "[Best Songs To Party: DJ's Ultimate Party Songs Playlist - \n",
+ "Top40Weekly.com](https://top40weekly.com/best-songs-to-party/)\n",
+ "Don't forget the music! We've compiled the best songs to party that are sure to get everyone in the mood to dance \n",
+ "and have a good time. Skip to content. Search for: 1950. Top Songs from 1955; ... a house party, or just jamming \n",
+ "out with friends, this song will ignite the party vibe and create unforgettable memories. 4 - \"Get Lucky ...\n",
+ "\n",
+ "[40 Best Party Songs | Songs To Dance To, Ranked By Our Editors - Time \n",
+ "Out](https://www.timeout.com/music/best-party-songs)\n",
+ "The best is when you go for the extended version, and find yourself in the midst of the intro for about 11 minutes.\n",
+ "But whichever version you go for, this is the party song, in every way. She ...\n",
+ "\n",
+ "[30 Best House Party Songs: The Ultimate \n",
+ "Playlist](https://rageshreemusicinst.org/post/best-songs-to-play-at-a-house-party.html)\n",
+ "Throwing the perfect house party hinges on the perfect soundtrack. Creating the right atmosphere, one that keeps \n",
+ "the energy high and the good times rolling, requires a carefully curated playlist. This isn't just about playing \n",
+ "any old tunes; it's about selecting songs with staying power, tracks that span genres and generations, instantly \n",
+ "...\n",
+ "\n",
+ "[Top 25 House Party Songs of All Time | GrooveNexus](https://www.groovenexus.com/top-playlist/house-party-songs/)\n",
+ "Houses are the safest place to party and hang out with friends while playing the best house party songs. Imagine a \n",
+ "close circle where music truly comes alive and jive up with the house party songs of all time. It is fun to plan \n",
+ "and host an in-house party. We usually come across many iconic videos that people host in their living rooms and \n",
+ "have ...\n",
+ "\n",
+ "[10 Best Songs for a House Party, Ranked 2023 - Tone \n",
+ "Start](https://www.tonestart.com/best-songs-for-a-house-party/)\n",
+ "The record has a great replayable quality and a danceable tempo that makes it one of the best songs for a house \n",
+ "party, in my opinion. 7. Pon de Replay - Rihanna. The instrumental alone is enough to get people moving, and the \n",
+ "record is a staple from the earlier part of Rihanna's career. Released in the late 2000s, the song perfectly ...\n",
+ "\n",
+ "[House Party - 80 Songs - playlist by Spotify](https://open.spotify.com/playlist/37i9dQZF1DXd5DCuoVuFY3)\n",
+ "Playlist · House Party · 80 items · 562.5K saves. Playlist · Spotify · 80 items · 562.5K saves Playlist · House \n",
+ "Party · 80 items · 562.5K saves ... Sign up to get unlimited songs and podcasts with occasional ads. No credit card\n",
+ "needed. Sign up free-:--Change progress-:-- ... First Party Targeting Cookies.\n",
+ "\n",
+ "[17 Best House Songs of All Time: Essential House Tracks](https://leveltunes.com/house-songs-of-all-time/)\n",
+ "Here are the best house songs of all time that you can check out: ... 50 best frat party songs for every DJ. Best \n",
+ "Songs / By TBone 30 Best Songs for Retirement Party. Best Songs / By TBone Search. Search. Recent Posts. History Of\n",
+ "Philippine Music: In-depth journey; 11 Happy Jazz Songs: Swing, Groove, and Smile;\n",
+ "\n",
+ "[Best Party Songs - House Party Music Playlist (Updated in \n",
+ "2025)](https://www.youtube.com/playlist?list=PLo3pNg0eiPc-3MC9VFxy9Kt6eau9ZJTPt)\n",
+ "Best Party Songs - House Party Music Playlist (Updated in 2025) If you liked this playlist, we recommend you also \n",
+ "listen to these music lists: 1. Summer Pool...\n",
+ "\n",
+ "Out: None\n",
+ "
\n"
+ ],
+ "text/plain": [
+ "\u001b[1mExecution logs:\u001b[0m\n",
+ "## Search Results\n",
+ "\n",
+ "[The 75 Best Party Songs That Will Get Everyone Dancing - \n",
+ "Gear4music](https://www.gear4music.com/blog/best-party-songs/)\n",
+ "The best party songs 1. \"September\" - Earth, Wind & Fire (1978) Quite possibly the best party song. An infectious \n",
+ "mix of funk and soul, \"September\" is celebrated for its upbeat melody and \"ba-dee-ya\" chorus, making it a timeless \n",
+ "dance favorite.\n",
+ "\n",
+ "[200 Classic House Party Songs Everyone Knows | The Best ... - \n",
+ "iSpyTunes](https://www.ispytunes.com/post/house-party-songs)\n",
+ "Next, let's get into reviewing 20 of the best songs for your next house party. 1. rockstar by Post Malone (feat. 21\n",
+ "Savage) \"rockstar\" by Post Malone (feat. 21 Savage) is an incredibly popular song with a great instrumental and an \n",
+ "infectious chorus, which makes it a perfect song for playing at parties. The whole song is like a giant energy ...\n",
+ "\n",
+ "[Best Songs To Party: DJ's Ultimate Party Songs Playlist - \n",
+ "Top40Weekly.com](https://top40weekly.com/best-songs-to-party/)\n",
+ "Don't forget the music! We've compiled the best songs to party that are sure to get everyone in the mood to dance \n",
+ "and have a good time. Skip to content. Search for: 1950. Top Songs from 1955; ... a house party, or just jamming \n",
+ "out with friends, this song will ignite the party vibe and create unforgettable memories. 4 - \"Get Lucky ...\n",
+ "\n",
+ "[40 Best Party Songs | Songs To Dance To, Ranked By Our Editors - Time \n",
+ "Out](https://www.timeout.com/music/best-party-songs)\n",
+ "The best is when you go for the extended version, and find yourself in the midst of the intro for about 11 minutes.\n",
+ "But whichever version you go for, this is the party song, in every way. She ...\n",
+ "\n",
+ "[30 Best House Party Songs: The Ultimate \n",
+ "Playlist](https://rageshreemusicinst.org/post/best-songs-to-play-at-a-house-party.html)\n",
+ "Throwing the perfect house party hinges on the perfect soundtrack. Creating the right atmosphere, one that keeps \n",
+ "the energy high and the good times rolling, requires a carefully curated playlist. This isn't just about playing \n",
+ "any old tunes; it's about selecting songs with staying power, tracks that span genres and generations, instantly \n",
+ "...\n",
+ "\n",
+ "[Top 25 House Party Songs of All Time | GrooveNexus](https://www.groovenexus.com/top-playlist/house-party-songs/)\n",
+ "Houses are the safest place to party and hang out with friends while playing the best house party songs. Imagine a \n",
+ "close circle where music truly comes alive and jive up with the house party songs of all time. It is fun to plan \n",
+ "and host an in-house party. We usually come across many iconic videos that people host in their living rooms and \n",
+ "have ...\n",
+ "\n",
+ "[10 Best Songs for a House Party, Ranked 2023 - Tone \n",
+ "Start](https://www.tonestart.com/best-songs-for-a-house-party/)\n",
+ "The record has a great replayable quality and a danceable tempo that makes it one of the best songs for a house \n",
+ "party, in my opinion. 7. Pon de Replay - Rihanna. The instrumental alone is enough to get people moving, and the \n",
+ "record is a staple from the earlier part of Rihanna's career. Released in the late 2000s, the song perfectly ...\n",
+ "\n",
+ "[House Party - 80 Songs - playlist by Spotify](https://open.spotify.com/playlist/37i9dQZF1DXd5DCuoVuFY3)\n",
+ "Playlist · House Party · 80 items · 562.5K saves. Playlist · Spotify · 80 items · 562.5K saves Playlist · House \n",
+ "Party · 80 items · 562.5K saves ... Sign up to get unlimited songs and podcasts with occasional ads. No credit card\n",
+ "needed. Sign up free-:--Change progress-:-- ... First Party Targeting Cookies.\n",
+ "\n",
+ "[17 Best House Songs of All Time: Essential House Tracks](https://leveltunes.com/house-songs-of-all-time/)\n",
+ "Here are the best house songs of all time that you can check out: ... 50 best frat party songs for every DJ. Best \n",
+ "Songs / By TBone 30 Best Songs for Retirement Party. Best Songs / By TBone Search. Search. Recent Posts. History Of\n",
+ "Philippine Music: In-depth journey; 11 Happy Jazz Songs: Swing, Groove, and Smile;\n",
+ "\n",
+ "[Best Party Songs - House Party Music Playlist (Updated in \n",
+ "2025)](https://www.youtube.com/playlist?list=PLo3pNg0eiPc-3MC9VFxy9Kt6eau9ZJTPt)\n",
+ "Best Party Songs - House Party Music Playlist (Updated in 2025) If you liked this playlist, we recommend you also \n",
+ "listen to these music lists: 1. Summer Pool...\n",
+ "\n",
+ "Out: None\n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "[Step 1: Duration 7.53 seconds| Input tokens: 2,052 | Output tokens: 89]\n",
+ "
\n"
+ ],
+ "text/plain": [
+ "\u001b[2m[Step 1: Duration 7.53 seconds| Input tokens: 2,052 | Output tokens: 89]\u001b[0m\n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Step 2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n", + "\n" + ], + "text/plain": [ + "\u001b[38;2;212;183;2m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \u001b[0m\u001b[1mStep \u001b[0m\u001b[1;36m2\u001b[0m\u001b[38;2;212;183;2m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
─ Executing parsed code: ──────────────────────────────────────────────────────────────────────────────────────── \n", + " # Extracting the top recommendations from the search results \n", + " recommendations = [] \n", + " \n", + " # From \"The 75 Best Party Songs That Will Get Everyone Dancing - Gear4music\" \n", + " recommendations.append(\"1. September - Earth, Wind & Fire (1978)\") \n", + " \n", + " # From \"200 Classic House Party Songs Everyone Knows | The Best ... - iSpyTunes\" \n", + " recommendations.append(\"2. rockstar by Post Malone (feat. 21 Savage)\") \n", + " \n", + " # From \"Best Songs To Party: DJ's Ultimate Party Songs Playlist - Top40Weekly.com\" \n", + " recommendations.append(\"3. Get Lucky - Daft Punk ft. Pharrell Williams\") \n", + " \n", + " # From \"40 Best Party Songs | Songs To Dance To, Ranked By Our Editors - Time Out\" \n", + " recommendations.append(\"4. Heart of Gold - Neil Diamond\") \n", + " \n", + " # From \"30 Best House Party Songs: The Ultimate Playlist\" \n", + " recommendations.append(\"5. Eye of the Tiger - Survivor\") \n", + " \n", + " # From \"Top 25 House Party Songs of All Time | GrooveNexus\" \n", + " recommendations.append(\"6. Uptown Funk - Mark Ronson ft. Bruno Mars\") \n", + " \n", + " # From \"10 Best Songs for a House Party, Ranked 2023 - Tone Start\" \n", + " recommendations.append(\"7. Pon de Replay - Rihanna\") \n", + " \n", + " # From \"House Party - 80 Songs - playlist by Spotify\" \n", + " # Spotify playlist, will add a couple of songs from it \n", + " recommendations.append(\"8. Happy - Pharrell Williams\") \n", + " recommendations.append(\"9. Thriller - Michael Jackson\") \n", + " \n", + " # Compiling the final list of recommendations \n", + " print(\"Final list of music recommendations:\") \n", + " for i, song in enumerate(recommendations, start=1): \n", + " print(f\"{i}. {song}\") \n", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── \n", + "\n" + ], + "text/plain": [ + " ─ \u001b[1mExecuting parsed code:\u001b[0m ──────────────────────────────────────────────────────────────────────────────────────── \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# Extracting the top recommendations from the search results\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"The 75 Best Party Songs That Will Get Everyone Dancing - Gear4music\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m1. September - Earth, Wind & Fire (1978)\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"200 Classic House Party Songs Everyone Knows | The Best ... - iSpyTunes\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m2. rockstar by Post Malone (feat. 21 Savage)\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"Best Songs To Party: DJ's Ultimate Party Songs Playlist - Top40Weekly.com\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m3. Get Lucky - Daft Punk ft. Pharrell Williams\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"40 Best Party Songs | Songs To Dance To, Ranked By Our Editors - Time Out\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m4. Heart of Gold - Neil Diamond\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"30 Best House Party Songs: The Ultimate Playlist\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m5. Eye of the Tiger - Survivor\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"Top 25 House Party Songs of All Time | GrooveNexus\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m6. Uptown Funk - Mark Ronson ft. Bruno Mars\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"10 Best Songs for a House Party, Ranked 2023 - Tone Start\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m7. Pon de Replay - Rihanna\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# From \"House Party - 80 Songs - playlist by Spotify\"\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# Spotify playlist, will add a couple of songs from it\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m8. Happy - Pharrell Williams\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m9. Thriller - Michael Jackson\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;149;144;119;48;2;39;40;34m# Compiling the final list of recommendations\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mFinal list of music recommendations:\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msong\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrecommendations\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m. \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msong\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Execution logs:\n",
+ "Final list of music recommendations:\n",
+ "1. 1. September - Earth, Wind & Fire (1978)\n",
+ "2. 2. rockstar by Post Malone (feat. 21 Savage)\n",
+ "3. 3. Get Lucky - Daft Punk ft. Pharrell Williams\n",
+ "4. 4. Heart of Gold - Neil Diamond\n",
+ "5. 5. Eye of the Tiger - Survivor\n",
+ "6. 6. Uptown Funk - Mark Ronson ft. Bruno Mars\n",
+ "7. 7. Pon de Replay - Rihanna\n",
+ "8. 8. Happy - Pharrell Williams\n",
+ "9. 9. Thriller - Michael Jackson\n",
+ "\n",
+ "Out: None\n",
+ "
\n"
+ ],
+ "text/plain": [
+ "\u001b[1mExecution logs:\u001b[0m\n",
+ "Final list of music recommendations:\n",
+ "1. 1. September - Earth, Wind & Fire (1978)\n",
+ "2. 2. rockstar by Post Malone (feat. 21 Savage)\n",
+ "3. 3. Get Lucky - Daft Punk ft. Pharrell Williams\n",
+ "4. 4. Heart of Gold - Neil Diamond\n",
+ "5. 5. Eye of the Tiger - Survivor\n",
+ "6. 6. Uptown Funk - Mark Ronson ft. Bruno Mars\n",
+ "7. 7. Pon de Replay - Rihanna\n",
+ "8. 8. Happy - Pharrell Williams\n",
+ "9. 9. Thriller - Michael Jackson\n",
+ "\n",
+ "Out: None\n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "[Step 2: Duration 24.59 seconds| Input tokens: 5,337 | Output tokens: 503]\n",
+ "
\n"
+ ],
+ "text/plain": [
+ "\u001b[2m[Step 2: Duration 24.59 seconds| Input tokens: 5,337 | Output tokens: 503]\u001b[0m\n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Step 3 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n", + "\n" + ], + "text/plain": [ + "\u001b[38;2;212;183;2m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \u001b[0m\u001b[1mStep \u001b[0m\u001b[1;36m3\u001b[0m\u001b[38;2;212;183;2m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
─ Executing parsed code: ──────────────────────────────────────────────────────────────────────────────────────── \n", + " final_answer(\"Final list of music recommendations for a party at Wayne's mansion:\\n\" + \n", + " \"1. September - Earth, Wind & Fire (1978)\\n\" + \n", + " \"2. rockstar - Post Malone (feat. 21 Savage)\\n\" + \n", + " \"3. Get Lucky - Daft Punk ft. Pharrell Williams\\n\" + \n", + " \"4. Heart of Gold - Neil Diamond\\n\" + \n", + " \"5. Eye of the Tiger - Survivor\\n\" + \n", + " \"6. Uptown Funk - Mark Ronson ft. Bruno Mars\\n\" + \n", + " \"7. Pon de Replay - Rihanna\\n\" + \n", + " \"8. Happy - Pharrell Williams\\n\" + \n", + " \"9. Thriller - Michael Jackson\") \n", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── \n", + "\n" + ], + "text/plain": [ + " ─ \u001b[1mExecuting parsed code:\u001b[0m ──────────────────────────────────────────────────────────────────────────────────────── \n", + " \u001b[38;2;248;248;242;48;2;39;40;34mfinal_answer\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mFinal list of music recommendations for a party at Wayne\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms mansion:\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m1. September - Earth, Wind & Fire (1978)\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m2. rockstar - Post Malone (feat. 21 Savage)\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m3. Get Lucky - Daft Punk ft. Pharrell Williams\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m4. Heart of Gold - Neil Diamond\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m5. Eye of the Tiger - Survivor\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m6. Uptown Funk - Mark Ronson ft. Bruno Mars\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m7. Pon de Replay - Rihanna\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m8. Happy - Pharrell Williams\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m\\n\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m+\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " \u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m9. Thriller - Michael Jackson\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── \n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Out - Final answer: Final list of music recommendations for a party at Wayne's mansion:\n", + "1. September - Earth, Wind & Fire (1978)\n", + "2. rockstar - Post Malone (feat. 21 Savage)\n", + "3. Get Lucky - Daft Punk ft. Pharrell Williams\n", + "4. Heart of Gold - Neil Diamond\n", + "5. Eye of the Tiger - Survivor\n", + "6. Uptown Funk - Mark Ronson ft. Bruno Mars\n", + "7. Pon de Replay - Rihanna\n", + "8. Happy - Pharrell Williams\n", + "9. Thriller - Michael Jackson\n", + "\n" + ], + "text/plain": [ + "\u001b[1;38;2;212;183;2mOut - Final answer: Final list of music recommendations for a party at Wayne's mansion:\u001b[0m\n", + "\u001b[1;38;2;212;183;2m1. September - Earth, Wind & Fire (1978)\u001b[0m\n", + "\u001b[1;38;2;212;183;2m2. rockstar - Post Malone (feat. 21 Savage)\u001b[0m\n", + "\u001b[1;38;2;212;183;2m3. Get Lucky - Daft Punk ft. Pharrell Williams\u001b[0m\n", + "\u001b[1;38;2;212;183;2m4. Heart of Gold - Neil Diamond\u001b[0m\n", + "\u001b[1;38;2;212;183;2m5. Eye of the Tiger - Survivor\u001b[0m\n", + "\u001b[1;38;2;212;183;2m6. Uptown Funk - Mark Ronson ft. Bruno Mars\u001b[0m\n", + "\u001b[1;38;2;212;183;2m7. Pon de Replay - Rihanna\u001b[0m\n", + "\u001b[1;38;2;212;183;2m8. Happy - Pharrell Williams\u001b[0m\n", + "\u001b[1;38;2;212;183;2m9. Thriller - Michael Jackson\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
[Step 3: Duration 11.96 seconds| Input tokens: 9,629 | Output tokens: 716]\n",
+ "
\n"
+ ],
+ "text/plain": [
+ "\u001b[2m[Step 3: Duration 11.96 seconds| Input tokens: 9,629 | Output tokens: 716]\u001b[0m\n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "\"Final list of music recommendations for a party at Wayne's mansion:\\n1. September - Earth, Wind & Fire (1978)\\n2. rockstar - Post Malone (feat. 21 Savage)\\n3. Get Lucky - Daft Punk ft. Pharrell Williams\\n4. Heart of Gold - Neil Diamond\\n5. Eye of the Tiger - Survivor\\n6. Uptown Funk - Mark Ronson ft. Bruno Mars\\n7. Pon de Replay - Rihanna\\n8. Happy - Pharrell Williams\\n9. Thriller - Michael Jackson\""
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, InferenceClientModel\n",
+ "\n",
+ "model = InferenceClientModel(\n",
+ " model=\"smolagents/codegen-350m-mono\"\n",
+ ")\n",
+ "\n",
+ "#agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=HfApiModel())\n",
+ "agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=model)\n",
+ "\n",
+ "agent.run(\"Search for the best music recommendations for a party at the Wayne's mansion.\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "waE-prPUVzrh"
+ },
+ "source": [
+ "When you run this example, the output will **display a trace of the workflow steps being executed**. It will also print the corresponding Python code with the message:\n",
+ "\n",
+ "```python\n",
+ " ─ Executing parsed code: ────────────────────────────────────────────────────────────────────────────────────────\n",
+ " results = web_search(query=\"best music for a Batman party\") \n",
+ " print(results) \n",
+ " ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n",
+ "```\n",
+ "\n",
+ "After a few steps, you'll see the generated playlist that Alfred can use for the party! 🎵"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "-d9XLJkfyiNQ"
+ },
+ "source": [
+ "## Using a Custom Tool to Prepare the Menu\n",
+ "\n",
+ "Now that we have selected a playlist, we need to organize the menu for the guests. Again, Alfred can take advantage of `smolagents` to do so. Here, we use the `@tool` decorator to define a custom function that acts as a tool. We'll cover tool creation in more detail later, so for now, we can simply run the code.\n",
+ "\n",
+ "As you can see in the example below, we will create a tool using `@tool` decorator and include it in the `tools` list."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 841
+ },
+ "id": "K2oN9pagyhFX",
+ "outputId": "f0eb3a51-9a1b-4e34-afc0-c247593fcc5a"
+ },
+ "outputs": [],
+ "source": [
+ "from smolagents import CodeAgent, tool\n",
+ "\n",
+ "@tool\n",
+ "def suggest_menu(occasion: str) -> str:\n",
+ " \"\"\"\n",
+ " Suggests a menu based on the occasion.\n",
+ " Args:\n",
+ " occasion: The type of occasion for the party.\n",
+ " \"\"\"\n",
+ " if occasion == \"casual\":\n",
+ " return \"Pizza, snacks, and drinks.\"\n",
+ " elif occasion == \"formal\":\n",
+ " return \"3-course dinner with wine and dessert.\"\n",
+ " elif occasion == \"superhero\":\n",
+ " return \"Buffet with high-energy and healthy food.\"\n",
+ " else:\n",
+ " return \"Custom menu for the butler.\"\n",
+ "\n",
+ "agent = CodeAgent(tools=[suggest_menu], model=HfApiModel())\n",
+ "\n",
+ "agent.run(\"Prepare a formal menu for the party.\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "QZmuYtGPWKfO"
+ },
+ "source": [
+ "The agent will run for a few steps until finding the answer.\n",
+ "\n",
+ "The menu is ready! 🥗"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "0jrMJssQy-xr"
+ },
+ "source": [
+ "## Using Python Imports Inside the Agent\n",
+ "\n",
+ "We have the playlist and menu ready, but we need to check one more crucial detail: preparation time!\n",
+ "\n",
+ "Alfred needs to calculate when everything would be ready if he started preparing now, in case they need assistance from other superheroes.\n",
+ "\n",
+ "`smolagents` specializes in agents that write and execute Python code snippets, offering sandboxed execution for security. It supports both open-source and proprietary language models, making it adaptable to various development environments.\n",
+ "\n",
+ "**Code execution has strict security measures** - imports outside a predefined safe list are blocked by default. However, you can authorize additional imports by passing them as strings in `additional_authorized_imports`.\n",
+ "For more details on secure code execution, see the official [guide](https://huggingface.co/docs/smolagents/tutorials/secure_code_execution).\n",
+ "\n",
+ "When creating the agent, we ill use `additional_authorized_imports` to allow for importing the `datetime` module."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "_3-2KZMny-8z",
+ "outputId": "05cc662e-55fe-4b8f-b65a-6f11ea1b6b7f"
+ },
+ "outputs": [],
+ "source": [
+ "from smolagents import CodeAgent, HfApiModel\n",
+ "import numpy as np\n",
+ "import time\n",
+ "import datetime\n",
+ "\n",
+ "agent = CodeAgent(tools=[], model=HfApiModel(), additional_authorized_imports=['datetime'])\n",
+ "\n",
+ "agent.run(\n",
+ " \"\"\"\n",
+ " Alfred needs to prepare for the party. Here are the tasks:\n",
+ " 1. Prepare the drinks - 30 minutes\n",
+ " 2. Decorate the mansion - 60 minutes\n",
+ " 3. Set up the menu - 45 minutes\n",
+ " 3. Prepare the music and playlist - 45 minutes\n",
+ "\n",
+ " If we start right now, at what time will the party be ready?\n",
+ " \"\"\"\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "T7pLiWCcWSsU"
+ },
+ "source": [
+ "These examples are just the beginning of what you can do with code agents, and we're already starting to see their utility for preparing the party.\n",
+ "You can learn more about how to build code agents in the [smolagents documentation](https://huggingface.co/docs/smolagents).\n",
+ "\n",
+ "`smolagents` specializes in agents that write and execute Python code snippets, offering sandboxed execution for security. It supports both open-source and proprietary language models, making it adaptable to various development environments."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "9UK049QDQjsB"
+ },
+ "source": [
+ "## Sharing Our Custom Party Preparator Agent to the Hub\n",
+ "\n",
+ "Wouldn't it be **amazing to share our very own Alfred agent with the community**? By doing so, anyone can easily download and use the agent directly from the Hub, bringing the ultimate party planner of Gotham to their fingertips! Let's make it happen! 🎉\n",
+ "\n",
+ "The `smolagents` library makes this possible by allowing you to share a complete agent with the community and download others for immediate use. It's as simple as the following:\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "uQuWg8TDRYQD",
+ "outputId": "21492741-a5b6-462c-b724-287c16f7a828"
+ },
+ "outputs": [],
+ "source": [
+ "from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel, VisitWebpageTool, FinalAnswerTool, Tool, tool\n",
+ "\n",
+ "@tool\n",
+ "def suggest_menu(occasion: str) -> str:\n",
+ " \"\"\"\n",
+ " Suggests a menu based on the occasion.\n",
+ " Args:\n",
+ " occasion: The type of occasion for the party.\n",
+ " \"\"\"\n",
+ " if occasion == \"casual\":\n",
+ " return \"Pizza, snacks, and drinks.\"\n",
+ " elif occasion == \"formal\":\n",
+ " return \"3-course dinner with wine and dessert.\"\n",
+ " elif occasion == \"superhero\":\n",
+ " return \"Buffet with high-energy and healthy food.\"\n",
+ " else:\n",
+ " return \"Custom menu for the butler.\"\n",
+ "\n",
+ "@tool\n",
+ "def catering_service_tool(query: str) -> str:\n",
+ " \"\"\"\n",
+ " This tool returns the highest-rated catering service in Gotham City.\n",
+ "\n",
+ " Args:\n",
+ " query: A search term for finding catering services.\n",
+ " \"\"\"\n",
+ " # Example list of catering services and their ratings\n",
+ " services = {\n",
+ " \"Gotham Catering Co.\": 4.9,\n",
+ " \"Wayne Manor Catering\": 4.8,\n",
+ " \"Gotham City Events\": 4.7,\n",
+ " }\n",
+ "\n",
+ " # Find the highest rated catering service (simulating search query filtering)\n",
+ " best_service = max(services, key=services.get)\n",
+ "\n",
+ " return best_service\n",
+ "\n",
+ "class SuperheroPartyThemeTool(Tool):\n",
+ " name = \"superhero_party_theme_generator\"\n",
+ " description = \"\"\"\n",
+ " This tool suggests creative superhero-themed party ideas based on a category.\n",
+ " It returns a unique party theme idea.\"\"\"\n",
+ "\n",
+ " inputs = {\n",
+ " \"category\": {\n",
+ " \"type\": \"string\",\n",
+ " \"description\": \"The type of superhero party (e.g., 'classic heroes', 'villain masquerade', 'futuristic Gotham').\",\n",
+ " }\n",
+ " }\n",
+ "\n",
+ " output_type = \"string\"\n",
+ "\n",
+ " def forward(self, category: str):\n",
+ " themes = {\n",
+ " \"classic heroes\": \"Justice League Gala: Guests come dressed as their favorite DC heroes with themed cocktails like 'The Kryptonite Punch'.\",\n",
+ " \"villain masquerade\": \"Gotham Rogues' Ball: A mysterious masquerade where guests dress as classic Batman villains.\",\n",
+ " \"futuristic Gotham\": \"Neo-Gotham Night: A cyberpunk-style party inspired by Batman Beyond, with neon decorations and futuristic gadgets.\"\n",
+ " }\n",
+ "\n",
+ " return themes.get(category.lower(), \"Themed party idea not found. Try 'classic heroes', 'villain masquerade', or 'futuristic Gotham'.\")\n",
+ "\n",
+ "\n",
+ "# Alfred, the butler, preparing the menu for the party\n",
+ "agent = CodeAgent(\n",
+ " tools=[\n",
+ " DuckDuckGoSearchTool(),\n",
+ " VisitWebpageTool(),\n",
+ " suggest_menu,\n",
+ " catering_service_tool,\n",
+ " SuperheroPartyThemeTool()\n",
+ " ],\n",
+ " model=HfApiModel(),\n",
+ " max_steps=10,\n",
+ " verbosity_level=2\n",
+ ")\n",
+ "\n",
+ "agent.run(\"Give me best playlist for a party at the Wayne's mansion. The party idea is a 'villain masquerade' theme\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "kDskouXzRdIi"
+ },
+ "outputs": [],
+ "source": [
+ "agent.push_to_hub('sergiopaniego/AlfredAgent')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "3iPLK1IQWguH"
+ },
+ "source": [
+ "To download the agent again, use the code below:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 433,
+ "referenced_widgets": [
+ "e0a4ed3e42b947b7b101228794b55915",
+ "a29d9b11b6ce4adfb426a15ced989ccd",
+ "64f4cd17dd47431f94061165d55a6512",
+ "07db3df28a554e18a51f5c8ab4eac3b7",
+ "c289369815f4459597c2fc5a0b7952e1",
+ "536eb8a64fab4997b5a71ff3b91ae47b",
+ "85d01e5423794c76942b36201b6b7944",
+ "fa44593aa54745b8a1a97ff7ff9b1ec1",
+ "8196f34b506b4243a090a69455aee300",
+ "0c8e33843c1449cb8ff219865da41f7d",
+ "85bd86ef00434fe680226e96824fec99",
+ "758069c7b8ea4cf4acf6319ddfede7c4",
+ "f2778408de4c4d979efbced3c92c9eda",
+ "8de589c83c164944b378c3deec4667f9",
+ "8201f13fbfc94e599441081c24c6a787",
+ "e5ce666312b54802b9e0a7c4dd80f2d8",
+ "5418c8c092444acb819ad4814736b3af",
+ "c1330b7bc8624ae1b97caaae60612dc5",
+ "79078c03ca744a2886ef78c1dbbff550",
+ "9e3d076ea02d44f79f10684ca2b0beee",
+ "07511a0aede44bed84290be56326b2e6",
+ "1c45e4d8cc854c8bbaabfc79d36e4c56",
+ "c14aa57fec5e4006b5b0cac9cba090ab",
+ "6257d2aa8a314d1facabf3032c802040",
+ "479f38214a32418e809974c90b5d1da7",
+ "ea4fd47111b34f03b57e9f25433cba2d",
+ "400f9945c23e4b5ba63b4199771202d5",
+ "abab91f5a91f4fd1a1a5e3d71fa6b64f",
+ "a49bff6f52f649b0ac4154eef324dfc7",
+ "3f1557a77a32463e9374a75e5315edc6",
+ "5c005dfd107543afac03bec58d29dd32",
+ "04345f53b6694ef8acdec0bcf0cdb55c",
+ "34532b428ed44f6dac8ce3f01ae7449f",
+ "e501811097f7417b97e4f38213e371d3",
+ "fa81ea88e9f34f9cbc88cb1bbe3b0f6f",
+ "1e63e0ec0e3543dcbe0154c0efc50e6f",
+ "ec730d5d3884453faf9126be923b8682",
+ "4ebee106530942a1a61dfc2d6dd50c43",
+ "848728f35cde4778a5262827331d2df6",
+ "9f70e71733b94f1798cec88832ab9dc6",
+ "588da157788d412e9cdcaadaaffded7d",
+ "178689a28120495f863f80ca88b6643c",
+ "22638d49e4784c5fb93ffb5764c72e00",
+ "1ce28028de3249cd828e8c75479bb616",
+ "832422891d8643aba62dd8cfbdd82ad6",
+ "8a126a06ab554dd8bc50c0cde53b39eb",
+ "b534e1d2d39b4678a5ace71fb3e963ac",
+ "69727bb6ec534a41b3429e25d6244a2c",
+ "e30777231418492dbca75b8409406708",
+ "5b35fb0fcb8542109d3022df234884a8",
+ "4d19a939704d4cc7a7a2399c23ee6a1b",
+ "eb3c32213bf145e99ea133486f1d74da",
+ "5e0b86e285bd41c1a8c5b8721a14a56d",
+ "b29c778c15d548519f5cfaee149536b2",
+ "7001da14853e49139efe65edbc07b596",
+ "a0c2a18d7a0749be89c4c767ac58e770",
+ "fc9086573e5d4583a38389d70277e5cf",
+ "c99de1ec87804acfaba93a06f8b99476",
+ "7e7d250774eb45909780717b505d3c6f",
+ "c0d1a1d80ce24f53bd4b951309eec450",
+ "0b2c9cd7e1bf4b43a6dced83f9687d70",
+ "5fe48d0528b34309acf1cb5665482119",
+ "cfa1cc2ebdb249f7b06c51e8bc0344c7",
+ "c09ec6e98b8e43f49c555d48d60fe26f",
+ "8669199cd01c492788f4c7c87b67cec7",
+ "292a26934577447eae0ca584d79ef73b",
+ "40592da296cb4a1eac48ae23ea7366b9",
+ "22404d6ddc604a5891e229821ffa67ec",
+ "d34400e9e0c24f9ca793dc9f95061256",
+ "269c661232544ce3b4b80c4494cc3fc4",
+ "47ce7730b8544f788cee63eba212888f",
+ "9a4dcc883671482e966ba1e053d98faf",
+ "12a69c82e94d4ed183f8b6400aa05736",
+ "aaec37abd3254fcd956c8c9eeefd3402",
+ "a4dee040961a4061aa9ebe33b4aa18fa",
+ "e8b51572c69341e7a9331b8f92bc309c",
+ "76c578e36c01447fa6a919b251480291",
+ "23500cc477b248b6baae2838992c75ee",
+ "6ffa5c807a90443d8fda8520268087ad",
+ "06c6fb5a97c64839b720e9ddc0830c2b",
+ "97a0319f066d488fb8e462ae3758b81b",
+ "1e5c94d32a9845b09d092f178c3fcc52",
+ "1a822c1f14b14ac5be11d5c88ad5215d",
+ "37d51b08434047c89bc9d37a8cdb80ab",
+ "f6ac4107b4ce4513b0373d20906b25d2",
+ "9fb85353b08042ffb9fc6a6b83a224d7",
+ "660f07c950f64febbc55646c41434736",
+ "2589e95313bf4a1197b87c2f165c1bfc",
+ "7322eda0b7b14009a3af1ebdb2d52d67",
+ "336bc93110da4433b1ed06f8e4e2cdd2",
+ "4e1aeb16bf0a428186b03d8199a18564",
+ "937e31f8fa084967b80a775a47f13f70",
+ "7acbf4c065fa4778a72c45dcfaa45aa7",
+ "d72d880b422245f4a31c3aaf76fee29c",
+ "e3adb8c86f8b4528a8a45c2d385b773e",
+ "772692749dbd4fb98b487561782c7c63",
+ "72cb682929704c1c8ecd2bcd0d28975f",
+ "286b8d38069a4a929bffb5c23610896f",
+ "e82853a12f09417fa6ae12d05cc41800",
+ "1212768c54ec4e24be522fae625228e3",
+ "b045384bce3949a192f9559e86d14beb",
+ "f6e1e7e03c1646bd89e344e9ab6c02ef",
+ "79cab189d7aa49dea9ff2ec8f080440a",
+ "47088f8b832947ec923062f6225a8d36",
+ "f7f52e4350fa4086a6d28631ad713b89",
+ "d1e2a79d13df45bfb0c25da46a44f877",
+ "fa08f7b3ccbf4e59a5ded2755d4d997c",
+ "1641c33a6c014bfcba69724811b342a7",
+ "0f3613d750fd4c6e93d9f92224143b1e",
+ "11ee74a3f1f44965b7303d5f65540f75",
+ "ec07516db4764e71a144f1d37572baba",
+ "77af69a5c5d240ec865d749b3c480c70",
+ "368c5ca6b25446fd87b93bb0f0603d43",
+ "8181ded2479e4408910d906f3cb7eb65",
+ "f26714108b1546878d33393b2356728e",
+ "9108640cf7e842508ec2972942fb05f0",
+ "85d8909f7d4847148177e4277c6c8915",
+ "95248a7305714f7a81884edeaad3750d",
+ "beaf2cd5b6954a03bfd0f7efb66bfb12",
+ "c19a1744d3b84f1c9d93ff6feee3dc33",
+ "d7a7bae12d7040569f52869c18a1c18e",
+ "56b9f290a2fd4677b85000dfccc316df",
+ "3aa4310f09d146e5bccd685aa845d0b8",
+ "4765fdccd68d4413968140b89d6b823d",
+ "eaee0758a69a46499f35b43744b37950",
+ "cf83267dc8084817a154a9967b457eb9",
+ "3937f8255f944993872794834b8e71cc",
+ "372cc529a9994c0c87ecf8ef48348074",
+ "0af25be07c904ca898c86503e86f78be",
+ "1967ea531885403fb2085481cf138745",
+ "5d5dfd2621fc47e7b959cae6a487e742",
+ "514153eb522a4d83a940d556b092209d",
+ "b81e1c146cd44f18b636a26563b50c71",
+ "081421eab63941b6a65699091525682f",
+ "67eccd9e3ad44ae5b9fd96420389146c",
+ "29216c63d0ff4a2d98614de6b23bb545",
+ "4625cc6c239e49e7aaf6e4797b50867b",
+ "cd8817f8ff4c4c02ad10381ba218dc10",
+ "fa0a4ec9359244f695a3dad0d7eb777a",
+ "3b6bfdf031d64efbb2f30e117bd5c41e",
+ "ead1e06fbfcb4ee8b474e2bd1bbd7d04",
+ "45d35e0bfdd34139a1964ae4ebec78b7",
+ "4465a0d5e8b1421692e5d87a84c48fa6"
+ ]
+ },
+ "id": "WB4tMMGHReYI",
+ "outputId": "822bad75-a99c-4656-c389-e734192b0823"
+ },
+ "outputs": [],
+ "source": [
+ "agent = CodeAgent(tools=[], model=HfApiModel())\n",
+ "alfred_agent = agent.from_hub('sergiopaniego/AlfredAgent', trust_remote_code=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "PTTBVyESRgF6",
+ "outputId": "01084099-f3ae-4b76-b30e-320c6859d09f"
+ },
+ "outputs": [],
+ "source": [
+ "alfred_agent.run(\"Give me best playlist for a party at the Wayne's mansion. The party idea is a 'villain masquerade' theme\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "qz-vwxu9Wobn"
+ },
+ "source": [
+ "What's also exciting is that shared agents are directly available as Hugging Face Spaces, allowing you to interact with them in real-time. You can explore other agents [here](https://huggingface.co/spaces/davidberenstein1957/smolagents-and-tools).\n",
+ "\n",
+ "For example, the _AlfredAgent_ is available [here](https://huggingface.co/spaces/sergiopaniego/AlfredAgent)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "wxWcQqkYl1Pm"
+ },
+ "source": [
+ "### Inspecting Our Party Preparator Agent with OpenTelemetry and Langfuse 📡\n",
+ "\n",
+ "Full trace can be found [here](https://cloud.langfuse.com/project/cm7bq0abj025rad078ak3luwi/traces/995fc019255528e4f48cf6770b0ce27b?timestamp=2025-02-19T10%3A28%3A36.929Z).\n",
+ "\n",
+ "As Alfred fine-tunes the Party Preparator Agent, he's growing weary of debugging its runs. Agents, by nature, are unpredictable and difficult to inspect. But since he aims to build the ultimate Party Preparator Agent and deploy it in production, he needs robust traceability for future monitoring and analysis. \n",
+ "\n",
+ "Once again, `smolagents` comes to the rescue! It embraces the [OpenTelemetry](https://opentelemetry.io/) standard for instrumenting agent runs, allowing seamless inspection and logging. With the help of [Langfuse](https://langfuse.com/) and the `SmolagentsInstrumentor`, Alfred can easily track and analyze his agent’s behavior. \n",
+ "\n",
+ "Setting it up is straightforward! \n",
+ "\n",
+ "First, we need to install the necessary dependencies: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "CTtNDFOMl3BM"
+ },
+ "outputs": [],
+ "source": [
+ "!pip install opentelemetry-sdk opentelemetry-exporter-otlp openinference-instrumentation-smolagents"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "IVBwrNgbXPS-"
+ },
+ "source": [
+ "Next, Alfred has already created an account on Langfuse and has his API keys ready. If you haven’t done so yet, you can sign up for Langfuse Cloud [here](https://cloud.langfuse.com/) or explore [alternatives](https://huggingface.co/docs/smolagents/tutorials/inspect_runs). \n",
+ "\n",
+ "Once you have your API keys, they need to be properly configured as follows:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "9mJfphSMnGwZ"
+ },
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "import base64\n",
+ "from google.colab import userdata\n",
+ "\n",
+ "LANGFUSE_PUBLIC_KEY=userdata.get(\"LANGFUSE_PUBLIC_KEY\")\n",
+ "LANGFUSE_SECRET_KEY=userdata.get(\"LANGFUSE_SECRET_KEY\")\n",
+ "LANGFUSE_AUTH=base64.b64encode(f\"{LANGFUSE_PUBLIC_KEY}:{LANGFUSE_SECRET_KEY}\".encode()).decode()\n",
+ "\n",
+ "os.environ[\"OTEL_EXPORTER_OTLP_ENDPOINT\"] = \"https://cloud.langfuse.com/api/public/otel\" # EU data region\n",
+ "# os.environ[\"OTEL_EXPORTER_OTLP_ENDPOINT\"] = \"https://us.cloud.langfuse.com/api/public/otel\" # US data region\n",
+ "os.environ[\"OTEL_EXPORTER_OTLP_HEADERS\"] = f\"Authorization=Basic {LANGFUSE_AUTH}\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "ZIRRj-PJXRGH"
+ },
+ "source": [
+ "Finally, Alfred is ready to initialize the `SmolagentsInstrumentor` and start tracking his agent's performance. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "kmQdrMK_nyU0"
+ },
+ "outputs": [],
+ "source": [
+ "from opentelemetry.sdk.trace import TracerProvider\n",
+ "\n",
+ "from openinference.instrumentation.smolagents import SmolagentsInstrumentor\n",
+ "from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter\n",
+ "from opentelemetry.sdk.trace.export import SimpleSpanProcessor\n",
+ "\n",
+ "trace_provider = TracerProvider()\n",
+ "trace_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter()))\n",
+ "\n",
+ "SmolagentsInstrumentor().instrument(tracer_provider=trace_provider)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "B0oLBr_qXSjA"
+ },
+ "source": [
+ "Alfred is now connected 🔌! The runs from `smolagents` are being logged in Langfuse, giving him full visibility into the agent's behavior. With this setup, he's ready to revisit previous runs and refine his Party Preparator Agent even further. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000,
+ "referenced_widgets": [
+ "9b7c90bbf66a444eb1da7c130d429094",
+ "de33168ca50f4609befdd7f2e490eb37",
+ "ababacc2829548ddb4edb012ae5b5867",
+ "9771bed25ace472dbf68792d6fd263ef",
+ "ea75df1f2fa742eb8a33e16a154f7636",
+ "1234f57179e940cbb0671bd4f47524c7",
+ "794b6d9a51134ddd9dadc218e11ddec1",
+ "5a70a74427f441818ccec87660dfce35",
+ "51fbdf9af6804293b35d0b0ec72cb820",
+ "35f23487d8504bd5b933d32fa0f415cc",
+ "49d953f2b8e2406ebe15d92d5c4e6fa6"
+ ]
+ },
+ "id": "3Oer9q0AoG28",
+ "outputId": "aca7604d-818e-4128-e3cf-62ad9f5e6103"
+ },
+ "outputs": [],
+ "source": [
+ "from smolagents import CodeAgent, HfApiModel\n",
+ "\n",
+ "agent = CodeAgent(tools=[], model=HfApiModel())\n",
+ "alfred_agent = agent.from_hub('sergiopaniego/AlfredAgent', trust_remote_code=True)\n",
+ "alfred_agent.run(\"Give me best playlist for a party at the Wayne's mansion. The party idea is a 'villain masquerade' theme\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "KBpqTBK1XVLz"
+ },
+ "source": [
+ "Alfred can now access this logs [here](https://cloud.langfuse.com/project/cm7bq0abj025rad078ak3luwi/traces/995fc019255528e4f48cf6770b0ce27b?timestamp=2025-02-19T10%3A28%3A36.929Z) to review and analyze them. \n",
+ "\n",
+ "Meanwhile, the [suggested playlist](https://open.spotify.com/playlist/0gZMMHjuxMrrybQ7wTMTpw) sets the perfect vibe for the party preparations. Cool, right? 🎶\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": ".venv",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.13.2"
+ },
+ "widgets": {
+ "application/vnd.jupyter.widget-state+json": {
+ "04345f53b6694ef8acdec0bcf0cdb55c": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "06c6fb5a97c64839b720e9ddc0830c2b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_f6ac4107b4ce4513b0373d20906b25d2",
+ "max": 448,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_9fb85353b08042ffb9fc6a6b83a224d7",
+ "value": 448
+ }
+ },
+ "07511a0aede44bed84290be56326b2e6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "07db3df28a554e18a51f5c8ab4eac3b7": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_0c8e33843c1449cb8ff219865da41f7d",
+ "placeholder": "",
+ "style": "IPY_MODEL_85bd86ef00434fe680226e96824fec99",
+ "value": " 14/14 [00:00<00:00, 25.74it/s]"
+ }
+ },
+ "081421eab63941b6a65699091525682f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_cd8817f8ff4c4c02ad10381ba218dc10",
+ "placeholder": "",
+ "style": "IPY_MODEL_fa0a4ec9359244f695a3dad0d7eb777a",
+ "value": "tools%2Fvisit_webpage.py: 100%"
+ }
+ },
+ "0878fa625e484e6ba072a77542bca631": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0af25be07c904ca898c86503e86f78be": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0b2c9cd7e1bf4b43a6dced83f9687d70": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0c8e33843c1449cb8ff219865da41f7d": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "0f3613d750fd4c6e93d9f92224143b1e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "11ee74a3f1f44965b7303d5f65540f75": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "1212768c54ec4e24be522fae625228e3": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_b045384bce3949a192f9559e86d14beb",
+ "IPY_MODEL_f6e1e7e03c1646bd89e344e9ab6c02ef",
+ "IPY_MODEL_79cab189d7aa49dea9ff2ec8f080440a"
+ ],
+ "layout": "IPY_MODEL_47088f8b832947ec923062f6225a8d36"
+ }
+ },
+ "1234f57179e940cbb0671bd4f47524c7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "12a69c82e94d4ed183f8b6400aa05736": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "1641c33a6c014bfcba69724811b342a7": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "178689a28120495f863f80ca88b6643c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "1967ea531885403fb2085481cf138745": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "1a822c1f14b14ac5be11d5c88ad5215d": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "1c45e4d8cc854c8bbaabfc79d36e4c56": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "1ce28028de3249cd828e8c75479bb616": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "1e5c94d32a9845b09d092f178c3fcc52": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "1e63e0ec0e3543dcbe0154c0efc50e6f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_588da157788d412e9cdcaadaaffded7d",
+ "max": 50,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_178689a28120495f863f80ca88b6643c",
+ "value": 50
+ }
+ },
+ "22404d6ddc604a5891e229821ffa67ec": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_9a4dcc883671482e966ba1e053d98faf",
+ "placeholder": "",
+ "style": "IPY_MODEL_12a69c82e94d4ed183f8b6400aa05736",
+ "value": "tools%2Fcatering_service_tool.py: 100%"
+ }
+ },
+ "22638d49e4784c5fb93ffb5764c72e00": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "23500cc477b248b6baae2838992c75ee": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_6ffa5c807a90443d8fda8520268087ad",
+ "IPY_MODEL_06c6fb5a97c64839b720e9ddc0830c2b",
+ "IPY_MODEL_97a0319f066d488fb8e462ae3758b81b"
+ ],
+ "layout": "IPY_MODEL_1e5c94d32a9845b09d092f178c3fcc52"
+ }
+ },
+ "24581a72ea4a46689dd6c698976004b5": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "2589e95313bf4a1197b87c2f165c1bfc": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "269c661232544ce3b4b80c4494cc3fc4": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_e8b51572c69341e7a9331b8f92bc309c",
+ "placeholder": "",
+ "style": "IPY_MODEL_76c578e36c01447fa6a919b251480291",
+ "value": " 945/945 [00:00<00:00, 12.1kB/s]"
+ }
+ },
+ "286b8d38069a4a929bffb5c23610896f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "29216c63d0ff4a2d98614de6b23bb545": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_45d35e0bfdd34139a1964ae4ebec78b7",
+ "placeholder": "",
+ "style": "IPY_MODEL_4465a0d5e8b1421692e5d87a84c48fa6",
+ "value": " 1.82k/1.82k [00:00<00:00, 24.9kB/s]"
+ }
+ },
+ "292a26934577447eae0ca584d79ef73b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "336bc93110da4433b1ed06f8e4e2cdd2": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_d72d880b422245f4a31c3aaf76fee29c",
+ "placeholder": "",
+ "style": "IPY_MODEL_e3adb8c86f8b4528a8a45c2d385b773e",
+ "value": "prompts.yaml: 100%"
+ }
+ },
+ "34532b428ed44f6dac8ce3f01ae7449f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "35f23487d8504bd5b933d32fa0f415cc": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "368c5ca6b25446fd87b93bb0f0603d43": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_95248a7305714f7a81884edeaad3750d",
+ "max": 1210,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_beaf2cd5b6954a03bfd0f7efb66bfb12",
+ "value": 1210
+ }
+ },
+ "372cc529a9994c0c87ecf8ef48348074": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "37d51b08434047c89bc9d37a8cdb80ab": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "3937f8255f944993872794834b8e71cc": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "3aa4310f09d146e5bccd685aa845d0b8": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_3937f8255f944993872794834b8e71cc",
+ "placeholder": "",
+ "style": "IPY_MODEL_372cc529a9994c0c87ecf8ef48348074",
+ "value": "tools%2Fweb_search.py: 100%"
+ }
+ },
+ "3b6bfdf031d64efbb2f30e117bd5c41e": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "3f1557a77a32463e9374a75e5315edc6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "400f9945c23e4b5ba63b4199771202d5": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "40592da296cb4a1eac48ae23ea7366b9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_22404d6ddc604a5891e229821ffa67ec",
+ "IPY_MODEL_d34400e9e0c24f9ca793dc9f95061256",
+ "IPY_MODEL_269c661232544ce3b4b80c4494cc3fc4"
+ ],
+ "layout": "IPY_MODEL_47ce7730b8544f788cee63eba212888f"
+ }
+ },
+ "4465a0d5e8b1421692e5d87a84c48fa6": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "45d35e0bfdd34139a1964ae4ebec78b7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "4625cc6c239e49e7aaf6e4797b50867b": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "47088f8b832947ec923062f6225a8d36": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "4765fdccd68d4413968140b89d6b823d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_0af25be07c904ca898c86503e86f78be",
+ "max": 1251,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_1967ea531885403fb2085481cf138745",
+ "value": 1251
+ }
+ },
+ "479f38214a32418e809974c90b5d1da7": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_3f1557a77a32463e9374a75e5315edc6",
+ "max": 258,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_5c005dfd107543afac03bec58d29dd32",
+ "value": 258
+ }
+ },
+ "47ce7730b8544f788cee63eba212888f": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "49d953f2b8e2406ebe15d92d5c4e6fa6": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "4d19a939704d4cc7a7a2399c23ee6a1b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "4e1aeb16bf0a428186b03d8199a18564": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_772692749dbd4fb98b487561782c7c63",
+ "max": 16020,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_72cb682929704c1c8ecd2bcd0d28975f",
+ "value": 16020
+ }
+ },
+ "4ebee106530942a1a61dfc2d6dd50c43": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "514153eb522a4d83a940d556b092209d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "51fbdf9af6804293b35d0b0ec72cb820": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "536eb8a64fab4997b5a71ff3b91ae47b": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5381da72452d473dae067b8b5b96b3fc": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5418c8c092444acb819ad4814736b3af": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "56b9f290a2fd4677b85000dfccc316df": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_3aa4310f09d146e5bccd685aa845d0b8",
+ "IPY_MODEL_4765fdccd68d4413968140b89d6b823d",
+ "IPY_MODEL_eaee0758a69a46499f35b43744b37950"
+ ],
+ "layout": "IPY_MODEL_cf83267dc8084817a154a9967b457eb9"
+ }
+ },
+ "588da157788d412e9cdcaadaaffded7d": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5a70a74427f441818ccec87660dfce35": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5b35fb0fcb8542109d3022df234884a8": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5c005dfd107543afac03bec58d29dd32": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "5d5dfd2621fc47e7b959cae6a487e742": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5e0b86e285bd41c1a8c5b8721a14a56d": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "5f7f59347a3345328bdbc68082179ee4": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "5fe48d0528b34309acf1cb5665482119": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "6257d2aa8a314d1facabf3032c802040": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_abab91f5a91f4fd1a1a5e3d71fa6b64f",
+ "placeholder": "",
+ "style": "IPY_MODEL_a49bff6f52f649b0ac4154eef324dfc7",
+ "value": "README.md: 100%"
+ }
+ },
+ "64f4cd17dd47431f94061165d55a6512": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_fa44593aa54745b8a1a97ff7ff9b1ec1",
+ "max": 14,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_8196f34b506b4243a090a69455aee300",
+ "value": 14
+ }
+ },
+ "660f07c950f64febbc55646c41434736": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "67eccd9e3ad44ae5b9fd96420389146c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_3b6bfdf031d64efbb2f30e117bd5c41e",
+ "max": 1816,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_ead1e06fbfcb4ee8b474e2bd1bbd7d04",
+ "value": 1816
+ }
+ },
+ "69727bb6ec534a41b3429e25d6244a2c": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_b29c778c15d548519f5cfaee149536b2",
+ "placeholder": "",
+ "style": "IPY_MODEL_7001da14853e49139efe65edbc07b596",
+ "value": " 1.41k/1.41k [00:00<00:00, 15.8kB/s]"
+ }
+ },
+ "6c5299be357841e3b7fbbf4ba45a5070": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "6f8b05b0ad5a4a4191f0de288e128bfd": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "6ffa5c807a90443d8fda8520268087ad": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_1a822c1f14b14ac5be11d5c88ad5215d",
+ "placeholder": "",
+ "style": "IPY_MODEL_37d51b08434047c89bc9d37a8cdb80ab",
+ "value": "tools%2Ffinal_answer.py: 100%"
+ }
+ },
+ "7001da14853e49139efe65edbc07b596": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "72cb682929704c1c8ecd2bcd0d28975f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "7322eda0b7b14009a3af1ebdb2d52d67": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_336bc93110da4433b1ed06f8e4e2cdd2",
+ "IPY_MODEL_4e1aeb16bf0a428186b03d8199a18564",
+ "IPY_MODEL_937e31f8fa084967b80a775a47f13f70"
+ ],
+ "layout": "IPY_MODEL_7acbf4c065fa4778a72c45dcfaa45aa7"
+ }
+ },
+ "758069c7b8ea4cf4acf6319ddfede7c4": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_f2778408de4c4d979efbced3c92c9eda",
+ "IPY_MODEL_8de589c83c164944b378c3deec4667f9",
+ "IPY_MODEL_8201f13fbfc94e599441081c24c6a787"
+ ],
+ "layout": "IPY_MODEL_e5ce666312b54802b9e0a7c4dd80f2d8"
+ }
+ },
+ "767ebce74c6045faaf4eef46f5c98544": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_6c5299be357841e3b7fbbf4ba45a5070",
+ "placeholder": "",
+ "style": "IPY_MODEL_6f8b05b0ad5a4a4191f0de288e128bfd",
+ "value": "\nPro Tip: If you don't already have one, you can create a dedicated\n'notebooks' token with 'write' access, that you can then easily reuse for all\nnotebooks. "
+ }
+ },
+ "76c578e36c01447fa6a919b251480291": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "772692749dbd4fb98b487561782c7c63": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "77af69a5c5d240ec865d749b3c480c70": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_9108640cf7e842508ec2972942fb05f0",
+ "placeholder": "",
+ "style": "IPY_MODEL_85d8909f7d4847148177e4277c6c8915",
+ "value": "(…)ols%2Fsuperhero_party_theme_generator.py: 100%"
+ }
+ },
+ "788cc202f6554bf4bea8b24959562702": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "79078c03ca744a2886ef78c1dbbff550": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "794b6d9a51134ddd9dadc218e11ddec1": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "79cab189d7aa49dea9ff2ec8f080440a": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_0f3613d750fd4c6e93d9f92224143b1e",
+ "placeholder": "",
+ "style": "IPY_MODEL_11ee74a3f1f44965b7303d5f65540f75",
+ "value": " 822/822 [00:00<00:00, 8.70kB/s]"
+ }
+ },
+ "7acbf4c065fa4778a72c45dcfaa45aa7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "7e7d250774eb45909780717b505d3c6f": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_8669199cd01c492788f4c7c87b67cec7",
+ "placeholder": "",
+ "style": "IPY_MODEL_292a26934577447eae0ca584d79ef73b",
+ "value": " 16.8k/16.8k [00:00<00:00, 120kB/s]"
+ }
+ },
+ "8181ded2479e4408910d906f3cb7eb65": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_c19a1744d3b84f1c9d93ff6feee3dc33",
+ "placeholder": "",
+ "style": "IPY_MODEL_d7a7bae12d7040569f52869c18a1c18e",
+ "value": " 1.21k/1.21k [00:00<00:00, 11.7kB/s]"
+ }
+ },
+ "8196f34b506b4243a090a69455aee300": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ProgressStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ProgressStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "bar_color": null,
+ "description_width": ""
+ }
+ },
+ "8201f13fbfc94e599441081c24c6a787": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_07511a0aede44bed84290be56326b2e6",
+ "placeholder": "",
+ "style": "IPY_MODEL_1c45e4d8cc854c8bbaabfc79d36e4c56",
+ "value": " 1.52k/1.52k [00:00<00:00, 16.2kB/s]"
+ }
+ },
+ "832422891d8643aba62dd8cfbdd82ad6": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_8a126a06ab554dd8bc50c0cde53b39eb",
+ "IPY_MODEL_b534e1d2d39b4678a5ace71fb3e963ac",
+ "IPY_MODEL_69727bb6ec534a41b3429e25d6244a2c"
+ ],
+ "layout": "IPY_MODEL_e30777231418492dbca75b8409406708"
+ }
+ },
+ "848728f35cde4778a5262827331d2df6": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "85bd86ef00434fe680226e96824fec99": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "85d01e5423794c76942b36201b6b7944": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "85d8909f7d4847148177e4277c6c8915": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "DescriptionStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "DescriptionStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "description_width": ""
+ }
+ },
+ "8669199cd01c492788f4c7c87b67cec7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "8967a71ec8904c06b0f47a682c92ac75": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "CheckboxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "CheckboxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "CheckboxView",
+ "description": "Add token as git credential?",
+ "description_tooltip": null,
+ "disabled": false,
+ "indent": true,
+ "layout": "IPY_MODEL_5f7f59347a3345328bdbc68082179ee4",
+ "style": "IPY_MODEL_788cc202f6554bf4bea8b24959562702",
+ "value": true
+ }
+ },
+ "8a126a06ab554dd8bc50c0cde53b39eb": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_5b35fb0fcb8542109d3022df234884a8",
+ "placeholder": "",
+ "style": "IPY_MODEL_4d19a939704d4cc7a7a2399c23ee6a1b",
+ "value": "app.py: 100%"
+ }
+ },
+ "8de589c83c164944b378c3deec4667f9": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "FloatProgressModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "FloatProgressModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "ProgressView",
+ "bar_style": "success",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_79078c03ca744a2886ef78c1dbbff550",
+ "max": 1519,
+ "min": 0,
+ "orientation": "horizontal",
+ "style": "IPY_MODEL_9e3d076ea02d44f79f10684ca2b0beee",
+ "value": 1519
+ }
+ },
+ "90eab3e7ff82449aae807c8c6d21a8c7": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9108640cf7e842508ec2972942fb05f0": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "937e31f8fa084967b80a775a47f13f70": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_286b8d38069a4a929bffb5c23610896f",
+ "placeholder": "",
+ "style": "IPY_MODEL_e82853a12f09417fa6ae12d05cc41800",
+ "value": " 16.0k/16.0k [00:00<00:00, 160kB/s]"
+ }
+ },
+ "95248a7305714f7a81884edeaad3750d": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9771bed25ace472dbf68792d6fd263ef": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_35f23487d8504bd5b933d32fa0f415cc",
+ "placeholder": "",
+ "style": "IPY_MODEL_49d953f2b8e2406ebe15d92d5c4e6fa6",
+ "value": " 14/14 [00:00<00:00, 906.20it/s]"
+ }
+ },
+ "97a0319f066d488fb8e462ae3758b81b": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_660f07c950f64febbc55646c41434736",
+ "placeholder": "",
+ "style": "IPY_MODEL_2589e95313bf4a1197b87c2f165c1bfc",
+ "value": " 448/448 [00:00<00:00, 8.66kB/s]"
+ }
+ },
+ "98720532974543e28318171773a5e789": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "ButtonStyleModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "ButtonStyleModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "StyleView",
+ "button_color": null,
+ "font_weight": ""
+ }
+ },
+ "9a4dcc883671482e966ba1e053d98faf": {
+ "model_module": "@jupyter-widgets/base",
+ "model_module_version": "1.2.0",
+ "model_name": "LayoutModel",
+ "state": {
+ "_model_module": "@jupyter-widgets/base",
+ "_model_module_version": "1.2.0",
+ "_model_name": "LayoutModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/base",
+ "_view_module_version": "1.2.0",
+ "_view_name": "LayoutView",
+ "align_content": null,
+ "align_items": null,
+ "align_self": null,
+ "border": null,
+ "bottom": null,
+ "display": null,
+ "flex": null,
+ "flex_flow": null,
+ "grid_area": null,
+ "grid_auto_columns": null,
+ "grid_auto_flow": null,
+ "grid_auto_rows": null,
+ "grid_column": null,
+ "grid_gap": null,
+ "grid_row": null,
+ "grid_template_areas": null,
+ "grid_template_columns": null,
+ "grid_template_rows": null,
+ "height": null,
+ "justify_content": null,
+ "justify_items": null,
+ "left": null,
+ "margin": null,
+ "max_height": null,
+ "max_width": null,
+ "min_height": null,
+ "min_width": null,
+ "object_fit": null,
+ "object_position": null,
+ "order": null,
+ "overflow": null,
+ "overflow_x": null,
+ "overflow_y": null,
+ "padding": null,
+ "right": null,
+ "top": null,
+ "visibility": null,
+ "width": null
+ }
+ },
+ "9b7c90bbf66a444eb1da7c130d429094": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HBoxModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HBoxModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HBoxView",
+ "box_style": "",
+ "children": [
+ "IPY_MODEL_de33168ca50f4609befdd7f2e490eb37",
+ "IPY_MODEL_ababacc2829548ddb4edb012ae5b5867",
+ "IPY_MODEL_9771bed25ace472dbf68792d6fd263ef"
+ ],
+ "layout": "IPY_MODEL_ea75df1f2fa742eb8a33e16a154f7636"
+ }
+ },
+ "9de15aeaf7fe42daae4d9174a87203c6": {
+ "model_module": "@jupyter-widgets/controls",
+ "model_module_version": "1.5.0",
+ "model_name": "HTMLModel",
+ "state": {
+ "_dom_classes": [],
+ "_model_module": "@jupyter-widgets/controls",
+ "_model_module_version": "1.5.0",
+ "_model_name": "HTMLModel",
+ "_view_count": null,
+ "_view_module": "@jupyter-widgets/controls",
+ "_view_module_version": "1.5.0",
+ "_view_name": "HTMLView",
+ "description": "",
+ "description_tooltip": null,
+ "layout": "IPY_MODEL_90eab3e7ff82449aae807c8c6d21a8c7",
+ "placeholder": "",
+ "style": "IPY_MODEL_24581a72ea4a46689dd6c698976004b5",
+ "value": "