import{s as yU,f as SU,n as oU,o as uU}from"../chunks/scheduler.f6b352c8.js";import{S as gU,i as mU,g as Q,s as M,r as E,A as xU,h as V,f as U,c as C,j as IU,u as s,x as e,k as $J,y as kU,a as t,v as R,d as n,t as w,w as D}from"../chunks/index.7f38e934.js";import{C as A}from"../chunks/CodeBlock.3ee8293b.js";import{H as dJ,E as cU}from"../chunks/index.1338b5b2.js";function rU(_J){let a,ul,Sl,gl,i,ml,j,bJ,xl,p,BJ="Этот курс не зависит от фреймворка, потому что мы хотим <strong>сфокусироваться на концепции AI агентов и не увязнуть в специфике конкретного фреймворка</strong>.",kl,T,qJ="Кроме того, мы хотим, чтобы студенты могли использовать концепции, изучаемые в этом курсе, в своих собственных проектах, используя любой фреймворк, который им нравится.",cl,I,vJ="Поэтому в этом разделе 1 мы будем использовать библиотеку фиктивного агента и простой бессерверный API для доступа к нашему движку LLM.",rl,y,YJ="Вы, вероятно, не будете использовать её в производстве, но она послужит хорошей <strong>стартовой точкой для понимания того, как работают агенты</strong>.",hl,S,FJ="После этого раздела вы будете готовы <strong>создать простого агента</strong> с использованием <code>smolagents</code>.",Ol,o,ZJ="В следующих разделах мы также будем использовать другие библиотеки AI Агентов, такие как <code>LangGraph</code>, <code>LangChain</code> и <code>LlamaIndex</code>.",fl,u,XJ="Для простоты мы будем использовать простую функцию Python как Инструмент и Агент.",Nl,g,GJ="Мы будем использовать встроенные пакеты Python, такие как <code>datetime</code> и <code>os</code>, чтобы вы могли попробовать его в любом окружении.",$l,m,HJ='Вы можете отслеживать процесс <a href="https://huggingface.co/agents-course/notebooks/blob/main/dummy_agent_library.ipynb" rel="nofollow">в этом блокноте</a> и <strong>запустите код самостоятельно</strong>.',dl,x,_l,k,LJ="В экосистеме Hugging Face есть удобная функция Бессерверный API (Serverless API), которая позволяет легко выполнять инференс для многих моделей. При этом не требуется установки или развертывания.",bl,c,Bl,r,ql,h,zJ="вывод:",vl,O,Yl,f,WJ="Как видно из раздела LLM, если мы просто декодируем, <strong>модель остановится только тогда, когда предскажет токен EOS</strong>, а здесь этого не происходит, потому что это модель диалога (чата), и <strong>мы не применили ожидаемый ею шаблон чата</strong>.",Fl,N,PJ='Если теперь добавить специальные токены, относящиеся к используемой нами <a href="https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct">Llama-3.2-3B-Instruct модели</a>, поведение меняется, и теперь она выводит ожидаемый нами токен EOS.',Zl,$,Xl,d,KJ="вывод:",Gl,_,Hl,b,lU="Использование метода “chat” - это гораздо более удобный и надежный способ применения шаблонов чата:",Ll,B,zl,q,JU="вывод:",Wl,v,Pl,Y,UU="Метод chat - это РЕКОМЕНДУЕМЫЙ метод для обеспечения плавного перехода между моделями, но так как этот блокнот является только учебным, мы будем использовать метод “text_generation”, чтобы понять детали.",Kl,F,lJ,Z,tU="В предыдущих разделах мы увидели, что суть библиотеки агента заключается в добавлении информации в системную подсказку.",JJ,X,MU="Эта системная подсказка немного сложнее, чем та, которую мы видели ранее, но она уже содержит:",UJ,G,CU="<li><strong>Информацию об инструментах</strong>.</li> <li><strong>Инструкции по циклу</strong> (Мысль → Действие → Наблюдение)</li>",tJ,H,MJ,L,QU="Поскольку мы используем метод «text_generation», нам нужно применить подсказку вручную:",CJ,z,QJ,W,VU="Мы также можем сделать это следующим образом, что и происходит внутри метода <code>chat</code>:",VJ,P,eJ,K,eU="Теперь подсказка выглядит так:",EJ,ll,sJ,Jl,EU="Давайте декодируем!",RJ,Ul,nJ,tl,sU="вывод:",wJ,Ml,DJ,Cl,RU="Видите ли вы проблему?",AJ,Ql,nU=`<p>Ответ был галлюцинирован моделью. Нам нужно остановиться, чтобы действительно выполнить функцию!
Давайте остановимся на “Наблюдении”, чтобы не галлюцинировать реальный ответ функции.</p>`,aJ,Vl,iJ,el,wU="вывод:",jJ,El,pJ,sl,DU=`Намного лучше!
Давайте создадим фиктивную функцию get weather. В реальной ситуации вы, скорее всего, вызовете API.`,TJ,Rl,IJ,nl,AU="вывод:",yJ,wl,SJ,Dl,aU="Давайте скомбинируем базовую подсказку, сообщение о завершении выполнения функции и результат выполнения функции в виде Наблюдения и продолжим генерацию.",oJ,Al,uJ,al,iU="Вот новая подсказка:",gJ,il,mJ,jl,jU="Вывод:",xJ,pl,kJ,cJ,rJ,Tl,pU="Мы научились тому, как можно создавать Агентов с нуля, используя код на Python, и <strong>увидели, насколько утомительным может быть этот процесс</strong>. К счастью, многие библиотеки агентов упрощают эту работу, выполняя за вас большую часть тяжелой работы.",hJ,Il,TU="Теперь мы готовы <strong>создать нашего первого настоящего Агента</strong> с помощью библиотеки <code>smolagents</code>.",OJ,yl,fJ,ol,NJ;return i=new dJ({props:{title:"Библиотека Фиктивного Агента",local:"библиотека-фиктивного-агента",headingTag:"h1"}}),x=new dJ({props:{title:"Бессерверный API",local:"бессерверный-api",headingTag:"h2"}}),c=new A({props:{code:"aW1wb3J0JTIwb3MlMEFmcm9tJTIwaHVnZ2luZ2ZhY2VfaHViJTIwaW1wb3J0JTIwSW5mZXJlbmNlQ2xpZW50JTBBJTBBJTIzJTIzJTIwJUQwJTkyJUQwJUIwJUQwJUJDJTIwJUQwJUJEJUQxJTgzJUQwJUI2JUQwJUI1JUQwJUJEJTIwJUQxJTgyJUQwJUJFJUQwJUJBJUQwJUI1JUQwJUJEJTIwJUQxJTgxJTIwJUQxJTgxJUQwJUIwJUQwJUI5JUQxJTgyJUQwJUIwJTIwaHR0cHMlM0ElMkYlMkZoZi5jbyUyRnNldHRpbmdzJTJGdG9rZW5zJTJDJTIwJUQxJTgzJUQwJUIxJUQwJUI1JUQwJUI0JUQwJUI4JUQxJTgyJUQwJUI1JUQxJTgxJUQxJThDJTJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQwJUIyJTIwJUQwJUJBJUQwJUIwJUQxJTg3JUQwJUI1JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI1JTIwJUQxJTgyJUQwJUI4JUQwJUJGJUQwJUIwJTIwJUQxJTgyJUQwJUJFJUQwJUJBJUQwJUI1JUQwJUJEJUQwJUIwJTIwJUQwJUIyJUQxJThCJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUJEJTIwJ3JlYWQnLiUyMCVEMCU5NSVEMSU4MSVEMCVCQiVEMCVCOCUyMCVEMCVCMiVEMSU4QiUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMSU4MyVEMSU4MSVEMCVCQSVEMCVCMCVEMCVCNSVEMSU4MiVEMCVCNSUyMCVEMSU4RCVEMSU4MiVEMSU4MyUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMyVEMSU4MCVEMCVCMCVEMCVCQyVEMCVCQyVEMSU4MyUyMCVEMCVCMiUyMEdvb2dsZSUyMENvbGFiJTJDJTIwJUQwJUIyJUQxJThCJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUI1JUQxJTgyJUQwJUI1JTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUI1JUQwJUIzJUQwJUJFJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUIyJUQwJUJBJUQwJUJCJUQwJUIwJUQwJUI0JUQwJUJBJUQwJUI1JTIwJTIyc2V0dGluZ3MlMjIlMjAlRDAlQjIlMjAlRDElODAlRDAlQjAlRDAlQjclRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjUlMjAlMjJzZWNyZXRzJTIyLiUyMCVEMCU5RSVEMCVCMSVEMSU4RiVEMCVCNyVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4QyVEMCVCRCVEMCVCRSUyMCVEMCVCRCVEMCVCMCVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCOCVEMSU4MiVEMCVCNSUyMCVEMCVCNSVEMCVCMyVEMCVCRSUyMCUyMkhGX1RPS0VOJTIyJTBBb3MuZW52aXJvbiU1QiUyMkhGX1RPS0VOJTIyJTVEJTNEJTIyaGZfeHh4eHh4eHh4eHh4eHglMjIlMEElMEFjbGllbnQlMjAlM0QlMjBJbmZlcmVuY2VDbGllbnQoJTIybWV0YS1sbGFtYSUyRkxsYW1hLTMuMi0zQi1JbnN0cnVjdCUyMiklMEElMjMlMjAlRDAlQjUlRDElODElRDAlQkIlRDAlQjglMjAlRDAlQjIlRDElOEIlRDAlQjIlRDAlQkUlRDAlQjQlMjAlRDElODElRDAlQkIlRDAlQjUlRDAlQjQlRDElODMlRDElOEUlRDElODklRDAlQjglRDElODUlMjAlRDElOEYlRDElODclRDAlQjUlRDAlQjUlRDAlQkElMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDElODIlMjBjJUQwJUJFJUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJFJUQxJTg4JUQwJUI4JUQwJUIxJUQwJUJBJUQwJUI4JTJDJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQxJTg3JUQwJUI4JUQxJTgyJTIwJUQxJTgxJUQwJUIyJUQwJUJFJUQwJUIxJUQwJUJFJUQwJUI0JUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUJDJUQwJUJFJUQwJUI0JUQwJUI1JUQwJUJCJUQxJThDJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUI1JUQxJTgyJTIwJUQwJUIxJUQxJThCJUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUIzJUQxJTgwJUQxJTgzJUQwJUI2JUQwJUI1JUQwJUJEJUQwJUIwLiUyMCVEMCU5MiVEMSU4QiUyMCVEMSU4MiVEMCVCMCVEMCVCQSVEMCVCNiVEMCVCNSUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCNSVEMSU4MiVEMCVCNSUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMSU4RCVEMSU4MiVEMSU4MyUyMCVEMCVCRiVEMSU4MyVEMCVCMSVEMCVCQiVEMCVCOCVEMSU4NyVEMCVCRCVEMSU4MyVEMSU4RSUyMCVEMCVCQSVEMCVCRSVEMCVCRCVEMCVCNSVEMSU4NyVEMCVCRCVEMSU4MyVEMSU4RSUyMCVEMSU4MiVEMCVCRSVEMSU4NyVEMCVCQSVEMSU4MyUyQyUyMCVEMSU4MSVEMCVCRSVEMCVCNCVEMCVCNSVEMSU4MCVEMCVCNiVEMCVCMCVEMSU4OSVEMSU4MyVEMSU4RSUyMExsYW1hLTMuMi0zQi1JbnN0cnVjdCUwQSUyMyUyMGNsaWVudCUyMCUzRCUyMEluZmVyZW5jZUNsaWVudCglMjJodHRwcyUzQSUyRiUyRmpjMjZtd2cyMjhta2o4ZHcudXMtZWFzdC0xLmF3cy5lbmRwb2ludHMuaHVnZ2luZ2ZhY2UuY2xvdWQlMjIp",highlighted:`<span class="hljs-keyword">import</span> os
<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> InferenceClient

<span class="hljs-comment">## Вам нужен токен с сайта https://hf.co/settings/tokens, убедитесь, что в качестве типа токена выбран &#x27;read&#x27;. Если вы запускаете эту программу в Google Colab, вы можете установить его на вкладке &quot;settings&quot; в разделе &quot;secrets&quot;. Обязательно назовите его &quot;HF_TOKEN&quot;</span>
os.environ[<span class="hljs-string">&quot;HF_TOKEN&quot;</span>]=<span class="hljs-string">&quot;hf_xxxxxxxxxxxxxx&quot;</span>

client = InferenceClient(<span class="hljs-string">&quot;meta-llama/Llama-3.2-3B-Instruct&quot;</span>)
<span class="hljs-comment"># если вывод следующих ячеек будет cодержать ошибки, значит свободная модель может быть перегружена. Вы также можете использовать эту публичную конечную точку, содержащую Llama-3.2-3B-Instruct</span>
<span class="hljs-comment"># client = InferenceClient(&quot;https://jc26mwg228mkj8dw.us-east-1.aws.endpoints.huggingface.cloud&quot;)</span>`,wrap:!1}}),r=new A({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjAlMjJUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMiUyQyUwQSUyMCUyMCUyMCUyMG1heF9uZXdfdG9rZW5zJTNEMTAwJTJDJTBBKSUwQSUwQXByaW50KG91dHB1dCk=",highlighted:`output = client.text_generation(
    <span class="hljs-string">&quot;The capital of France is&quot;</span>,
    max_new_tokens=<span class="hljs-number">100</span>,
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),O=new A({props:{code:"JUQwJTlGJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUI2LiUyMCVEMCVBMSVEMSU4MiVEMCVCRSVEMCVCQiVEMCVCOCVEMSU4NiVEMCVCMCUyMCVEMCVBNCVEMSU4MCVEMCVCMCVEMCVCRCVEMSU4NiVEMCVCOCVEMCVCOCUyMC0lMjAlRDAlOUYlRDAlQjAlRDElODAlRDAlQjglRDAlQjYuJTIwJUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMCU5RiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCNi4lMjAlRDAlQTElRDElODIlRDAlQkUlRDAlQkIlRDAlQjglRDElODYlRDAlQjAlMjAlRDAlQTQlRDElODAlRDAlQjAlRDAlQkQlRDElODYlRDAlQjglRDAlQjglMjAtJTIwJUQwJTlGJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUI2LiUyMCVEMCVBMSVEMSU4MiVEMCVCRSVEMCVCQiVEMCVCOCVEMSU4NiVEMCVCMCUyMCVEMCVBNCVEMSU4MCVEMCVCMCVEMCVCRCVEMSU4NiVEMCVCOCVEMCVCOCUyMC0lMjAlRDAlOUYlRDAlQjAlRDElODAlRDAlQjglRDAlQjYuJTIwJUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMCU5RiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCNi4lMjAlRDAlQTElRDElODIlRDAlQkUlRDAlQkIlRDAlQjglRDElODYlRDAlQjAlMjAlRDAlQTQlRDElODAlRDAlQjAlRDAlQkQlRDElODYlRDAlQjglRDAlQjglMjAtJTIwJUQwJTlGJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUI2LiUyMCVEMCVBMSVEMSU4MiVEMCVCRSVEMCVCQiVEMCVCOCVEMSU4NiVEMCVCMCUyMCVEMCVBNCVEMSU4MCVEMCVCMCVEMCVCRCVEMSU4NiVEMCVCOCVEMCVCOCUyMC0lMjAlRDAlOUYlRDAlQjAlRDElODAlRDAlQjglRDAlQjYuJTIwJUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMCU5RiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCNi4lMjAlRDAlQTElRDElODIlRDAlQkUlRDAlQkIlRDAlQjglRDElODYlRDAlQjAlMjAlRDAlQTQlRDElODAlRDAlQjAlRDAlQkQlRDElODYlRDAlQjglRDAlQjglMjAtJTIwJUQwJTlGJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUI2LiUyMCVEMCVBMSVEMSU4MiVEMCVCRSVEMCVCQiVEMCVCOCVEMSU4NiVEMCVCMCUyMCVEMCVBNCVEMSU4MCVEMCVCMCVEMCVCRCVEMSU4NiVEMCVCOCVEMCVCOCUyMC0lMjAlRDAlOUYlRDAlQjAlRDElODAlRDAlQjglRDAlQjYuJTIwJUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMCU5RiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCNi4lMjAlRDAlQTElRDElODIlRDAlQkUlRDAlQkIlRDAlQjglRDElODYlRDAlQjAlMjAlRDAlQTQlRDElODAlRDAlQjAlRDAlQkQlRDElODYlRDAlQjglRDAlQjglMjAtJTIwJUQwJTlGJUQwJUIwJUQxJTgwJUQwJUI4JUQwJUI2LiUyMCVEMCVBMSVEMSU4MiVEMCVCRSVEMCVCQiVEMCVCOCVEMSU4NiVEMCVCMCUyMCVEMCVBNCVEMSU4MCVEMCVCMCVEMCVCRCVEMSU4NiVEMCVCOCVEMCVCOCUyMC0lMjAlRDAlOUYlRDAlQjAlRDElODAlRDAlQjglRDAlQjYuJTIwJUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMCU5RiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCNi4=",highlighted:"Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж. Столица Франции - Париж.",wrap:!1}}),$=new A({props:{code:"cHJvbXB0JTNEJTIyJTIyJTIyJTNDJTdDYmVnaW5fb2ZfdGV4dCU3QyUzRSUzQyU3Q3N0YXJ0X2hlYWRlcl9pZCU3QyUzRXVzZXIlM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTBBVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlM0MlN0Nlb3RfaWQlN0MlM0UlM0MlN0NzdGFydF9oZWFkZXJfaWQlN0MlM0Vhc3Npc3RhbnQlM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTIyJTIyJTIyJTBBb3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjAlMjBtYXhfbmV3X3Rva2VucyUzRDEwMCUyQyUwQSklMEElMEFwcmludChvdXRwdXQp",highlighted:`prompt=<span class="hljs-string">&quot;&quot;&quot;&lt;|begin_of_text|&gt;&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;
The capital of France is&lt;|eot_id|&gt;&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;&quot;&quot;&quot;</span>
output = client.text_generation(
    prompt,
    max_new_tokens=<span class="hljs-number">100</span>,
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),_=new A({props:{code:"JUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMCU5RiVEMCVCMCVEMSU4MCVEMCVCOCVEMCVCNi4=",highlighted:"Столица Франции - Париж.",wrap:!1}}),B=new A({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LmNoYXQuY29tcGxldGlvbnMuY3JlYXRlKCUwQSUyMCUyMCUyMCUyMG1lc3NhZ2VzJTNEJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTIycm9sZSUyMiUzQSUyMCUyMnVzZXIlMjIlMkMlMjAlMjJjb250ZW50JTIyJTNBJTIwJTIyJUQwJUExJUQxJTgyJUQwJUJFJUQwJUJCJUQwJUI4JUQxJTg2JUQwJUIwJTIwJUQwJUE0JUQxJTgwJUQwJUIwJUQwJUJEJUQxJTg2JUQwJUI4JUQwJUI4JTIwLSUyMCVEMSU4RCVEMSU4MiVEMCVCRSUyMiU3RCUyQyUwQSUyMCUyMCUyMCUyMCU1RCUyQyUwQSUyMCUyMCUyMCUyMHN0cmVhbSUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwbWF4X3Rva2VucyUzRDEwMjQlMkMlMEEpJTBBcHJpbnQob3V0cHV0LmNob2ljZXMlNUIwJTVELm1lc3NhZ2UuY29udGVudCk=",highlighted:`output = client.chat.completions.create(
    messages=[
        {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;Столица Франции - это&quot;</span>},
    ],
    stream=<span class="hljs-literal">False</span>,
    max_tokens=<span class="hljs-number">1024</span>,
)
<span class="hljs-built_in">print</span>(output.choices[<span class="hljs-number">0</span>].message.content)`,wrap:!1}}),v=new A({props:{code:"UGFyaXMu",highlighted:"Paris.",wrap:!1}}),F=new dJ({props:{title:"Фиктивный Агент",local:"фиктивный-агент",headingTag:"h2"}}),H=new A({props:{code:"JTBBJTBBJTBBJTBBJTBBJTBBJTBBJTBBKCVEMSU4RCVEMSU4MiVEMCVCMCUyMCVEMCVCQyVEMSU4QiVEMSU4MSVEMCVCQiVEMSU4QyUyRiVEMCVCNCVEMCVCNSVEMCVCOSVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCOCVEMCVCNSUyRiVEMCVCRCVEMCVCMCVEMCVCMSVEMCVCQiVEMSU4RSVEMCVCNCVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCNSVEMSU4MiUyMCVEMCVCRiVEMCVCRSVEMCVCMiVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4RiVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyME4lMjAlRDElODAlRDAlQjAlRDAlQjclMkMlMjAlRDAlQkYlRDAlQkUlRDElOEQlRDElODIlRDAlQkUlRDAlQkMlRDElODMlMjAlRDAlQkYlRDElODAlRDAlQjglMjAlRDAlQkQlRDAlQjUlRDAlQkUlRDAlQjElRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlRDAlQkUlRDElODElRDElODIlRDAlQjglMjAlRDElODElRDAlQkIlRDAlQjUlRDAlQjQlRDElODMlRDAlQjUlRDElODIlMjAlRDElODElRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjAlRDElODIlRDElOEMlMjAlRDAlQkQlRDAlQjUlRDElODElRDAlQkElRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDElODglRDAlQjAlRDAlQjMlRDAlQkUlRDAlQjIuJTIwJUQwJTkxJUQwJUJCJUQwJUJFJUQwJUJBJTIwJTI0SlNPTl9CTE9CJTIwJUQwJUI0JUQwJUJFJUQwJUJCJUQwJUI2JUQwJUI1JUQwJUJEJTIwJUQwJUIxJUQxJThCJUQxJTgyJUQxJThDJTIwJUQwJUJFJUQxJTgyJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTgyJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwbWFya2Rvd24lMjAlRDAlQjglMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlMjAlRDElODIlRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDAlOUUlRDAlOTQlRDAlOUQlRDAlOUUlMjAlRDAlQjQlRDAlQjUlRDAlQjklRDElODElRDElODIlRDAlQjIlRDAlQjglRDAlQjUlMjAlRDAlQjclRDAlQjAlMjAlRDElODAlRDAlQjAlRDAlQjcuKSUwQSUwQSUwQQ==",highlighted:`Ответить на следующие вопросы как можно лучше. У тебя есть доступ к следующим инструментам:

get_weather: Получение текущей погоды в заданном месте

Способ использования инструментов заключается в указании json blob.
В частности, этот json должен содержать ключ <span class="hljs-string">\`action\`</span> (с именем используемого инструмента) и ключ <span class="hljs-string">\`action_input\`</span> (с входными данными для инструмента).

Единственные значения, которые должны быть в поле <span class="hljs-string">&quot;action&quot;</span>, это:
get_weather: Получение текущей погоды в заданном месте, args: {<span class="hljs-string">&quot;location&quot;</span>: {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>}}
пример использования:

{{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;New York&quot;</span>}
}}

ВСЕГДА используй следующий формат:

Вопрос: входной вопрос, на который необходимо ответить.
Мысль: ты всегда должен думать о том, какое действие предпринять. Только одно действие за раз в этом формате:
Действие:

$<span class="hljs-symbol">JSON_BLOB</span> (внутри markdown ячейки)

Наблюдение: результат действия. Это наблюдение уникально, полно и является источником истины.
... (эта мысль/действие/наблюдение может повторяться <span class="hljs-symbol">N</span> раз, поэтому при необходимости следует сделать несколько шагов. Блок $<span class="hljs-symbol">JSON_BLOB</span> должен быть отформатирован как markdown и использовать только ОДНО действие за раз.)

Ты всегда должен заканчивать свой вывод в следующем формате:

Мысль: Теперь я знаю окончательный ответ.
Окончательный ответ: окончательный ответ на исходный входной вопрос

Теперь начинай! Напоминание: ВСЕГДА используй точные символы <span class="hljs-string">\`Окончательный ответ:\`</span>, когда даешь окончательный ответ.`,wrap:!1}}),z=new A({props:{code:"cHJvbXB0JTNEZiUyMiUyMiUyMiUzQyU3Q2JlZ2luX29mX3RleHQlN0MlM0UlM0MlN0NzdGFydF9oZWFkZXJfaWQlN0MlM0VzeXN0ZW0lM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTBBJTdCU1lTVEVNX1BST01QVCU3RCUwQSUzQyU3Q2VvdF9pZCU3QyUzRSUzQyU3Q3N0YXJ0X2hlYWRlcl9pZCU3QyUzRXVzZXIlM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTBBJUQwJTlBJUQwJUIwJUQwJUJBJUQwJUIwJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUIzJUQwJUJFJUQwJUI0JUQwJUIwJTIwJUQwJUIyJTIwJUQwJTlCJUQwJUJFJUQwJUJEJUQwJUI0JUQwJUJFJUQwJUJEJUQwJUI1JTNGJTBBJTNDJTdDZW90X2lkJTdDJTNFJTNDJTdDc3RhcnRfaGVhZGVyX2lkJTdDJTNFYXNzaXN0YW50JTNDJTdDZW5kX2hlYWRlcl9pZCU3QyUzRSUwQSUyMiUyMiUyMg==",highlighted:`<span class="hljs-attr">prompt</span>=f<span class="hljs-string">&quot;&quot;&quot;&lt;|begin_of_text|&gt;&lt;|start_header_id|&gt;system&lt;|end_header_id|&gt;
{SYSTEM_PROMPT}
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;
Какая погода в Лондоне?
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;
&quot;&quot;&quot;</span>`,wrap:!1}}),P=new A({props:{code:"bWVzc2FnZXMlM0QlNUIlMEElMjAlMjAlMjAlMjAlN0IlMjJyb2xlJTIyJTNBJTIwJTIyc3lzdGVtJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMFNZU1RFTV9QUk9NUFQlN0QlMkMlMEElMjAlMjAlMjAlMjAlN0IlMjJyb2xlJTIyJTNBJTIwJTIydXNlciUyMiUyQyUyMCUyMmNvbnRlbnQlMjIlM0ElMjAlMjIlRDAlOUElRDAlQjAlRDAlQkElRDAlQjAlRDElOEYlMjAlRDAlQkYlRDAlQkUlRDAlQjMlRDAlQkUlRDAlQjQlRDAlQjAlMjAlRDAlQjIlMjAlRDAlOUIlRDAlQkUlRDAlQkQlRDAlQjQlRDAlQkUlRDAlQkQlRDAlQjUlM0YlMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlNUQlMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQXV0b1Rva2VuaXplciUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMm1ldGEtbGxhbWElMkZMbGFtYS0zLjItM0ItSW5zdHJ1Y3QlMjIpJTBBJTBBdG9rZW5pemVyLmFwcGx5X2NoYXRfdGVtcGxhdGUobWVzc2FnZXMlMkMlMjB0b2tlbml6ZSUzREZhbHNlJTJDYWRkX2dlbmVyYXRpb25fcHJvbXB0JTNEVHJ1ZSk=",highlighted:`messages=[
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;system&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: SYSTEM_PROMPT},
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;Какая погода в Лондоне?&quot;</span>},
    ]
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;meta-llama/Llama-3.2-3B-Instruct&quot;</span>)

tokenizer.apply_chat_template(messages, <span class="hljs-keyword">tokenize</span>=<span class="hljs-keyword">False</span>,add_generation_prompt=<span class="hljs-keyword">True</span>)`,wrap:!1}}),ll=new A({props:{code:"JTBBJTBBJTBBJTBBJTBBJTBBJTBBJTBBKCVEMSU4RCVEMSU4MiVEMCVCMCUyMCVEMCVCQyVEMSU4QiVEMSU4MSVEMCVCQiVEMSU4QyUyRiVEMCVCNCVEMCVCNSVEMCVCOSVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCOCVEMCVCNSUyRiVEMCVCRCVEMCVCMCVEMCVCMSVEMCVCQiVEMSU4RSVEMCVCNCVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCNSVEMSU4MiUyMCVEMCVCRiVEMCVCRSVEMCVCMiVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4RiVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyME4lMjAlRDElODAlRDAlQjAlRDAlQjclMkMlMjAlRDAlQkYlRDAlQkUlRDElOEQlRDElODIlRDAlQkUlRDAlQkMlRDElODMlMjAlRDAlQkYlRDElODAlRDAlQjglMjAlRDAlQkQlRDAlQjUlRDAlQkUlRDAlQjElRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlRDAlQkUlRDElODElRDElODIlRDAlQjglMjAlRDElODElRDAlQkIlRDAlQjUlRDAlQjQlRDElODMlRDAlQjUlRDElODIlMjAlRDElODElRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjAlRDElODIlRDElOEMlMjAlRDAlQkQlRDAlQjUlRDElODElRDAlQkElRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDElODglRDAlQjAlRDAlQjMlRDAlQkUlRDAlQjIuJTIwJUQwJTkxJUQwJUJCJUQwJUJFJUQwJUJBJTIwJTI0SlNPTl9CTE9CJTIwJUQwJUI0JUQwJUJFJUQwJUJCJUQwJUI2JUQwJUI1JUQwJUJEJTIwJUQwJUIxJUQxJThCJUQxJTgyJUQxJThDJTIwJUQwJUJFJUQxJTgyJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTgyJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwbWFya2Rvd24lMjAlRDAlQjglMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlMjAlRDElODIlRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDAlOUUlRDAlOTQlRDAlOUQlRDAlOUUlMjAlRDAlQjQlRDAlQjUlRDAlQjklRDElODElRDElODIlRDAlQjIlRDAlQjglRDAlQjUlMjAlRDAlQjclRDAlQjAlMjAlRDElODAlRDAlQjAlRDAlQjcuKSUwQSUwQSUwQQ==",highlighted:`&lt;|begin_of_text|&gt;&lt;|start_header_id|&gt;system&lt;|end_header_id|&gt;
Ответить на следующие вопросы как можно лучше. У тебя есть доступ к следующим инструментам:

get_weather: Получение текущей погоды в заданном месте

Способ использования инструментов заключается в указании json blob.
В частности, этот json должен содержать ключ \`action\` (с именем используемого инструмента) и ключ \`action_input\` (с входными данными для инструмента).

Единственные значения, которые должны быть в поле <span class="hljs-comment">&quot;action&quot;</span>, это:
get_weather: Получение текущей погоды в заданном месте, args: {<span class="hljs-comment">&quot;location&quot;</span>: {<span class="hljs-comment">&quot;type&quot;</span>: <span class="hljs-comment">&quot;string&quot;</span>}}
пример использования:

{{
  <span class="hljs-comment">&quot;action&quot;</span>: <span class="hljs-comment">&quot;get_weather&quot;</span>,
  <span class="hljs-comment">&quot;action_input&quot;</span>: {<span class="hljs-comment">&quot;location&quot;</span>: <span class="hljs-comment">&quot;New York&quot;</span>}
}}

ВСЕГДА используй следующий формат:

Вопрос: входной вопрос, на который необходимо ответить.
Мысль: ты всегда должен думать о том, какое действие предпринять. Только одно действие за раз в этом формате:
Действие:

<span class="hljs-string">$J</span>SON_BLOB (внутри markdown ячейки)

Наблюдение: результат действия. Это наблюдение уникально, полно и является источником истины.
... (эта мысль/действие/наблюдение может повторяться <span class="hljs-type">N</span> раз, поэтому при необходимости следует сделать несколько шагов. Блок <span class="hljs-string">$J</span>SON_BLOB должен быть отформатирован как markdown и использовать только ОДНО действие за раз.)

Ты всегда должен заканчивать свой вывод в следующем формате:

Мысль: Теперь я знаю окончательный ответ.
Окончательный ответ: окончательный ответ на исходный входной вопрос

Теперь начинай! Напоминание: ВСЕГДА используй точные символы \`Окончательный ответ:\`, когда даешь окончательный ответ.
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;
Какая погода в Лондоне?
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;`,wrap:!1}}),Ul=new A({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjAlMjBtYXhfbmV3X3Rva2VucyUzRDIwMCUyQyUwQSklMEElMEFwcmludChvdXRwdXQp",highlighted:`output = client.text_generation(
    prompt,
    max_new_tokens=<span class="hljs-number">200</span>,
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),Ml=new A({props:{code:"JUQwJTk0JUQwJUI1JUQwJUI5JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI4JUQwJUI1JTNBJTBBJTYwJTYwJTYwJTBBJTdCJTBBJTIwJTIwJTIyYWN0aW9uJTIyJTNBJTIwJTIyZ2V0X3dlYXRoZXIlMjIlMkMlMEElMjAlMjAlMjJhY3Rpb25faW5wdXQlMjIlM0ElMjAlN0IlMjJsb2NhdGlvbiUyMiUzQSUyMCUyMkxvbmRvbiUyMiU3RCUwQSU3RCUwQSU2MCU2MCU2MCUwQSVEMCU5QyVEMSU4QiVEMSU4MSVEMCVCQiVEMSU4QyUzQSUyMCVEMCVBRiUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCNSVEMSU4MCVEMSU4RSUyQyUyMCVEMCVCQSVEMCVCMCVEMCVCQSVEMCVCMCVEMSU4RiUyMCVEMCVCRiVEMCVCRSVEMCVCMyVEMCVCRSVEMCVCNCVEMCVCMCUyMCVEMCVCMiUyMCVEMCU5QiVEMCVCRSVEMCVCRCVEMCVCNCVEMCVCRSVEMCVCRCVEMCVCNS4lMEElRDAlOUQlRDAlQjAlRDAlQjElRDAlQkIlRDElOEUlRDAlQjQlRDAlQjUlRDAlQkQlRDAlQjglRDAlQjUlM0ElMjAlRDAlOUYlRDAlQkUlRDAlQjMlRDAlQkUlRDAlQjQlRDAlQjAlMjAlRDAlQjIlMjAlRDAlOUIlRDAlQkUlRDAlQkQlRDAlQjQlRDAlQkUlRDAlQkQlRDAlQjUlMjAlRDElODElRDAlQjUlRDAlQjklRDElODclRDAlQjAlRDElODElMjAlRDAlQkYlRDElODAlRDAlQjUlRDAlQjglRDAlQkMlRDElODMlRDElODklRDAlQjUlRDElODElRDElODIlRDAlQjIlRDAlQjUlRDAlQkQlRDAlQkQlRDAlQkUlMjAlRDAlQkUlRDAlQjElRDAlQkIlRDAlQjAlRDElODclRDAlQkQlRDAlQjAlRDElOEYlMkMlMjAlRDAlQkMlRDAlQjAlRDAlQkElRDElODElRDAlQjglRDAlQkMlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQjAlRDElOEYlMjAlRDElODIlRDAlQjUlRDAlQkMlRDAlQkYlRDAlQjUlRDElODAlRDAlQjAlRDElODIlRDElODMlRDElODAlRDAlQjAlMjAxMiVDMiVCMEMlMkMlMjAlRDAlQkMlRDAlQjglRDAlQkQlRDAlQjglRDAlQkMlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQjAlRDElOEYlMjAtJTIwOCVDMiVCMEMu",highlighted:`<span class="hljs-title">Действие:</span>
\`\`\`
{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;London&quot;</span>}
}
\`\`\`
<span class="hljs-title">Мысль:</span> Я проверю, какая погода в Лондоне.
<span class="hljs-title">Наблюдение:</span> Погода в Лондоне сейчас преимущественно облачная, максимальная температура <span class="hljs-number">12</span>°C, минимальная - <span class="hljs-number">8</span>°C.`,wrap:!1}}),Vl=new A({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjAlMjBtYXhfbmV3X3Rva2VucyUzRDIwMCUyQyUwQSUyMCUyMCUyMCUyMHN0b3AlM0QlNUIlMjJPYnNlcnZhdGlvbiUzQSUyMiU1RCUyMCUyMyUyMCVEMCU5NCVEMCVCMCVEMCVCMiVEMCVCMCVEMCVCOSVEMSU4MiVEMCVCNSUyMCVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCMCVEMCVCRCVEMCVCRSVEMCVCMiVEMCVCOCVEMCVCQyVEMSU4MSVEMSU4RiUyMCVEMCVCNCVEMCVCRSUyMCVEMSU4MiVEMCVCRSVEMCVCMyVEMCVCRSUyQyUyMCVEMCVCQSVEMCVCMCVEMCVCQSUyMCVEMCVCMSVEMSU4MyVEMCVCNCVEMCVCNSVEMSU4MiUyMCVEMCVCMiVEMSU4QiVEMCVCNyVEMCVCMiVEMCVCMCVEMCVCRCVEMCVCMCUyMCVEMCVCQSVEMCVCMCVEMCVCQSVEMCVCMCVEMSU4Ri0lRDAlQkIlRDAlQjglRDAlQjElRDAlQkUlMjAlRDElODAlRDAlQjUlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDAlQjAlRDElOEYlMjAlRDElODQlRDElODMlRDAlQkQlRDAlQkElRDElODYlRDAlQjglRDElOEYlMEEpJTBBJTBBcHJpbnQob3V0cHV0KQ==",highlighted:`output = client.text_generation(
    prompt,
    max_new_tokens=<span class="hljs-number">200</span>,
    stop=[<span class="hljs-string">&quot;Observation:&quot;</span>] <span class="hljs-comment"># Давайте остановимся до того, как будет вызвана какая-либо реальная функция</span>
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),El=new A({props:{code:"JUQwJTk0JUQwJUI1JUQwJUI5JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI4JUQwJUI1JTNBJTBBJTYwJTYwJTYwJTBBJTdCJTBBJTIwJTIwJTIyYWN0aW9uJTIyJTNBJTIwJTIyZ2V0X3dlYXRoZXIlMjIlMkMlMEElMjAlMjAlMjJhY3Rpb25faW5wdXQlMjIlM0ElMjAlN0IlMjJsb2NhdGlvbiUyMiUzQSUyMCUyMkxvbmRvbiUyMiU3RCUwQSU3RCUwQSU2MCU2MCU2MCUwQSVEMCU5QyVEMSU4QiVEMSU4MSVEMCVCQiVEMSU4QyUzQSUyMCVEMCVBRiUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCNSVEMSU4MCVEMSU4RSUyQyUyMCVEMCVCQSVEMCVCMCVEMCVCQSVEMCVCMCVEMSU4RiUyMCVEMCVCRiVEMCVCRSVEMCVCMyVEMCVCRSVEMCVCNCVEMCVCMCUyMCVEMCVCMiUyMCVEMCU5QiVEMCVCRSVEMCVCRCVEMCVCNCVEMCVCRSVEMCVCRCVEMCVCNS4lMEElRDAlOUQlRDAlQjAlRDAlQjElRDAlQkIlRDElOEUlRDAlQjQlRDAlQjUlRDAlQkQlRDAlQjglRDAlQjUlM0E=",highlighted:`<span class="hljs-title">Действие:</span>
\`\`\`
{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;London&quot;</span>}
}
\`\`\`
<span class="hljs-title">Мысль:</span> Я проверю, какая погода в Лондоне.
<span class="hljs-title">Наблюдение:</span>`,wrap:!1}}),Rl=new A({props:{code:"JTIzJTIwRHVtbXklMjBmdW5jdGlvbiUwQWRlZiUyMGdldF93ZWF0aGVyKGxvY2F0aW9uKSUzQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMGYlMjIlRDAlQkYlRDAlQkUlRDAlQjMlRDAlQkUlRDAlQjQlRDAlQjAlMjAlRDAlQjIlMjAlN0Jsb2NhdGlvbiU3RCUyMCVEMSU4MSVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCNSVEMSU4NyVEMCVCRCVEMCVCMCVEMSU4RiUyMCVEMSU4MSUyMCVEMCVCRCVEMCVCOCVEMCVCNyVEMCVCQSVEMCVCRSVEMCVCOSUyMCVEMSU4MiVEMCVCNSVEMCVCQyVEMCVCRiVEMCVCNSVEMSU4MCVEMCVCMCVEMSU4MiVEMSU4MyVEMSU4MCVEMCVCRSVEMCVCOS4lMjAlNUNuJTIyJTBBJTBBZ2V0X3dlYXRoZXIoJ0xvbmRvbicp",highlighted:`<span class="hljs-comment"># Dummy function</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">get_weather</span>(<span class="hljs-params">location</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">f&quot;погода в <span class="hljs-subst">{location}</span> солнечная с низкой температурой. \\n&quot;</span>

get_weather(<span class="hljs-string">&#x27;London&#x27;</span>)`,wrap:!1}}),wl=new A({props:{code:"JyVEMCVCRiVEMCVCRSVEMCVCMyVEMCVCRSVEMCVCNCVEMCVCMCUyMCVEMCVCMiUyMCVEMCU5QiVEMCVCRSVEMCVCRCVEMCVCNCVEMCVCRSVEMCVCRCVEMCVCNSUyMCVEMSU4MSVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCNSVEMSU4NyVEMCVCRCVEMCVCMCVEMSU4RiUyMCVEMSU4MSUyMCVEMCVCRCVEMCVCOCVEMCVCNyVEMCVCQSVEMCVCRSVEMCVCOSUyMCVEMSU4MiVEMCVCNSVEMCVCQyVEMCVCRiVEMCVCNSVEMSU4MCVEMCVCMCVEMSU4MiVEMSU4MyVEMSU4MCVEMCVCRSVEMCVCOS4lMjAlNUNuJw==",highlighted:"&#x27;погода в Лондоне солнечная с низкой температурой. \\n&#x27;",wrap:!1}}),Al=new A({props:{code:"bmV3X3Byb21wdCUyMCUzRCUyMHByb21wdCUyMCUyQiUyMG91dHB1dCUyMCUyQiUyMGdldF93ZWF0aGVyKCdMb25kb24nKSUwQWZpbmFsX291dHB1dCUyMCUzRCUyMGNsaWVudC50ZXh0X2dlbmVyYXRpb24oJTBBJTIwJTIwJTIwJTIwbmV3X3Byb21wdCUyQyUwQSUyMCUyMCUyMCUyMG1heF9uZXdfdG9rZW5zJTNEMjAwJTJDJTBBKSUwQSUwQXByaW50KGZpbmFsX291dHB1dCk=",highlighted:`new_prompt = prompt + output + get_weather(<span class="hljs-string">&#x27;London&#x27;</span>)
final_output = client.text_generation(
    new_prompt,
    max_new_tokens=<span class="hljs-number">200</span>,
)

<span class="hljs-built_in">print</span>(final_output)`,wrap:!1}}),il=new A({props:{code:"JTBBJTBBJTBBJTBBJTBBJTBBJTBBJTBBKCVEMSU4RCVEMSU4MiVEMCVCMCUyMCVEMCVCQyVEMSU4QiVEMSU4MSVEMCVCQiVEMSU4QyUyRiVEMCVCNCVEMCVCNSVEMCVCOSVEMSU4MSVEMSU4MiVEMCVCMiVEMCVCOCVEMCVCNSUyRiVEMCVCRCVEMCVCMCVEMCVCMSVEMCVCQiVEMSU4RSVEMCVCNCVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCNSVEMSU4MiUyMCVEMCVCRiVEMCVCRSVEMCVCMiVEMSU4MiVEMCVCRSVEMSU4MCVEMSU4RiVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyME4lMjAlRDElODAlRDAlQjAlRDAlQjclMkMlMjAlRDAlQkYlRDAlQkUlRDElOEQlRDElODIlRDAlQkUlRDAlQkMlRDElODMlMjAlRDAlQkYlRDElODAlRDAlQjglMjAlRDAlQkQlRDAlQjUlRDAlQkUlRDAlQjElRDElODUlRDAlQkUlRDAlQjQlRDAlQjglRDAlQkMlRDAlQkUlRDElODElRDElODIlRDAlQjglMjAlRDElODElRDAlQkIlRDAlQjUlRDAlQjQlRDElODMlRDAlQjUlRDElODIlMjAlRDElODElRDAlQjQlRDAlQjUlRDAlQkIlRDAlQjAlRDElODIlRDElOEMlMjAlRDAlQkQlRDAlQjUlRDElODElRDAlQkElRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDElODglRDAlQjAlRDAlQjMlRDAlQkUlRDAlQjIuJTIwJUQwJTkxJUQwJUJCJUQwJUJFJUQwJUJBJTIwJTI0SlNPTl9CTE9CJTIwJUQwJUI0JUQwJUJFJUQwJUJCJUQwJUI2JUQwJUI1JUQwJUJEJTIwJUQwJUIxJUQxJThCJUQxJTgyJUQxJThDJTIwJUQwJUJFJUQxJTgyJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTgyJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwbWFya2Rvd24lMjAlRDAlQjglMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlMjAlRDElODIlRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDAlOUUlRDAlOTQlRDAlOUQlRDAlOUUlMjAlRDAlQjQlRDAlQjUlRDAlQjklRDElODElRDElODIlRDAlQjIlRDAlQjglRDAlQjUlMjAlRDAlQjclRDAlQjAlMjAlRDElODAlRDAlQjAlRDAlQjcuKSUwQSUwQSUwQSUwQQ==",highlighted:`&lt;|begin_of_text|&gt;&lt;|start_header_id|&gt;system&lt;|end_header_id|&gt;
    Ответить на следующие вопросы как можно лучше. У тебя есть доступ к следующим инструментам:

get_weather: Получение текущей погоды в заданном месте

Способ использования инструментов заключается в указании json blob.
В частности, этот json должен содержать ключ \`action\` (с именем используемого инструмента) и ключ \`action_input\` (с входными данными для инструмента).

Единственные значения, которые должны быть в поле <span class="hljs-comment">&quot;action&quot;</span>, это:
get_weather: Получение текущей погоды в заданном месте, args: {<span class="hljs-comment">&quot;location&quot;</span>: {<span class="hljs-comment">&quot;type&quot;</span>: <span class="hljs-comment">&quot;string&quot;</span>}}
пример использования:

{{
  <span class="hljs-comment">&quot;action&quot;</span>: <span class="hljs-comment">&quot;get_weather&quot;</span>,
  <span class="hljs-comment">&quot;action_input&quot;</span>: {<span class="hljs-comment">&quot;location&quot;</span>: <span class="hljs-comment">&quot;New York&quot;</span>}
}}

ВСЕГДА используй следующий формат:

Вопрос: входной вопрос, на который необходимо ответить.
Мысль: ты всегда должен думать о том, какое действие предпринять. Только одно действие за раз в этом формате:
Действие:

<span class="hljs-string">$J</span>SON_BLOB (внутри markdown ячейки)

Наблюдение: результат действия. Это наблюдение уникально, полно и является источником истины.
... (эта мысль/действие/наблюдение может повторяться <span class="hljs-type">N</span> раз, поэтому при необходимости следует сделать несколько шагов. Блок <span class="hljs-string">$J</span>SON_BLOB должен быть отформатирован как markdown и использовать только ОДНО действие за раз.)

Ты всегда должен заканчивать свой вывод в следующем формате:

Мысль: Теперь я знаю окончательный ответ.
Окончательный ответ: окончательный ответ на исходный входной вопрос

Теперь начинай! Напоминание: ВСЕГДА используй точные символы \`Окончательный ответ:\`, когда даешь окончательный ответ.
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;
Какая погода в Лондоне?
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;

Действие:
\`\`\`
{
  <span class="hljs-comment">&quot;action&quot;</span>: <span class="hljs-comment">&quot;get_weather&quot;</span>,
  <span class="hljs-comment">&quot;action_input&quot;</span>: {<span class="hljs-comment">&quot;location&quot;</span>: {<span class="hljs-comment">&quot;type&quot;</span>: <span class="hljs-comment">&quot;string&quot;</span>, <span class="hljs-comment">&quot;value&quot;</span>: <span class="hljs-comment">&quot;London&quot;</span>}
}
\`\`\`
Мысль: Я проверю погоду в Лондоне.
Наблюдение: погода в Лондоне солнечная с низкой температурой.`,wrap:!1}}),pl=new A({props:{code:"JUQwJTlFJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg3JUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJCJUQxJThDJUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUJFJUQxJTgyJUQwJUIyJUQwJUI1JUQxJTgyJTNBJTIwJUQwJTlGJUQwJUJFJUQwJUIzJUQwJUJFJUQwJUI0JUQwJUIwJTIwJUQwJUIyJTIwJUQwJTlCJUQwJUJFJUQwJUJEJUQwJUI0JUQwJUJFJUQwJUJEJUQwJUI1JTIwJUQxJTgxJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI1JUQxJTg3JUQwJUJEJUQwJUIwJUQxJThGJTIwJUQxJTgxJTIwJUQwJUJEJUQwJUI4JUQwJUI3JUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUIwJUQxJTgyJUQxJTgzJUQxJTgwJUQwJUJFJUQwJUI5Lg==",highlighted:"Окончательный ответ: Погода в Лондоне солнечная с низкой температурой.",wrap:!1}}),yl=new cU({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ru-RU/unit1/dummy-agent-library.mdx"}}),{c(){a=Q("meta"),ul=M(),Sl=Q("p"),gl=M(),E(i.$$.fragment),ml=M(),j=Q("img"),xl=M(),p=Q("p"),p.innerHTML=BJ,kl=M(),T=Q("p"),T.textContent=qJ,cl=M(),I=Q("p"),I.textContent=vJ,rl=M(),y=Q("p"),y.innerHTML=YJ,hl=M(),S=Q("p"),S.innerHTML=FJ,Ol=M(),o=Q("p"),o.innerHTML=ZJ,fl=M(),u=Q("p"),u.textContent=XJ,Nl=M(),g=Q("p"),g.innerHTML=GJ,$l=M(),m=Q("p"),m.innerHTML=HJ,dl=M(),E(x.$$.fragment),_l=M(),k=Q("p"),k.textContent=LJ,bl=M(),E(c.$$.fragment),Bl=M(),E(r.$$.fragment),ql=M(),h=Q("p"),h.textContent=zJ,vl=M(),E(O.$$.fragment),Yl=M(),f=Q("p"),f.innerHTML=WJ,Fl=M(),N=Q("p"),N.innerHTML=PJ,Zl=M(),E($.$$.fragment),Xl=M(),d=Q("p"),d.textContent=KJ,Gl=M(),E(_.$$.fragment),Hl=M(),b=Q("p"),b.textContent=lU,Ll=M(),E(B.$$.fragment),zl=M(),q=Q("p"),q.textContent=JU,Wl=M(),E(v.$$.fragment),Pl=M(),Y=Q("p"),Y.textContent=UU,Kl=M(),E(F.$$.fragment),lJ=M(),Z=Q("p"),Z.textContent=tU,JJ=M(),X=Q("p"),X.textContent=MU,UJ=M(),G=Q("ol"),G.innerHTML=CU,tJ=M(),E(H.$$.fragment),MJ=M(),L=Q("p"),L.textContent=QU,CJ=M(),E(z.$$.fragment),QJ=M(),W=Q("p"),W.innerHTML=VU,VJ=M(),E(P.$$.fragment),eJ=M(),K=Q("p"),K.textContent=eU,EJ=M(),E(ll.$$.fragment),sJ=M(),Jl=Q("p"),Jl.textContent=EU,RJ=M(),E(Ul.$$.fragment),nJ=M(),tl=Q("p"),tl.textContent=sU,wJ=M(),E(Ml.$$.fragment),DJ=M(),Cl=Q("p"),Cl.textContent=RU,AJ=M(),Ql=Q("blockquote"),Ql.innerHTML=nU,aJ=M(),E(Vl.$$.fragment),iJ=M(),el=Q("p"),el.textContent=wU,jJ=M(),E(El.$$.fragment),pJ=M(),sl=Q("p"),sl.textContent=DU,TJ=M(),E(Rl.$$.fragment),IJ=M(),nl=Q("p"),nl.textContent=AU,yJ=M(),E(wl.$$.fragment),SJ=M(),Dl=Q("p"),Dl.textContent=aU,oJ=M(),E(Al.$$.fragment),uJ=M(),al=Q("p"),al.textContent=iU,gJ=M(),E(il.$$.fragment),mJ=M(),jl=Q("p"),jl.textContent=jU,xJ=M(),E(pl.$$.fragment),kJ=M(),cJ=Q("hr"),rJ=M(),Tl=Q("p"),Tl.innerHTML=pU,hJ=M(),Il=Q("p"),Il.innerHTML=TU,OJ=M(),E(yl.$$.fragment),fJ=M(),ol=Q("p"),this.h()},l(l){const J=xU("svelte-u9bgzb",document.head);a=V(J,"META",{name:!0,content:!0}),J.forEach(U),ul=C(l),Sl=V(l,"P",{}),IU(Sl).forEach(U),gl=C(l),s(i.$$.fragment,l),ml=C(l),j=V(l,"IMG",{src:!0,alt:!0}),xl=C(l),p=V(l,"P",{"data-svelte-h":!0}),e(p)!=="svelte-1py108k"&&(p.innerHTML=BJ),kl=C(l),T=V(l,"P",{"data-svelte-h":!0}),e(T)!=="svelte-ljin3q"&&(T.textContent=qJ),cl=C(l),I=V(l,"P",{"data-svelte-h":!0}),e(I)!=="svelte-1jk239"&&(I.textContent=vJ),rl=C(l),y=V(l,"P",{"data-svelte-h":!0}),e(y)!=="svelte-98wfos"&&(y.innerHTML=YJ),hl=C(l),S=V(l,"P",{"data-svelte-h":!0}),e(S)!=="svelte-yc600u"&&(S.innerHTML=FJ),Ol=C(l),o=V(l,"P",{"data-svelte-h":!0}),e(o)!=="svelte-igwki3"&&(o.innerHTML=ZJ),fl=C(l),u=V(l,"P",{"data-svelte-h":!0}),e(u)!=="svelte-pbp2ra"&&(u.textContent=XJ),Nl=C(l),g=V(l,"P",{"data-svelte-h":!0}),e(g)!=="svelte-16qoc1p"&&(g.innerHTML=GJ),$l=C(l),m=V(l,"P",{"data-svelte-h":!0}),e(m)!=="svelte-3z8z1s"&&(m.innerHTML=HJ),dl=C(l),s(x.$$.fragment,l),_l=C(l),k=V(l,"P",{"data-svelte-h":!0}),e(k)!=="svelte-1l9ki2x"&&(k.textContent=LJ),bl=C(l),s(c.$$.fragment,l),Bl=C(l),s(r.$$.fragment,l),ql=C(l),h=V(l,"P",{"data-svelte-h":!0}),e(h)!=="svelte-16n48a3"&&(h.textContent=zJ),vl=C(l),s(O.$$.fragment,l),Yl=C(l),f=V(l,"P",{"data-svelte-h":!0}),e(f)!=="svelte-15tz1ao"&&(f.innerHTML=WJ),Fl=C(l),N=V(l,"P",{"data-svelte-h":!0}),e(N)!=="svelte-1fehpzq"&&(N.innerHTML=PJ),Zl=C(l),s($.$$.fragment,l),Xl=C(l),d=V(l,"P",{"data-svelte-h":!0}),e(d)!=="svelte-16n48a3"&&(d.textContent=KJ),Gl=C(l),s(_.$$.fragment,l),Hl=C(l),b=V(l,"P",{"data-svelte-h":!0}),e(b)!=="svelte-1k1neum"&&(b.textContent=lU),Ll=C(l),s(B.$$.fragment,l),zl=C(l),q=V(l,"P",{"data-svelte-h":!0}),e(q)!=="svelte-16n48a3"&&(q.textContent=JU),Wl=C(l),s(v.$$.fragment,l),Pl=C(l),Y=V(l,"P",{"data-svelte-h":!0}),e(Y)!=="svelte-199y24f"&&(Y.textContent=UU),Kl=C(l),s(F.$$.fragment,l),lJ=C(l),Z=V(l,"P",{"data-svelte-h":!0}),e(Z)!=="svelte-bzi2ke"&&(Z.textContent=tU),JJ=C(l),X=V(l,"P",{"data-svelte-h":!0}),e(X)!=="svelte-1ja3yjb"&&(X.textContent=MU),UJ=C(l),G=V(l,"OL",{"data-svelte-h":!0}),e(G)!=="svelte-cxovas"&&(G.innerHTML=CU),tJ=C(l),s(H.$$.fragment,l),MJ=C(l),L=V(l,"P",{"data-svelte-h":!0}),e(L)!=="svelte-19ic29p"&&(L.textContent=QU),CJ=C(l),s(z.$$.fragment,l),QJ=C(l),W=V(l,"P",{"data-svelte-h":!0}),e(W)!=="svelte-g0ijkq"&&(W.innerHTML=VU),VJ=C(l),s(P.$$.fragment,l),eJ=C(l),K=V(l,"P",{"data-svelte-h":!0}),e(K)!=="svelte-1f494gg"&&(K.textContent=eU),EJ=C(l),s(ll.$$.fragment,l),sJ=C(l),Jl=V(l,"P",{"data-svelte-h":!0}),e(Jl)!=="svelte-1eau9be"&&(Jl.textContent=EU),RJ=C(l),s(Ul.$$.fragment,l),nJ=C(l),tl=V(l,"P",{"data-svelte-h":!0}),e(tl)!=="svelte-16n48a3"&&(tl.textContent=sU),wJ=C(l),s(Ml.$$.fragment,l),DJ=C(l),Cl=V(l,"P",{"data-svelte-h":!0}),e(Cl)!=="svelte-11on35z"&&(Cl.textContent=RU),AJ=C(l),Ql=V(l,"BLOCKQUOTE",{"data-svelte-h":!0}),e(Ql)!=="svelte-5ishue"&&(Ql.innerHTML=nU),aJ=C(l),s(Vl.$$.fragment,l),iJ=C(l),el=V(l,"P",{"data-svelte-h":!0}),e(el)!=="svelte-16n48a3"&&(el.textContent=wU),jJ=C(l),s(El.$$.fragment,l),pJ=C(l),sl=V(l,"P",{"data-svelte-h":!0}),e(sl)!=="svelte-13wo5ep"&&(sl.textContent=DU),TJ=C(l),s(Rl.$$.fragment,l),IJ=C(l),nl=V(l,"P",{"data-svelte-h":!0}),e(nl)!=="svelte-16n48a3"&&(nl.textContent=AU),yJ=C(l),s(wl.$$.fragment,l),SJ=C(l),Dl=V(l,"P",{"data-svelte-h":!0}),e(Dl)!=="svelte-1alugy9"&&(Dl.textContent=aU),oJ=C(l),s(Al.$$.fragment,l),uJ=C(l),al=V(l,"P",{"data-svelte-h":!0}),e(al)!=="svelte-i10k4h"&&(al.textContent=iU),gJ=C(l),s(il.$$.fragment,l),mJ=C(l),jl=V(l,"P",{"data-svelte-h":!0}),e(jl)!=="svelte-16nndvv"&&(jl.textContent=jU),xJ=C(l),s(pl.$$.fragment,l),kJ=C(l),cJ=V(l,"HR",{}),rJ=C(l),Tl=V(l,"P",{"data-svelte-h":!0}),e(Tl)!=="svelte-qf48bm"&&(Tl.innerHTML=pU),hJ=C(l),Il=V(l,"P",{"data-svelte-h":!0}),e(Il)!=="svelte-ho3w4h"&&(Il.innerHTML=TU),OJ=C(l),s(yl.$$.fragment,l),fJ=C(l),ol=V(l,"P",{}),IU(ol).forEach(U),this.h()},h(){$J(a,"name","hf:doc:metadata"),$J(a,"content",hU),SU(j.src,bJ="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/whiteboard-unit1sub3DONE.jpg")||$J(j,"src",bJ),$J(j,"alt","Раздел 1 планирование")},m(l,J){kU(document.head,a),t(l,ul,J),t(l,Sl,J),t(l,gl,J),R(i,l,J),t(l,ml,J),t(l,j,J),t(l,xl,J),t(l,p,J),t(l,kl,J),t(l,T,J),t(l,cl,J),t(l,I,J),t(l,rl,J),t(l,y,J),t(l,hl,J),t(l,S,J),t(l,Ol,J),t(l,o,J),t(l,fl,J),t(l,u,J),t(l,Nl,J),t(l,g,J),t(l,$l,J),t(l,m,J),t(l,dl,J),R(x,l,J),t(l,_l,J),t(l,k,J),t(l,bl,J),R(c,l,J),t(l,Bl,J),R(r,l,J),t(l,ql,J),t(l,h,J),t(l,vl,J),R(O,l,J),t(l,Yl,J),t(l,f,J),t(l,Fl,J),t(l,N,J),t(l,Zl,J),R($,l,J),t(l,Xl,J),t(l,d,J),t(l,Gl,J),R(_,l,J),t(l,Hl,J),t(l,b,J),t(l,Ll,J),R(B,l,J),t(l,zl,J),t(l,q,J),t(l,Wl,J),R(v,l,J),t(l,Pl,J),t(l,Y,J),t(l,Kl,J),R(F,l,J),t(l,lJ,J),t(l,Z,J),t(l,JJ,J),t(l,X,J),t(l,UJ,J),t(l,G,J),t(l,tJ,J),R(H,l,J),t(l,MJ,J),t(l,L,J),t(l,CJ,J),R(z,l,J),t(l,QJ,J),t(l,W,J),t(l,VJ,J),R(P,l,J),t(l,eJ,J),t(l,K,J),t(l,EJ,J),R(ll,l,J),t(l,sJ,J),t(l,Jl,J),t(l,RJ,J),R(Ul,l,J),t(l,nJ,J),t(l,tl,J),t(l,wJ,J),R(Ml,l,J),t(l,DJ,J),t(l,Cl,J),t(l,AJ,J),t(l,Ql,J),t(l,aJ,J),R(Vl,l,J),t(l,iJ,J),t(l,el,J),t(l,jJ,J),R(El,l,J),t(l,pJ,J),t(l,sl,J),t(l,TJ,J),R(Rl,l,J),t(l,IJ,J),t(l,nl,J),t(l,yJ,J),R(wl,l,J),t(l,SJ,J),t(l,Dl,J),t(l,oJ,J),R(Al,l,J),t(l,uJ,J),t(l,al,J),t(l,gJ,J),R(il,l,J),t(l,mJ,J),t(l,jl,J),t(l,xJ,J),R(pl,l,J),t(l,kJ,J),t(l,cJ,J),t(l,rJ,J),t(l,Tl,J),t(l,hJ,J),t(l,Il,J),t(l,OJ,J),R(yl,l,J),t(l,fJ,J),t(l,ol,J),NJ=!0},p:oU,i(l){NJ||(n(i.$$.fragment,l),n(x.$$.fragment,l),n(c.$$.fragment,l),n(r.$$.fragment,l),n(O.$$.fragment,l),n($.$$.fragment,l),n(_.$$.fragment,l),n(B.$$.fragment,l),n(v.$$.fragment,l),n(F.$$.fragment,l),n(H.$$.fragment,l),n(z.$$.fragment,l),n(P.$$.fragment,l),n(ll.$$.fragment,l),n(Ul.$$.fragment,l),n(Ml.$$.fragment,l),n(Vl.$$.fragment,l),n(El.$$.fragment,l),n(Rl.$$.fragment,l),n(wl.$$.fragment,l),n(Al.$$.fragment,l),n(il.$$.fragment,l),n(pl.$$.fragment,l),n(yl.$$.fragment,l),NJ=!0)},o(l){w(i.$$.fragment,l),w(x.$$.fragment,l),w(c.$$.fragment,l),w(r.$$.fragment,l),w(O.$$.fragment,l),w($.$$.fragment,l),w(_.$$.fragment,l),w(B.$$.fragment,l),w(v.$$.fragment,l),w(F.$$.fragment,l),w(H.$$.fragment,l),w(z.$$.fragment,l),w(P.$$.fragment,l),w(ll.$$.fragment,l),w(Ul.$$.fragment,l),w(Ml.$$.fragment,l),w(Vl.$$.fragment,l),w(El.$$.fragment,l),w(Rl.$$.fragment,l),w(wl.$$.fragment,l),w(Al.$$.fragment,l),w(il.$$.fragment,l),w(pl.$$.fragment,l),w(yl.$$.fragment,l),NJ=!1},d(l){l&&(U(ul),U(Sl),U(gl),U(ml),U(j),U(xl),U(p),U(kl),U(T),U(cl),U(I),U(rl),U(y),U(hl),U(S),U(Ol),U(o),U(fl),U(u),U(Nl),U(g),U($l),U(m),U(dl),U(_l),U(k),U(bl),U(Bl),U(ql),U(h),U(vl),U(Yl),U(f),U(Fl),U(N),U(Zl),U(Xl),U(d),U(Gl),U(Hl),U(b),U(Ll),U(zl),U(q),U(Wl),U(Pl),U(Y),U(Kl),U(lJ),U(Z),U(JJ),U(X),U(UJ),U(G),U(tJ),U(MJ),U(L),U(CJ),U(QJ),U(W),U(VJ),U(eJ),U(K),U(EJ),U(sJ),U(Jl),U(RJ),U(nJ),U(tl),U(wJ),U(DJ),U(Cl),U(AJ),U(Ql),U(aJ),U(iJ),U(el),U(jJ),U(pJ),U(sl),U(TJ),U(IJ),U(nl),U(yJ),U(SJ),U(Dl),U(oJ),U(uJ),U(al),U(gJ),U(mJ),U(jl),U(xJ),U(kJ),U(cJ),U(rJ),U(Tl),U(hJ),U(Il),U(OJ),U(fJ),U(ol)),U(a),D(i,l),D(x,l),D(c,l),D(r,l),D(O,l),D($,l),D(_,l),D(B,l),D(v,l),D(F,l),D(H,l),D(z,l),D(P,l),D(ll,l),D(Ul,l),D(Ml,l),D(Vl,l),D(El,l),D(Rl,l),D(wl,l),D(Al,l),D(il,l),D(pl,l),D(yl,l)}}}const hU='{"title":"Библиотека Фиктивного Агента","local":"библиотека-фиктивного-агента","sections":[{"title":"Бессерверный API","local":"бессерверный-api","sections":[],"depth":2},{"title":"Фиктивный Агент","local":"фиктивный-агент","sections":[],"depth":2}],"depth":1}';function OU(_J){return uU(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class _U extends gU{constructor(a){super(),mU(this,a,OU,rU,yU,{})}}export{_U as component};
