Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Data analyst agent: get your data’s insights in the blink of an eye ✨","local":"data-analyst-agent-get-your-datas-insights-in-the-blink-of-an-eye-","sections":[{"title":"Data analysis 📊🤔","local":"data-analysis-","sections":[],"depth":2},{"title":"Data scientist agent: Run predictions 🛠️","local":"data-scientist-agent-run-predictions-","sections":[],"depth":2}],"depth":1}"/> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/entry/start.C4oWFr5q.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/CBL2q_gT.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/BELRLMvK.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/entry/app._O5PZ4Sh.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/Bvy3depm.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/CZ3tSluR.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/CDAxRgl4.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/DsnmJJEf.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/nodes/0.KS1zK1Up.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/BkMsHYA7.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/nodes/3.BM_JSeKJ.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/1_L1e_iO.js" rel="modulepreload"> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/chunks/6gp6jeKp.js" rel="modulepreload"> | |
| <!--bse1us--><meta name="hf:doc:metadata" content="{"title":"Data analyst agent: get your data’s insights in the blink of an eye ✨","local":"data-analyst-agent-get-your-datas-insights-in-the-blink-of-an-eye-","sections":[{"title":"Data analysis 📊🤔","local":"data-analysis-","sections":[],"depth":2},{"title":"Data scientist agent: Run predictions 🛠️","local":"data-scientist-agent-run-predictions-","sections":[],"depth":2}],"depth":1}"/><!----> | |
| <link href="/docs/cookbook/pr_362/en/_app/immutable/assets/0.tn0RQdqM.css" rel="modulepreload"> <!--[--><!--[0--><!--[--><!--[0--><!--[--><p></p> <div class="flex space-x-1 absolute z-10 right-0 top-0"><!----> <!--[0--><a href="https://colab.research.google.com/github/huggingface/cookbook/blob/openenv-wordle-hf-jobs/notebooks/en/agent_data_analyst.ipynb" target="_blank"><img alt="Open In Colab" class="!m-0" src="https://colab.research.google.com/assets/colab-badge.svg"/></a><!--]--> <!--[-1--><!--]--></div><!----> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"><div class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 h-7 max-sm:h-7 px-2 max-sm:px-1.5 text-sm font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0 hover:text-gray-800 dark:hover:text-gray-200"><svg class="sm:size-3.5 size-3" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----></span> <span>Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-7 max-sm:h-7 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible sm:size-3.5 size-3 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg><!----></button></div> <!--[-1--><!--]--></div><!----> <!--[0--><h1 class="relative group"><a id="data-analyst-agent-get-your-datas-insights-in-the-blink-of-an-eye-" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#data-analyst-agent-get-your-datas-insights-in-the-blink-of-an-eye-"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span>Data analyst agent: get your data’s insights in the blink of an eye ✨</span></h1><!--]--><!----> <p><em>Authored by: <a href="https://huggingface.co/m-ric" rel="nofollow">Aymeric Roucher</a></em></p> <blockquote><p>This tutorial is advanced. You should have notions from <a href="agents">this other cookbook</a> first!</p></blockquote> <p>In this notebook we will make a <strong>data analyst agent: a Code agent armed with data analysis libraries, that can load and transform dataframes to extract insights from your data, and even plots the results!</strong></p> <p>Let’s say I want to analyze the data from the <a href="https://www.kaggle.com/competitions/titanic" rel="nofollow">Kaggle Titanic challenge</a> in order to predict the survival of individual passengers. But before digging into this myself, I want an autonomous agent to prepare the analysis for me by extracting trends and plotting some figures to find insights.</p> <p>Let’s set up this system.</p> <p>Run the line below to install required dependancies:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Copied</div><!----></button><!----></div> <pre class="language-python "><!---->!pip install seaborn smolagents transformers -q -U<!----></pre></div><!----> <p>We first create the agent. We used a <code>CodeAgent</code> (read the <a href="https://huggingface.co/docs/smolagents/tutorials/secure_code_execution" rel="nofollow">documentation</a> to learn more about types of agents), so we do not even need to give it any tools: it can directly run its code.</p> <p>We simply make sure to let it use data science-related libraries by passing these in <code>additional_authorized_imports</code>: <code>["numpy", "pandas", "matplotlib.pyplot", "seaborn"]</code>.</p> <p>In general when passing libraries in <code>additional_authorized_imports</code>, make sure they are installed on your local environment, since the python interpreter can only use libraries installed on your environment.</p> <p>⚙ Our agent will be powered by <a href="https://huggingface.co/meta-llama/Llama-3.1-70B-Instruct" rel="nofollow">meta-llama/Llama-3.1-70B-Instruct</a> using <code>HfApiModel</code> class that uses HF’s Inference API: the Inference API allows to quickly and easily run any open model, for free!</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Copied</div><!----></button><!----></div> <pre class="language-python "><!----><span class="hljs-keyword">from</span> smolagents <span class="hljs-keyword">import</span> InferenceClientModel, CodeAgent | |
| <span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> login | |
| <span class="hljs-keyword">import</span> os | |
| login(os.getenv(<span class="hljs-string">"HUGGINGFACEHUB_API_TOKEN"</span>)) | |
| model = InferenceClientModel(<span class="hljs-string">"meta-llama/Llama-3.1-70B-Instruct"</span>) | |
| agent = CodeAgent( | |
| tools=[], | |
| model=model, | |
| additional_authorized_imports=[<span class="hljs-string">"numpy"</span>, <span class="hljs-string">"pandas"</span>, <span class="hljs-string">"matplotlib.pyplot"</span>, <span class="hljs-string">"seaborn"</span>], | |
| max_iterations=<span class="hljs-number">10</span>, | |
| )<!----></pre></div><!----> <!--[1--><h2 class="relative group"><a id="data-analysis-" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#data-analysis-"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span>Data analysis 📊🤔</span></h2><!--]--><!----> <p>Upon running the agent, we provide it with additional notes directly taken from the competition, and give these as a kwarg to the <code>run</code> method:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Copied</div><!----></button><!----></div> <pre class="language-python "><!----><span class="hljs-keyword">import</span> os | |
| os.mkdir(<span class="hljs-string">"./figures"</span>)<!----></pre></div><!----> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Copied</div><!----></button><!----></div> <pre class="language-python "><!----><span class="hljs-meta">>>> </span>additional_notes = <span class="hljs-string">""" | |
| <span class="hljs-meta">... </span>### Variable Notes | |
| <span class="hljs-meta">... </span>pclass: A proxy for socio-economic status (SES) | |
| <span class="hljs-meta">... </span>1st = Upper | |
| <span class="hljs-meta">... </span>2nd = Middle | |
| <span class="hljs-meta">... </span>3rd = Lower | |
| <span class="hljs-meta">... </span>age: Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5 | |
| <span class="hljs-meta">... </span>sibsp: The dataset defines family relations in this way... | |
| <span class="hljs-meta">... </span>Sibling = brother, sister, stepbrother, stepsister | |
| <span class="hljs-meta">... </span>Spouse = husband, wife (mistresses and fiancés were ignored) | |
| <span class="hljs-meta">... </span>parch: The dataset defines family relations in this way... | |
| <span class="hljs-meta">... </span>Parent = mother, father | |
| <span class="hljs-meta">... </span>Child = daughter, son, stepdaughter, stepson | |
| <span class="hljs-meta">... </span>Some children travelled only with a nanny, therefore parch=0 for them. | |
| <span class="hljs-meta">... </span>"""</span> | |
| <span class="hljs-meta">>>> </span>analysis = agent.run( | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"""You are an expert data analyst. | |
| <span class="hljs-meta">... </span>Please load the source file and analyze its content. | |
| <span class="hljs-meta">... </span>According to the variables you have, begin by listing 3 interesting questions that could be asked on this data, for instance about specific correlations with survival rate. | |
| <span class="hljs-meta">... </span>Then answer these questions one by one, by finding the relevant numbers. | |
| <span class="hljs-meta">... </span>Meanwhile, plot some figures using matplotlib/seaborn and save them to the (already existing) folder './figures/': take care to clear each figure with plt.clf() before doing another plot. | |
| <span class="hljs-meta">... </span>In your final answer: summarize these correlations and trends | |
| <span class="hljs-meta">... </span>After each number derive real worlds insights, for instance: "Correlation between is_december and boredness is 1.3453, which suggest people are more bored in winter". | |
| <span class="hljs-meta">... </span>Your final answer should have at least 3 numbered and detailed parts. | |
| <span class="hljs-meta">... </span>"""</span>, | |
| <span class="hljs-meta">... </span> additional_args=<span class="hljs-built_in">dict</span>(additional_notes=additional_notes, source_file=<span class="hljs-string">"titanic/train.csv"</span>), | |
| <span class="hljs-meta">... </span>)<!----></pre></div><!----> <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAHHAjcDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoormfFPiC/03UNH0jSobVtQ1WSRY5bxmEUSxruYkLyx6AAEfXigDpqKwLS/wBY0nTtRvvFc2mLa2sfnC4sElHyAEuWRtx4AGME55rQuda0+zTT3nuNi6hMsFqdjHzHZSwHA44UnJwOKAL9Fc7J468OR6lLpv29nvYp/s8kEVvK7I+AeQqnA+YfN07ZyDVt/E+jJ4aXxE16P7JeJZVuAjHKsQB8oG7JJAxjOeMUAa9Fc1L4istK1PXp9R1vNpZJbGS2+yMPse/IBLgZcOcH/Zxziti91ay064soLqfZLfTeRboFZi77S2OAcDCk5PA9aALtFc4fHfhoasNMbUgtyZzbgtDIsZlBxs8wrs3ZGMZ60keqXrfEu50gzf6Cmjw3KxbRxI00ils4z0UDGccUAdJRXL+M9b1bSTolvo/2IXOpagtoXvI3dEBjds4VlOflHeotA8Qaw3iy98Na9FYtdw2iXsVxYh1jeNmKEMrElWBHqcigDraK5yx8d+GtS1KLT7bUg1xMSIQ8EiJKR1COyhWP0JqhYfEGxuvGureHpo5ka1nigt3S0mbzGZfm3EJtUBuASQCOQSOaAOyornLjx54YtdUbTptVjW4SUQOfLcxpIeNjSAbFbPGCc1NrHjHQdCvVstQvWW6KeYYooJJmVM43MEU7RweTigDdoqO3uIru2iuYHDwyoJEcdGUjIP5VwGgfEfTII7+DxDrCLdR6rcwITCdsUSzMkYdkXagwMAsRn1oA9DoqlHq1jLq82lJPm+hhS4eIqR+7YkBgSMEZUjgnHejT9VstUa7Wym802dw1tOQjALIoBZckc4yORkdu1AF2iuOu9e1/UfFepaH4fXS4P7Miha4m1AO5kaQFlCIhGAAOWJ6npxWy2sHRPD6X3ii4srSVDtlaBmMZYsQoQEbiSMcYJzxzQBsUVg2fjPQNQ02+v7W9aSGwXddL9nkEsQxnJjK7+gJ6c4NWv+Ei0kz6ZCl4skmqIXsxGrP5qhdxbgHC4I5OByKANSiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKQsF6kD60ALRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdXK+OJPCb2NtaeLo0NpK5aKSRH2xuuOfMX/VnB4ORnmuo3p/eX86N6f3l/OgDx3T4ZdS0vxtpPhq8v9U8OvpLLZPcu8gFyyODHC78suNvcgE+9XLzxZpWvN4DtNNleaSLVYGuMRsBAwgkGxyRw2SeOvymvVt6f3l/Ojen95fzoA4zwFFGNZ8azBAJH1x1ZsckCKMgf+PH865O0glbxbB8OzG32Ox1Z9XPHy/YxiWNPcec+3/gFev70/vL+dG9P7y/nQBwttpsGs+NPH2mXIzBd2dlC/0aKUZ/WsfwDd3nifxHZvqKMJPC1i1hNuHW9ZijsPX93ED/ANtK9S3p/eX86N6f3l/OgDwTxb4lvdW8I6qNQ8Q3MeqJcEPoMFigW3VJhtLuULYAAbfuAJIA9K9Nh/5LJef9i/B/6UTV129P7y/nRvT+8v50AcN8SLOPULrwjaSyTxpLraKXglaJx+5l6MpBB+lUtMsE8C+O7uzjWW7TXLVprO4upTJMZ4R80BkbJKlSGXP+1Xo29P7y/nRvT+8v50AeE3fiK51q18NT3XiW5vNSOr2Ul1pcdikUVi/mqCGOzeuCdoy2Wz3Ga7rTNVsdH+Kvia01G5S1n1M2Rsll4+0YjKHYe5DcV3m9P7y/nRvT+8v50AeEabDZ23hOfwv4m8ZanptwGlhutL+xRMZMux3Rnyi7hshgwJOTXUeJ73TPDut3V3p/iyTS9c+yRRzW1za+dHe7FJj4IBLfMRlG79K9P3p/eX86N6f3l/OgClod3d6hoGn3l/a/Zbye2jkmg5/duVBK888H1ryPTfEei6d4S8a6ReRP9vvtT1FILYQMzXrOzIuzA+Y5+U+mOe1e070/vL+dG9P7y/nQB5h4ga88C6D4X8UTxPNc6ZYLp2oovJkV4xtyfaZE/wC+jXZeC9Gl0LwlYWdyd16yGe7Y9WnkJeQn/gTEfhTPEGgS+IL2xSfVFj0iCWOeaxWEFrh0bcu6TdwuQpK7ecda6Den95fzoA898Zt8PbnWnXxHObDVrZAqXSNLby7SMjZIuA+M9OcHPFcvJ/b1z4S8MatqN9qkdlp+qzsb5rcSXK2xV0hndGU5xnklScNn3r2ren95fzo3p/eX86APNtB1Hw7a6lqviiTxhc60bbTxFcyyQIsaxh9yjKRqGbOQByfm+lZ3gGzl8MeKEk1nTxZrr0LHSQzlhZLvaQ2fP3SQwfAwCQR2Fetb0/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9P7y/nQA6im70/vL+dG9SQAwyfegB1FFFABRRRQAUUUUAFFFFABXJ+M7Cz1PUvCtnf2kF1bSaq++GeMOjYtLgjIPB5AP4V1lc54l/5D3hH/sKv/wCkdzQAv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaP+EB8Hf8AQq6J/wCAEX/xNdFRQBzv/CA+Dv8AoVdE/wDACL/4mj/hAfB3/Qq6J/4ARf8AxNdFRQBzv/CA+Dv+hV0T/wAAIv8A4mj/AIQHwd/0Kuif+AEX/wATXRUUAc7/AMID4O/6FXRP/ACL/wCJo/4QHwd/0Kuif+AEX/xNdFRQBzv/AAgPg7/oVdE/8AIv/iaydS8MaDo3ibwncaXounWMzanIjSW1skbFfslwcEqBxkA/hXcVzniX/kPeEf8AsKv/AOkdzQB0dFFFABRRRQAUUUUAFFFFABXOeJf+Q94R/wCwq/8A6R3NdHXOeJf+Q94R/wCwq/8A6R3NAHR0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFYXjHULrSvCl7e2UvlXEezY+0NjLqDwQR0JrdrmfiF/yI2o/9sv/AEalXSV5pPuZ1W1Tk12Z5l/wsLxT/wBBT/yXi/8AiaP+FheKf+gp/wCS8X/xNcxRXr+yp/yr7jxvbVP5n950/wDwsLxT/wBBT/yXi/8AiaP+FheKf+gp/wCS8X/xNcxRR7Kn/KvuD21T+Z/edP8A8LC8U/8AQU/8l4v/AImj/hYXin/oKf8AkvF/8TXMUUeyp/yr7g9tU/mf3nT/APCwvFP/AEFP/JeL/wCJo/4WF4p/6Cn/AJLxf/E1zFFHsqf8q+4PbVP5n950/wDwsLxT/wBBT/yXi/8AiaP+FheKf+gp/wCS8X/xNcxRR7Kn/KvuD21T+Z/edP8A8LC8U/8AQU/8l4v/AImj/hYXin/oKf8AkvF/8TXMUUeyp/yr7g9tU/mf3nT/APCwvFP/AEFP/JeL/wCJo/4WF4p/6Cn/AJLxf/E1zFFHsqf8q+4PbVP5n950/wDwsLxT/wBBT/yXi/8AiaP+FheKf+gp/wCS8X/xNcxRR7Kn/KvuD21T+Z/edP8A8LC8U/8AQU/8l4v/AImj/hYXin/oKf8AkvF/8TXMUUeyp/yr7g9tU/mf3nT/APCwvFP/AEFP/JeL/wCJo/4WF4p/6Cn/AJLxf/E1zFFHsqf8q+4PbVP5n950/wDwsLxT/wBBT/yXi/8AiaP+FheKf+gp/wCS8X/xNcxRR7Kn/KvuD21T+Z/edP8A8LC8U/8AQU/8l4v/AImj/hYXin/oKf8AkvF/8TXMUUeyp/yr7g9tU/mf3nsHw58Q6pr39pf2ldef5PleX+7VcZ35+6B6Cu6rzL4Rf8xn/th/7Ur02vMxCSqtI9bDNukmwrnPEv8AyHvCP/YVf/0jua6Ouc8S/wDIe8I/9hV//SO5rA3OjooooAKKKKACkY7VJwTgZwKWigDzDSrvUYtG8KeKX1W+mutYvIUu7eSdmgMc+7CrH91Nny4IAPynOc12/iKysJ9Oe71G6vra3s43md7S+mtsKBklvLZd3A71RsvA+nWN9bTJdX0lraTPPaWEkqmC3kbOWUbd3G5sBmIGeAKt3fhm3v8Awz/YN5fX1xbtgSyyyhpZVD7irNjkHG08dOPegCp4Atb238H2cuoT3clzdlrordXDzNEsh3JHuck/KpUcnqD61narr9nqXivwtaQQ6gkkWqSlmuNPnhQ4tLgcO6BT17E56124GBgdK5zxL/yHvCP/AGFX/wDSO5oA6OiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArmfiF/wAiNqP/AGy/9GpXTVzPxC/5EbUf+2X/AKNStKX8SPqjOt/Dl6M8Looor2jwgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPTfhF/wAxn/th/wC1K9NrzL4Rf8xn/th/7Ur02vJxX8V/10PZwn8Ff11Cuc8S/wDIe8I/9hV//SO5ro65zxL/AMh7wj/2FX/9I7muc6Do6KKKACiiigAooooAKKKKACuc8S/8h7wj/wBhV/8A0jua6Ouc8S/8h7wj/wBhV/8A0juaAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5n4hf8AIjaj/wBsv/RqV01cz8Qv+RG1H/tl/wCjUrSl/Ej6ozrfw5ejPC6KKK9o8IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD034Rf8AMZ/7Yf8AtSvTa8y+EX/MZ/7Yf+1K9NrycV/Ff9dD2cJ/BX9dQrnPEv8AyHvCP/YVf/0jua6Ouc8S/wDIe8I/9hV//SO5rnOg6OiiigAooooAKKKKACiiigArnPEv/Ie8I/8AYVf/ANI7mujrnPEv/Ie8I/8AYVf/ANI7mgDo6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuZ+IX/ACI2o/8AbL/0aldNXM/EL/kRtR/7Zf8Ao1K0pfxI+qM638OXozwuiiivaPCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA9N+EX/ADGf+2H/ALUr02vMvhF/zGf+2H/tSvTa8nFfxX/XQ9nCfwV/XUK5zxL/AMh7wj/2FX/9I7mujrnPEv8AyHvCP/YVf/0jua5zoOjooooAKKKKACsrxPqU2j+FNY1O3UNNaWU08YIyNyoSM+2RWrUdxbw3dtLbXEayQzIY5EboykYIP4UAcRp8N3oHiPw5CNWv75NWt5lu1u7hpVMixiQSID9z+IYXC4YccUzxXfatfeNbXw7p8FzJCuntfSrBfGz3nzNg3SqCwAxwq9S3JwK17HwRaWTb/wC1NVnkitXtLR5p1LWcbAA+UQo+bhfmbcflHNWb/wALQ3sllcJqWo2l/aQG3W9gkXzZIzjKvuUq2SoPTg8jFAEvhXUIdT8NWdzALlVw0bLdSGSVHRijqzEncQykZzzisHVdUvLzxX4Wgn0LULGNNUlK3Fw8BR8WlwMAJIzc9eQOn4V1Wk6Va6JpcGnWSssEIIG5izMSSSxJ6kkkk+prJ8S/8h7wj/2FX/8ASO5oA6OiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArmfiF/yI2o/9sv8A0aldNXM/EL/kRtR/7Zf+jUrSl/Ej6ozrfw5ejPC6KKK9o8IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD034Rf8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nXj0rVoAKKKKACuc8S/8h7wj/wBhV/8A0jua6Ouc8S/8h7wj/wBhV/8A0juaAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5n4hf8AIjaj/wBsv/RqV01cz8Qv+RG1H/tl/wCjUrSl/Ej6ozrfw5ejPC6KKK9o8IKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD034Rf8AMZ/7Yf8AtSvTa8y+EX/MZ/7Yf+1K9NrycV/Ff9dD2cJ/BX9dQrnPEv8AyHvCP/YVf/0jua6Ouc8S/wDIe8I/9hV//SO5rnOg6OiiigArz7xfb6XoHm315q/it3n864FtYXznaiDdIwXICooI7jqBXoNct4vTTVmtp9TstTmt2trm0llsoDKkcUoQOJFUF8HaCCoONpz7gFbwJdwXE2qQxx+JI5YTEJE1ycORkMQYxvbAI6noeOuDjsWJCkgZOOB61yngm300rd39l4jbXZpkigknZo90aR7tiFUAwRucnIySa6ygDyXR7WC28P8AgzxLBn+3NSv4Vvbncd9x5ofzUf1C8kA/d2DGMV13jXVzarZ6Wy30dtfFvtV3aWk0xjiXG5R5asQ752g8YG45yBnRtPCOhWOq/wBp29iEuQ7yJ+9cpGz/AHmSMnYhOTkqATk+taOnada6Tp8VjZRGK2iBCIXLYySTyxJPJNAHK/Cm6trj4fWEdssipbtLGVeF4wP3jEY3AZGCORkdR1Bpmqz67J4r8LJqOnafb2g1SXy5Le9eV2P2S4xlTEoHGT94/j1rrdN0200iwjsbGLyraPOxNxbGSWPJJPUmsbxL/wAh7wj/ANhV/wD0juaAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5n4hf8iNqP8A2y/9GpXTVzPxC/5EbUf+2X/o1K0pfxI+qM638OXozwuiiivaPCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA9N+EX/MZ/7Yf+1K9NrzL4Rf8xn/ALYf+1K9NrycV/Ff9dD2cJ/BX9dQrnPEv/Ie8I/9hV//AEjua6Ou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"/> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Copied</div><!----></button><!----></div> <pre class="language-python "><!----><span class="hljs-meta">>>> </span><span class="hljs-built_in">print</span>(analysis)<!----></pre></div><!----> <pre>The analysis of the Titanic data reveals that socio-economic status and sex are significant factors in determining survival rates. Passengers with lower socio-economic status and males are less likely to survive. The age of a passenger has a minimal impact on their survival rate. | |
| </pre> <p>Impressive, isn’t it? You could also provide your agent with a visualizer tool to let it reflect upon its own graphs!</p> <!--[1--><h2 class="relative group"><a id="data-scientist-agent-run-predictions-" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#data-scientist-agent-run-predictions-"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span>Data scientist agent: Run predictions 🛠️</span></h2><!--]--><!----> <p>👉 Now let’s dig further: <strong>we will let our model perform predictions on the data.</strong></p> <p>To do so, we also let it use <code>sklearn</code> in the <code>additional_authorized_imports</code>.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Copied</div><!----></button><!----></div> <pre class="language-python "><!---->agent = CodeAgent( | |
| tools=[], | |
| model=model, | |
| additional_authorized_imports=[ | |
| <span class="hljs-string">"numpy"</span>, | |
| <span class="hljs-string">"pandas"</span>, | |
| <span class="hljs-string">"matplotlib.pyplot"</span>, | |
| <span class="hljs-string">"seaborn"</span>, | |
| <span class="hljs-string">"sklearn"</span>, | |
| ], | |
| max_iterations=<span class="hljs-number">12</span>, | |
| ) | |
| output = agent.run( | |
| <span class="hljs-string">"""You are an expert machine learning engineer. | |
| Please train a ML model on "titanic/train.csv" to predict the survival for rows of "titanic/test.csv". | |
| Output the results under './output.csv'. | |
| Take care to import functions and modules before using them! | |
| """</span>, | |
| additional_args=<span class="hljs-built_in">dict</span>(additional_notes=additional_notes + <span class="hljs-string">"\n"</span> + analysis), | |
| )<!----></pre></div><!----> <p>Even though the agent got a few errors, it managed to correctly solve the problem in the end!</p> <p>The test predictions that the agent output above, once submitted to Kaggle, score <strong>0.78229</strong>, which is #2824 out of 17,360, and better than what I had painfully achieved when first trying the challenge years ago.</p> <p>Your result will vary, but anyway I find it very impressive to achieve this with an agent in a few seconds.</p> <p>🚀 The above is just a naive attempt with agent data analyst: it can certainly be improved a lot to fit your use case better!</p> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/cookbook/blob/main/notebooks/en/agent_data_analyst.md" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg><!----> <span><span class="underline">Update</span> on GitHub</span></a><!----> <p></p><!--]--><!----><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]--> | |
| <script> | |
| { | |
| __sveltekit_k77989 = { | |
| base: "/docs/cookbook/pr_362/en", | |
| assets: "/docs/cookbook/pr_362/en" | |
| }; | |
| const element = document.currentScript.parentElement; | |
| Promise.all([ | |
| import("/docs/cookbook/pr_362/en/_app/immutable/entry/start.C4oWFr5q.js"), | |
| import("/docs/cookbook/pr_362/en/_app/immutable/entry/app._O5PZ4Sh.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 3], | |
| data: [null,null], | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 48.2 kB
- Xet hash:
- 278087b1b3cbf2c2f51dac41d3f450f3e8f1be4e1055058aecd4df29d082ee13
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.