import{s as ve,n as he,o as be}from"../chunks/scheduler.37c15a92.js";import{S as Te,i as xe,g as o,s,r as J,A as He,h as r,f as n,c as i,j as fe,u as V,x as l,k as ge,y as _e,a,v as W,d as X,t as Z,w as ee}from"../chunks/index.2bf4358c.js";import{H as Le}from"../chunks/Heading.8ada512a.js";import{E as Me}from"../chunks/getInferenceSnippets.0aa3753f.js";function $e(te){let u,C,$,P,d,y,m,ne='<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/bonus-unit1/thumbnail.jpg" alt="Bonus Unit 1 Thumbnail"/>',A,p,ae="Bienvenido a esta primera <strong>Unidad Bonus</strong>, donde aprenderás a <strong>hacer fine-tuning de un Modelo de Lenguaje Grande (LLM) para llamadas a funciones</strong>.",j,c,se="En términos de LLMs, la llamada a funciones se está convirtiendo rápidamente en una técnica <em>imprescindible</em>.",w,f,ie="La idea es que, en lugar de depender solo de enfoques basados en prompts como hicimos en la Unidad 1, la llamada a funciones entrena a tu modelo para <strong>realizar acciones e interpretar observaciones durante la fase de entrenamiento</strong>, haciendo tu IA más robusta.",E,g,oe="<p><strong>¿Cuándo debería hacer esta Unidad Bonus?</strong></p> <p>Esta sección es <strong>opcional</strong> y es más avanzada que la Unidad 1, así que no dudes en hacer esta unidad ahora o revisitarla cuando tu conocimiento haya mejorado gracias a este curso.</p> <p>Pero no te preocupes, esta Unidad Bonus está diseñada para tener toda la información que necesitas, así que te guiaremos a través de cada concepto fundamental del fine-tuning de un modelo para llamadas a funciones, incluso si aún no has aprendido el funcionamiento interno del fine-tuning.</p>",U,L,re="La mejor manera para que puedas seguir esta Unidad Bonus es:",R,v,le='<li><p>Saber cómo hacer Fine-Tuning de un LLM con Transformers, si no es el caso <a href="https://huggingface.co/learn/nlp-course/chapter3/1?fw=pt" rel="nofollow">revisa esto</a>.</p></li> <li><p>Saber cómo usar <code>SFTTrainer</code> para hacer fine-tuning de nuestro modelo, para aprender más sobre esto <a href="https://huggingface.co/learn/nlp-course/en/chapter11/1" rel="nofollow">revisa esta documentación</a>.</p></li>',k,z,B,h,I,b,ue=`<li><p><strong>Llamadas a Funciones</strong><br/>
Cómo los LLMs modernos estructuran sus conversaciones de manera efectiva permitiéndoles activar <strong>Herramientas</strong>.</p></li> <li><p><strong>LoRA (Adaptación de Bajo Rango)</strong><br/>
Un método de fine-tuning <strong>ligero y eficiente</strong> que reduce la sobrecarga computacional y de almacenamiento. LoRA hace que el entrenamiento de modelos grandes sea <em>más rápido, económico y fácil</em> de implementar.</p></li> <li><p><strong>El Ciclo Pensamiento → Acción → Observación</strong> en modelos de Llamadas a Funciones<br/>
Un enfoque simple pero poderoso para estructurar cómo tu modelo decide cuándo (y cómo) llamar funciones, rastrear pasos intermedios e interpretar los resultados de Herramientas o APIs externas.</p></li> <li><p><strong>Nuevos Tokens Especiales</strong><br/>
Introduciremos <strong>marcadores especiales</strong> que ayudan al modelo a distinguir entre:</p> <ul><li>Razonamiento interno de “cadena de pensamiento”</li> <li>Llamadas a funciones salientes</li> <li>Respuestas que regresan de herramientas externas</li></ul></li>`,O,S,F,T,de="Al final de esta unidad bonus, serás capaz de:",G,x,me="<li><strong>Entender</strong> el funcionamiento interno de las APIs cuando se trata de Herramientas.</li> <li><strong>Hacer fine-tuning</strong> de un modelo usando la técnica LoRA.</li> <li><strong>Implementar</strong> y <strong>modificar</strong> el ciclo Pensamiento → Acción → Observación para crear flujos de trabajo de Llamadas a funciones robustos y mantenibles.</li> <li><strong>Diseñar y utilizar</strong> tokens especiales para separar sin problemas el razonamiento interno del modelo de sus acciones externas.</li>",D,H,pe="Y <strong>habrás hecho fine-tuning de tu propio modelo para realizar llamadas a funciones.</strong> 🔥",K,_,ce="¡Sumerjámonos en las <strong>llamadas a funciones</strong>!",N,M,Q,q,Y;return d=new Le({props:{title:"Introducción",local:"introducción",headingTag:"h1"}}),h=new Le({props:{title:"Lo que Aprenderás",local:"lo-que-aprenderás",headingTag:"h2"}}),M=new Me({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/es/bonus-unit1/introduction.mdx"}}),{c(){u=o("meta"),C=s(),$=o("p"),P=s(),J(d.$$.fragment),y=s(),m=o("p"),m.innerHTML=ne,A=s(),p=o("p"),p.innerHTML=ae,j=s(),c=o("p"),c.innerHTML=se,w=s(),f=o("p"),f.innerHTML=ie,E=s(),g=o("blockquote"),g.innerHTML=oe,U=s(),L=o("p"),L.textContent=re,R=s(),v=o("ol"),v.innerHTML=le,k=s(),z=o("hr"),B=s(),J(h.$$.fragment),I=s(),b=o("ol"),b.innerHTML=ue,O=s(),S=o("hr"),F=s(),T=o("p"),T.textContent=de,G=s(),x=o("ul"),x.innerHTML=me,D=s(),H=o("p"),H.innerHTML=pe,K=s(),_=o("p"),_.innerHTML=ce,N=s(),J(M.$$.fragment),Q=s(),q=o("p"),this.h()},l(e){const t=He("svelte-u9bgzb",document.head);u=r(t,"META",{name:!0,content:!0}),t.forEach(n),C=i(e),$=r(e,"P",{}),fe($).forEach(n),P=i(e),V(d.$$.fragment,e),y=i(e),m=r(e,"P",{"data-svelte-h":!0}),l(m)!=="svelte-1lr1l38"&&(m.innerHTML=ne),A=i(e),p=r(e,"P",{"data-svelte-h":!0}),l(p)!=="svelte-1pdjdlt"&&(p.innerHTML=ae),j=i(e),c=r(e,"P",{"data-svelte-h":!0}),l(c)!=="svelte-c1t6x9"&&(c.innerHTML=se),w=i(e),f=r(e,"P",{"data-svelte-h":!0}),l(f)!=="svelte-1ujhrup"&&(f.innerHTML=ie),E=i(e),g=r(e,"BLOCKQUOTE",{"data-svelte-h":!0}),l(g)!=="svelte-rrnq7a"&&(g.innerHTML=oe),U=i(e),L=r(e,"P",{"data-svelte-h":!0}),l(L)!=="svelte-okisx7"&&(L.textContent=re),R=i(e),v=r(e,"OL",{"data-svelte-h":!0}),l(v)!=="svelte-1p8xyv9"&&(v.innerHTML=le),k=i(e),z=r(e,"HR",{}),B=i(e),V(h.$$.fragment,e),I=i(e),b=r(e,"OL",{"data-svelte-h":!0}),l(b)!=="svelte-o7amhb"&&(b.innerHTML=ue),O=i(e),S=r(e,"HR",{}),F=i(e),T=r(e,"P",{"data-svelte-h":!0}),l(T)!=="svelte-pcbdkn"&&(T.textContent=de),G=i(e),x=r(e,"UL",{"data-svelte-h":!0}),l(x)!=="svelte-cxh1w8"&&(x.innerHTML=me),D=i(e),H=r(e,"P",{"data-svelte-h":!0}),l(H)!=="svelte-1qbgjjl"&&(H.innerHTML=pe),K=i(e),_=r(e,"P",{"data-svelte-h":!0}),l(_)!=="svelte-1tk4rph"&&(_.innerHTML=ce),N=i(e),V(M.$$.fragment,e),Q=i(e),q=r(e,"P",{}),fe(q).forEach(n),this.h()},h(){ge(u,"name","hf:doc:metadata"),ge(u,"content",qe)},m(e,t){_e(document.head,u),a(e,C,t),a(e,$,t),a(e,P,t),W(d,e,t),a(e,y,t),a(e,m,t),a(e,A,t),a(e,p,t),a(e,j,t),a(e,c,t),a(e,w,t),a(e,f,t),a(e,E,t),a(e,g,t),a(e,U,t),a(e,L,t),a(e,R,t),a(e,v,t),a(e,k,t),a(e,z,t),a(e,B,t),W(h,e,t),a(e,I,t),a(e,b,t),a(e,O,t),a(e,S,t),a(e,F,t),a(e,T,t),a(e,G,t),a(e,x,t),a(e,D,t),a(e,H,t),a(e,K,t),a(e,_,t),a(e,N,t),W(M,e,t),a(e,Q,t),a(e,q,t),Y=!0},p:he,i(e){Y||(X(d.$$.fragment,e),X(h.$$.fragment,e),X(M.$$.fragment,e),Y=!0)},o(e){Z(d.$$.fragment,e),Z(h.$$.fragment,e),Z(M.$$.fragment,e),Y=!1},d(e){e&&(n(C),n($),n(P),n(y),n(m),n(A),n(p),n(j),n(c),n(w),n(f),n(E),n(g),n(U),n(L),n(R),n(v),n(k),n(z),n(B),n(I),n(b),n(O),n(S),n(F),n(T),n(G),n(x),n(D),n(H),n(K),n(_),n(N),n(Q),n(q)),n(u),ee(d,e),ee(h,e),ee(M,e)}}}const qe='{"title":"Introducción","local":"introducción","sections":[{"title":"Lo que Aprenderás","local":"lo-que-aprenderás","sections":[],"depth":2}],"depth":1}';function Ce(te){return be(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class we extends Te{constructor(u){super(),xe(this,u,Ce,$e,ve,{})}}export{we as component};
