import{s as Mt,n as Tt,o as $t}from"../chunks/scheduler.f6b352c8.js";import{S as ct,i as Ht,g as r,s as i,r as V,A as xt,h as p,f as l,c as s,j as Lt,u as W,x as o,k as vt,y as ht,a as n,v as X,d as Y,t as Z,w as tt}from"../chunks/index.7f38e934.js";import{H as _t,E as Ct}from"../chunks/index.687cf7c1.js";function Pt(et){let a,b,P,d,u,A,m,lt='<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/bonus-unit1/thumbnail.jpg" alt="Бонусный раздел 1 Миниатюра"/>',R,f,nt="Добро пожаловать в первый <strong>Бонусный раздел</strong>, в котором вы научитесь <strong>дообучать Большую Языковую Модель (LLM) вызову функций</strong>.",E,g,it="С точки зрения LLM, вызов функций быстро становится <em>обязательной</em> техникой.",k,L,st="Идея заключается в том, что вместо того, чтобы полагаться только на подходы, основанные на подсказках, как мы делали в разделе 1, вызов функций обучает вашу модель <strong>предпринимать действия и интерпретировать наблюдения на этапе обучения</strong>, делая ваш AI более надежным.",q,v,rt="<p><strong>Когда мне следует выполнить этот Бонусный раздел?</strong></p> <p>Этот раздел является <strong>опциональным</strong> и более продвинутым, чем Раздел 1, поэтому не стесняйтесь либо выполнить этот раздел сейчас, либо вернуться к нему, когда ваши знания улучшатся благодаря этому курсу.</p> <p>Но не волнуйтесь, в этом бонусном разделе собрана вся необходимая информация, поэтому мы расскажем вам обо всех основных концепциях дообучения модели вызову функций, даже если вы еще не изучили механизм дообучения.</p>",y,_,pt="Лучший способ для вас пройти этот Бонусный Раздел - это:",O,M,ot='<li><p>Знать, как дообучить LLM трансформер, если это не так <a href="https://huggingface.co/learn/nlp-course/chapter3/1?fw=pt" rel="nofollow">изучите это</a></p></li> <li><p>Знать, как использовать <code>SFTTrainer</code> для дообучения нашей модели, чтобы узнать об этом больше <a href="https://huggingface.co/learn/nlp-course/en/chapter11/1" rel="nofollow">изучите документацию</a></p></li>',z,S,U,T,j,$,at=`<li><p><strong>Вызов функций</strong>
Как современные <strong>LLM эффективно структурируют свои диалоги, позволяя запускать </strong>Инструменты**.</p></li> <li><p><strong>LoRA (Low-Rank Adaptation)</strong>.
<strong>Легкий и эффективный</strong> метод дообучения, сокращающий накладные расходы на вычисления и хранение данных. LoRA делает обучение больших моделей <em>быстрым, дешевым и простым</em> в развертывании.</p></li> <li><p>**Цикл «Мысль → Действие → Наблюдение» в моделях вызова функций
Простой, но мощный подход к структурированию того, как ваша модель решает, когда (и как) вызывать функции, отслеживать промежуточные шаги и интерпретировать результаты, полученные от внешних инструментов или API.</p></li> <li><p><strong>Новые специальные токены</strong>.
Мы введем <strong>специальные маркеры</strong>, которые помогут модели различать:</p> <ul><li>Внутренние рассуждения “цепочки мыслей”</li> <li>Исходящие вызовы функций</li> <li>Ответы, поступающие от внешних инструментов</li></ul></li>`,I,B,F,c,ut="К концу этого раздела вы сможете:",G,H,mt="<li><strong>Понимать</strong> внутреннюю работу API, когда речь идет об инструментах.</li> <li><strong>Дообучать</strong> модели с помощью техник LoRA.</li> <li>Имплементировать<strong>и </strong>модифицировать** цикл “Мысль → Действие → Наблюдение” для создания надежных и поддерживаемых рабочих процессов вызова функций.</li> <li><strong>Разрабатывать и использовать</strong> специальные токены, чтобы легко отделить внутренние рассуждения модели от ее внешних действий.</li>",K,x,ft="И вы <strong>доработаете свою собственную модель для вызова функций</strong> 🔥.",Q,h,gt="Давайте погрузимся в <strong>вызов функций</strong>!",D,C,J,w,N;return u=new _t({props:{title:"Введение",local:"введение",headingTag:"h1"}}),T=new _t({props:{title:"Что вы узнаете",local:"что-вы-узнаете",headingTag:"h2"}}),C=new Ct({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ru-RU/bonus-unit1/introduction.mdx"}}),{c(){a=r("meta"),b=i(),P=r("p"),d=i(),V(u.$$.fragment),A=i(),m=r("p"),m.innerHTML=lt,R=i(),f=r("p"),f.innerHTML=nt,E=i(),g=r("p"),g.innerHTML=it,k=i(),L=r("p"),L.innerHTML=st,q=i(),v=r("blockquote"),v.innerHTML=rt,y=i(),_=r("p"),_.textContent=pt,O=i(),M=r("ol"),M.innerHTML=ot,z=i(),S=r("hr"),U=i(),V(T.$$.fragment),j=i(),$=r("ol"),$.innerHTML=at,I=i(),B=r("hr"),F=i(),c=r("p"),c.textContent=ut,G=i(),H=r("ul"),H.innerHTML=mt,K=i(),x=r("p"),x.innerHTML=ft,Q=i(),h=r("p"),h.innerHTML=gt,D=i(),V(C.$$.fragment),J=i(),w=r("p"),this.h()},l(t){const e=xt("svelte-u9bgzb",document.head);a=p(e,"META",{name:!0,content:!0}),e.forEach(l),b=s(t),P=p(t,"P",{}),Lt(P).forEach(l),d=s(t),W(u.$$.fragment,t),A=s(t),m=p(t,"P",{"data-svelte-h":!0}),o(m)!=="svelte-16jsapc"&&(m.innerHTML=lt),R=s(t),f=p(t,"P",{"data-svelte-h":!0}),o(f)!=="svelte-1i25ntn"&&(f.innerHTML=nt),E=s(t),g=p(t,"P",{"data-svelte-h":!0}),o(g)!=="svelte-32rm8r"&&(g.innerHTML=it),k=s(t),L=p(t,"P",{"data-svelte-h":!0}),o(L)!=="svelte-1ltouqn"&&(L.innerHTML=st),q=s(t),v=p(t,"BLOCKQUOTE",{"data-svelte-h":!0}),o(v)!=="svelte-eb0nns"&&(v.innerHTML=rt),y=s(t),_=p(t,"P",{"data-svelte-h":!0}),o(_)!=="svelte-1uw9qv8"&&(_.textContent=pt),O=s(t),M=p(t,"OL",{"data-svelte-h":!0}),o(M)!=="svelte-mhizfe"&&(M.innerHTML=ot),z=s(t),S=p(t,"HR",{}),U=s(t),W(T.$$.fragment,t),j=s(t),$=p(t,"OL",{"data-svelte-h":!0}),o($)!=="svelte-19d2e1r"&&($.innerHTML=at),I=s(t),B=p(t,"HR",{}),F=s(t),c=p(t,"P",{"data-svelte-h":!0}),o(c)!=="svelte-1t2pizx"&&(c.textContent=ut),G=s(t),H=p(t,"UL",{"data-svelte-h":!0}),o(H)!=="svelte-17zcyrs"&&(H.innerHTML=mt),K=s(t),x=p(t,"P",{"data-svelte-h":!0}),o(x)!=="svelte-1nk7nw0"&&(x.innerHTML=ft),Q=s(t),h=p(t,"P",{"data-svelte-h":!0}),o(h)!=="svelte-1vuax3d"&&(h.innerHTML=gt),D=s(t),W(C.$$.fragment,t),J=s(t),w=p(t,"P",{}),Lt(w).forEach(l),this.h()},h(){vt(a,"name","hf:doc:metadata"),vt(a,"content",wt)},m(t,e){ht(document.head,a),n(t,b,e),n(t,P,e),n(t,d,e),X(u,t,e),n(t,A,e),n(t,m,e),n(t,R,e),n(t,f,e),n(t,E,e),n(t,g,e),n(t,k,e),n(t,L,e),n(t,q,e),n(t,v,e),n(t,y,e),n(t,_,e),n(t,O,e),n(t,M,e),n(t,z,e),n(t,S,e),n(t,U,e),X(T,t,e),n(t,j,e),n(t,$,e),n(t,I,e),n(t,B,e),n(t,F,e),n(t,c,e),n(t,G,e),n(t,H,e),n(t,K,e),n(t,x,e),n(t,Q,e),n(t,h,e),n(t,D,e),X(C,t,e),n(t,J,e),n(t,w,e),N=!0},p:Tt,i(t){N||(Y(u.$$.fragment,t),Y(T.$$.fragment,t),Y(C.$$.fragment,t),N=!0)},o(t){Z(u.$$.fragment,t),Z(T.$$.fragment,t),Z(C.$$.fragment,t),N=!1},d(t){t&&(l(b),l(P),l(d),l(A),l(m),l(R),l(f),l(E),l(g),l(k),l(L),l(q),l(v),l(y),l(_),l(O),l(M),l(z),l(S),l(U),l(j),l($),l(I),l(B),l(F),l(c),l(G),l(H),l(K),l(x),l(Q),l(h),l(D),l(J),l(w)),l(a),tt(u,t),tt(T,t),tt(C,t)}}}const wt='{"title":"Введение","local":"введение","sections":[{"title":"Что вы узнаете","local":"что-вы-узнаете","sections":[],"depth":2}],"depth":1}';function bt(et){return $t(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Et extends ct{constructor(a){super(),Ht(this,a,bt,Pt,Mt,{})}}export{Et as component};
