import{s as _t,n as ct,o as Mt}from"../chunks/scheduler.f6b352c8.js";import{S as $t,i as ht,g as r,s as i,r as V,A as Ht,h as o,f as n,c as s,j as Lt,u as W,x as p,k as vt,y as xt,a as l,v as X,d as Y,t as Z,w as tt}from"../chunks/index.7f38e934.js";import{H as Tt,E as bt}from"../chunks/getInferenceSnippets.7d19090c.js";function Ct(et){let u,w,C,U,a,d,m,nt='<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/bonus-unit1/thumbnail.jpg" alt="Bonus Unit 1 Thumbnail"/>',A,f,lt="첫 번째 <strong>Bonus Unit</strong>에 오신 것을 환영합니다. 여기에서 <strong>함수 호출을 위한 대형 언어 모델(LLM)을 미세 조정하는 방법</strong>을 배우게 됩니다.",B,g,it="대형 언어 모델(LLM)에서 함수 호출은 <em>필수 학습</em> 기술이 되어 가고 있습니다.",E,L,st="여기서 핵심은 Unit 1에서 했던 것처럼 프롬프트 기반 접근 방식에만 의존하는 대신, 함수 호출을 통해 <strong>학습 과정에서 직접 행동을 수행하고 관찰된 정보를 해석하도록</strong> 모델을 훈련시켜 AI의 견고성을 높인다는 점입니다.",y,v,rt="<p><strong>Bonus Unit을 언제 진행해야 하나요?</strong></p> <p>이 섹션은 <strong>선택 사항</strong>이며 Unit 1보다 <strong>심화된 내용</strong>을 다루므로, 지금 바로 진행하거나 이 과정을 통해 지식이 더 쌓인 후에 다시 살펴보셔도 좋습니다.</p> <p>하지만 걱정하지 마세요. 이 Bonus Unit은 필요한 모든 정보를 담고 있어, 미세 조정의 내부 작동 방식을 아직 배우지 않으셨더라도 함수 호출을 위한 핵심 개념을 하나하나 안내해 드립니다.</p>",z,T,ot="Bonus Unit을 가장 효과적으로 따라가려면:",R,_,pt='<li><p>아직 Transformers로 대형 언어 모델(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>',k,O,q,c,S,M,ut=`<li><p><strong>함수 호출</strong><br/>
최신 LLM이 대화를 구조화하여 <strong>도구</strong>를 호출할 수 있게 하는 방법을 배웁니다.</p></li> <li><p><strong>LoRA (저차원 적응)</strong><br/>
계산 및 저장 오버헤드를 줄여주는 <strong>경량화되고 효율적인</strong> 미세 조정 방법입니다. LoRA는 대형 모델을 <em>더 빠르고 저렴하게 훈련하고, 쉽게 배포할 수 있게 합니다.</em></p></li> <li><p>함수 호출 모델에서의 <strong>사고 → 행동 → 관찰 사이클</strong><br/>
간단하지만 강력한 접근 방식으로, 모델이 언제(그리고 어떻게) 함수를 호출할지 결정하고, 중간 단계를 추적하며, 외부 도구나 API로부터 받은 결과를 해석하는 과정을 구조화합니다.</p></li> <li><p><strong>새로운 특수 토큰</strong><br/>
모델이 다음 항목들을 구별할 수 있도록 특수한 마커를 도입합니다.</p> <ul><li>내부 “사고 과정” 추론</li> <li>함수 호출 요청</li> <li>외부 도구로부터 돌아오는 응답</li></ul></li>`,I,j,F,$,at="Bonus Unit을 마치면 다음을 할 수 있습니다.",G,h,mt="<li><strong>도구</strong> 관련 API의 내부 작동 방식을 <strong>이해</strong>합니다.</li> <li>LoRA 기법을 사용하여 모델을 <strong>미세 조정</strong>합니다.</li> <li>사고 → 행동 → 관찰 사이클을 <strong>구현</strong>하고 <strong>수정</strong>하여 견고하고 유지보수 가능한 함수 호출 워크플로를 만듭니다.</li> <li>모델의 내부 추론과 외부 행동을 원활하게 구분할 수 있도록 <strong>특수 토큰을 설계 및 활용</strong>합니다.</li>",K,H,ft="그리고 <strong>함수를 호출하기 위해 직접 모델을 미세 조정</strong>하게 됩니다. 🔥",Q,x,gt="이제 <strong>함수 호출</strong>에 대해 본격적으로 살펴보겠습니다!",D,b,J,P,N;return a=new Tt({props:{title:"소개",local:"introduction",headingTag:"h1"}}),c=new Tt({props:{title:"학습 내용",local:"what-you’ll-learn",headingTag:"h2"}}),b=new bt({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ko/bonus-unit1/introduction.mdx"}}),{c(){u=r("meta"),w=i(),C=r("p"),U=i(),V(a.$$.fragment),d=i(),m=r("p"),m.innerHTML=nt,A=i(),f=r("p"),f.innerHTML=lt,B=i(),g=r("p"),g.innerHTML=it,E=i(),L=r("p"),L.innerHTML=st,y=i(),v=r("blockquote"),v.innerHTML=rt,z=i(),T=r("p"),T.textContent=ot,R=i(),_=r("ol"),_.innerHTML=pt,k=i(),O=r("hr"),q=i(),V(c.$$.fragment),S=i(),M=r("ol"),M.innerHTML=ut,I=i(),j=r("hr"),F=i(),$=r("p"),$.textContent=at,G=i(),h=r("ul"),h.innerHTML=mt,K=i(),H=r("p"),H.innerHTML=ft,Q=i(),x=r("p"),x.innerHTML=gt,D=i(),V(b.$$.fragment),J=i(),P=r("p"),this.h()},l(t){const e=Ht("svelte-u9bgzb",document.head);u=o(e,"META",{name:!0,content:!0}),e.forEach(n),w=s(t),C=o(t,"P",{}),Lt(C).forEach(n),U=s(t),W(a.$$.fragment,t),d=s(t),m=o(t,"P",{"data-svelte-h":!0}),p(m)!=="svelte-1lr1l38"&&(m.innerHTML=nt),A=s(t),f=o(t,"P",{"data-svelte-h":!0}),p(f)!=="svelte-19e3z86"&&(f.innerHTML=lt),B=s(t),g=o(t,"P",{"data-svelte-h":!0}),p(g)!=="svelte-tw0mit"&&(g.innerHTML=it),E=s(t),L=o(t,"P",{"data-svelte-h":!0}),p(L)!=="svelte-1hn0gkl"&&(L.innerHTML=st),y=s(t),v=o(t,"BLOCKQUOTE",{"data-svelte-h":!0}),p(v)!=="svelte-10i7onz"&&(v.innerHTML=rt),z=s(t),T=o(t,"P",{"data-svelte-h":!0}),p(T)!=="svelte-1enz9rz"&&(T.textContent=ot),R=s(t),_=o(t,"OL",{"data-svelte-h":!0}),p(_)!=="svelte-165gq95"&&(_.innerHTML=pt),k=s(t),O=o(t,"HR",{}),q=s(t),W(c.$$.fragment,t),S=s(t),M=o(t,"OL",{"data-svelte-h":!0}),p(M)!=="svelte-1mnunic"&&(M.innerHTML=ut),I=s(t),j=o(t,"HR",{}),F=s(t),$=o(t,"P",{"data-svelte-h":!0}),p($)!=="svelte-iitvbi"&&($.textContent=at),G=s(t),h=o(t,"UL",{"data-svelte-h":!0}),p(h)!=="svelte-1ulg8t1"&&(h.innerHTML=mt),K=s(t),H=o(t,"P",{"data-svelte-h":!0}),p(H)!=="svelte-1v3erz9"&&(H.innerHTML=ft),Q=s(t),x=o(t,"P",{"data-svelte-h":!0}),p(x)!=="svelte-2wv9t3"&&(x.innerHTML=gt),D=s(t),W(b.$$.fragment,t),J=s(t),P=o(t,"P",{}),Lt(P).forEach(n),this.h()},h(){vt(u,"name","hf:doc:metadata"),vt(u,"content",Pt)},m(t,e){xt(document.head,u),l(t,w,e),l(t,C,e),l(t,U,e),X(a,t,e),l(t,d,e),l(t,m,e),l(t,A,e),l(t,f,e),l(t,B,e),l(t,g,e),l(t,E,e),l(t,L,e),l(t,y,e),l(t,v,e),l(t,z,e),l(t,T,e),l(t,R,e),l(t,_,e),l(t,k,e),l(t,O,e),l(t,q,e),X(c,t,e),l(t,S,e),l(t,M,e),l(t,I,e),l(t,j,e),l(t,F,e),l(t,$,e),l(t,G,e),l(t,h,e),l(t,K,e),l(t,H,e),l(t,Q,e),l(t,x,e),l(t,D,e),X(b,t,e),l(t,J,e),l(t,P,e),N=!0},p:ct,i(t){N||(Y(a.$$.fragment,t),Y(c.$$.fragment,t),Y(b.$$.fragment,t),N=!0)},o(t){Z(a.$$.fragment,t),Z(c.$$.fragment,t),Z(b.$$.fragment,t),N=!1},d(t){t&&(n(w),n(C),n(U),n(d),n(m),n(A),n(f),n(B),n(g),n(E),n(L),n(y),n(v),n(z),n(T),n(R),n(_),n(k),n(O),n(q),n(S),n(M),n(I),n(j),n(F),n($),n(G),n(h),n(K),n(H),n(Q),n(x),n(D),n(J),n(P)),n(u),tt(a,t),tt(c,t),tt(b,t)}}}const Pt='{"title":"소개","local":"introduction","sections":[{"title":"학습 내용","local":"what-you’ll-learn","sections":[],"depth":2}],"depth":1}';function wt(et){return Mt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Bt extends $t{constructor(u){super(),ht(this,u,wt,Ct,_t,{})}}export{Bt as component};
