import{s as Tt,n as dt,o as $t}from"../chunks/scheduler.4048030c.js";import{S as xt,i as Mt,e as o,s as l,c as X,h as Ct,a as s,d as i,b as h,f as bt,g as Y,j as g,k as vt,l as kt,m as e,n as Z,t as tt,o as nt,p as it}from"../chunks/index.491908f3.js";import{C as _t}from"../chunks/CopyLLMTxtMenu.40dbc672.js";import{H as Lt}from"../chunks/Heading.16eaa7b8.js";import{E as Ht}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.48edbe27.js";function yt(et){let u,y,_,P,c,w,r,q,a,lt='<img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/bonus-unit1/thumbnail.jpg" alt="Hình ảnh minh họa chương bổ trợ 1"/>',A,p,ht="Chào mừng bạn đến với <strong>chương bổ trợ đầu tiên</strong> này, nơi ta sẽ học cách <strong>tinh chỉnh (fine-tuning) Mô hình Ngôn ngữ Lớn (LLM) cho function calling</strong>.",E,m,ot="Với LLMs, function calling đang nhanh chóng trở thành kỹ thuật <em>phải-biết</em>.",R,f,st="Ý tưởng là thay vì chỉ dựa vào phương pháp prompt-based như trong chương 1, function calling sẽ huấn luyện model của bạn <strong>thực hiện hành động và diễn giải quan sát trong giai đoạn training</strong>, giúp AI trở nên mạnh mẽ hơn.",O,b,gt="<p><strong>Khi nào nên học chương bổ trợ này?</strong></p> <p>Phần này <strong>không bắt buộc</strong> và nâng cao hơn chương 1. Bạn có thể học ngay hoặc quay lại sau khi nâng cao kiến thức nhờ khóa học.</p> <p>Đừng lo, chương bổ trợ được thiết kế để cung cấp đầy đủ thông tin cần thiết. Chúng mình sẽ hướng dẫn bạn từng khái niệm cốt lõi về tinh chỉnh model cho function calling dù bạn chưa hiểu sâu về fine-tuning.</p>",S,v,ut="Để học tốt chương bổ trợ này, bạn cần:",B,L,ct='<li><p>Biết cách Tinh chỉnh LLM với Transformers. Nếu chưa biết, <a href="https://huggingface.co/learn/nlp-course/chapter3/1?fw=pt" rel="nofollow">xem tại đây</a>.</p></li> <li><p>Biết dùng <code>SFTTrainer</code> để tinh chỉnh model. Tìm hiểu thêm tại <a href="https://huggingface.co/learn/nlp-course/en/chapter11/1" rel="nofollow">tài liệu này</a>.</p></li>',z,F,N,T,j,d,rt=`<li><p><strong>Function Calling</strong><br/>
Cách LLMs hiện đại tổ chức hội thoại hiệu quả để kích hoạt <strong>Tools (công cụ)</strong>.</p></li> <li><p><strong>LoRA (Low-Rank Adaptation)</strong><br/>
Phương pháp tinh chỉnh <strong>nhẹ và hiệu quả</strong> giúp giảm chi phí tính toán và lưu trữ. LoRA giúp huấn luyện model lớn <em>nhanh hơn, rẻ hơn, dễ triển khai hơn</em>.</p></li> <li><p><strong>Chu trình Suy nghĩ → Hành động → Quan sát</strong> trong model Function Calling<br/>
Cách tiếp cận đơn giản nhưng mạnh mẽ để model quyết định khi nào (và cách nào) gọi function, theo dõi các bước trung gian, và diễn giải kết quả từ Tools/API bên ngoài.</p></li> <li><p><strong>Token Đặc biệt Mới</strong><br/>
Chúng ta sẽ giới thiệu <strong>các marker đặc biệt</strong> giúp model phân biệt:</p> <ul><li>Lý luận nội bộ kiểu “chain-of-thought” (luồng suy luận)</li> <li>Lệnh gọi function</li> <li>Phản hồi từ công cụ bên ngoài</li></ul></li>`,G,I,K,$,at="Kết thúc chương bổ trợ này, bạn sẽ có thể:",U,x,pt="<li><strong>Hiểu</strong> cách hoạt động nội bộ của APIs khi sử dụng Tools</li> <li><strong>Tinh chỉnh</strong> model bằng kỹ thuật LoRA</li> <li><strong>Triển khai</strong> và <strong>tùy chỉnh</strong> chu trình Thought → Act → Observe để tạo workflow Function-calling mạnh mẽ</li> <li><strong>Thiết kế và sử dụng</strong> token đặc biệt để tách biệt lý luận nội bộ của model với hành động bên ngoài</li>",Q,M,mt="Và quan trọng nhất: <strong>Bạn sẽ có model được tinh chỉnh để thực hiện function calling!</strong> 🔥",V,C,ft="Cùng khám phá <strong>function calling</strong> thôi!",D,k,J,H,W;return c=new _t({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),r=new Lt({props:{title:"Giới thiệu",local:"giới-thiệu",headingTag:"h1"}}),T=new Lt({props:{title:"Nội dung học",local:"nội-dung-học",headingTag:"h2"}}),k=new Ht({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/vi/bonus-unit1/introduction.mdx"}}),{c(){u=o("meta"),y=l(),_=o("p"),P=l(),X(c.$$.fragment),w=l(),X(r.$$.fragment),q=l(),a=o("p"),a.innerHTML=lt,A=l(),p=o("p"),p.innerHTML=ht,E=l(),m=o("p"),m.innerHTML=ot,R=l(),f=o("p"),f.innerHTML=st,O=l(),b=o("blockquote"),b.innerHTML=gt,S=l(),v=o("p"),v.textContent=ut,B=l(),L=o("ol"),L.innerHTML=ct,z=l(),F=o("hr"),N=l(),X(T.$$.fragment),j=l(),d=o("ol"),d.innerHTML=rt,G=l(),I=o("hr"),K=l(),$=o("p"),$.textContent=at,U=l(),x=o("ul"),x.innerHTML=pt,Q=l(),M=o("p"),M.innerHTML=mt,V=l(),C=o("p"),C.innerHTML=ft,D=l(),X(k.$$.fragment),J=l(),H=o("p"),this.h()},l(t){const n=Ct("svelte-u9bgzb",document.head);u=s(n,"META",{name:!0,content:!0}),n.forEach(i),y=h(t),_=s(t,"P",{}),bt(_).forEach(i),P=h(t),Y(c.$$.fragment,t),w=h(t),Y(r.$$.fragment,t),q=h(t),a=s(t,"P",{"data-svelte-h":!0}),g(a)!=="svelte-1jo9yfp"&&(a.innerHTML=lt),A=h(t),p=s(t,"P",{"data-svelte-h":!0}),g(p)!=="svelte-1l6pozr"&&(p.innerHTML=ht),E=h(t),m=s(t,"P",{"data-svelte-h":!0}),g(m)!=="svelte-kbs7zi"&&(m.innerHTML=ot),R=h(t),f=s(t,"P",{"data-svelte-h":!0}),g(f)!=="svelte-19b20mx"&&(f.innerHTML=st),O=h(t),b=s(t,"BLOCKQUOTE",{"data-svelte-h":!0}),g(b)!=="svelte-1xx74af"&&(b.innerHTML=gt),S=h(t),v=s(t,"P",{"data-svelte-h":!0}),g(v)!=="svelte-1evp1c5"&&(v.textContent=ut),B=h(t),L=s(t,"OL",{"data-svelte-h":!0}),g(L)!=="svelte-1xs8aki"&&(L.innerHTML=ct),z=h(t),F=s(t,"HR",{}),N=h(t),Y(T.$$.fragment,t),j=h(t),d=s(t,"OL",{"data-svelte-h":!0}),g(d)!=="svelte-96gihh"&&(d.innerHTML=rt),G=h(t),I=s(t,"HR",{}),K=h(t),$=s(t,"P",{"data-svelte-h":!0}),g($)!=="svelte-1de027d"&&($.textContent=at),U=h(t),x=s(t,"UL",{"data-svelte-h":!0}),g(x)!=="svelte-1sbinhu"&&(x.innerHTML=pt),Q=h(t),M=s(t,"P",{"data-svelte-h":!0}),g(M)!=="svelte-3o7qro"&&(M.innerHTML=mt),V=h(t),C=s(t,"P",{"data-svelte-h":!0}),g(C)!=="svelte-mk4008"&&(C.innerHTML=ft),D=h(t),Y(k.$$.fragment,t),J=h(t),H=s(t,"P",{}),bt(H).forEach(i),this.h()},h(){vt(u,"name","hf:doc:metadata"),vt(u,"content",Pt)},m(t,n){kt(document.head,u),e(t,y,n),e(t,_,n),e(t,P,n),Z(c,t,n),e(t,w,n),Z(r,t,n),e(t,q,n),e(t,a,n),e(t,A,n),e(t,p,n),e(t,E,n),e(t,m,n),e(t,R,n),e(t,f,n),e(t,O,n),e(t,b,n),e(t,S,n),e(t,v,n),e(t,B,n),e(t,L,n),e(t,z,n),e(t,F,n),e(t,N,n),Z(T,t,n),e(t,j,n),e(t,d,n),e(t,G,n),e(t,I,n),e(t,K,n),e(t,$,n),e(t,U,n),e(t,x,n),e(t,Q,n),e(t,M,n),e(t,V,n),e(t,C,n),e(t,D,n),Z(k,t,n),e(t,J,n),e(t,H,n),W=!0},p:dt,i(t){W||(tt(c.$$.fragment,t),tt(r.$$.fragment,t),tt(T.$$.fragment,t),tt(k.$$.fragment,t),W=!0)},o(t){nt(c.$$.fragment,t),nt(r.$$.fragment,t),nt(T.$$.fragment,t),nt(k.$$.fragment,t),W=!1},d(t){t&&(i(y),i(_),i(P),i(w),i(q),i(a),i(A),i(p),i(E),i(m),i(R),i(f),i(O),i(b),i(S),i(v),i(B),i(L),i(z),i(F),i(N),i(j),i(d),i(G),i(I),i(K),i($),i(U),i(x),i(Q),i(M),i(V),i(C),i(D),i(J),i(H)),i(u),it(c,t),it(r,t),it(T,t),it(k,t)}}}const Pt='{"title":"Giới thiệu","local":"giới-thiệu","sections":[{"title":"Nội dung học","local":"nội-dung-học","sections":[],"depth":2}],"depth":1}';function wt(et){return $t(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class St extends xt{constructor(u){super(),Mt(this,u,wt,yt,Tt,{})}}export{St as component};
