Buckets:

download
raw
37 kB
import{s as ae,a as mt,n as pe,o as ie}from"../chunks/scheduler.cc52f4b9.js";import{S as Ce,i as ye,e as n,s as U,c as i,h as Qe,a as M,d as e,b as J,f as rt,g as C,j as T,k as p,l as je,m as s,n as y,t as Q,o as j,p as V}from"../chunks/index.1e918bfb.js";import{C as Ve}from"../chunks/CopyLLMTxtMenu.ce86af19.js";import{C as ot}from"../chunks/CodeBlock.afd9d0f5.js";import{H as Vl,E as Ie}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.290f8ef6.js";function we(ct){let I,Il,Ql,wl,w,ol,o,ml,m,ut="앞 섹션에서 우리는 Python 코드로 에이전트를 처음부터 만드는 방법을 배웠고, <strong>이 과정이 얼마나 번거로울 수 있는지</strong> 직접 확인했습니다. 다행히도 많은 에이전트 라이브러리들이 <strong>복잡한 작업들을 자동화하여</strong> 이 과정을 훨씬 간단하게 만들어줍니다.",rl,r,gt="이 튜토리얼에서는 <strong>여러분의 첫 번째 에이전트를 만들게 됩니다</strong>. 이 에이전트는 이미지 생성, 웹 검색, 시간대 확인 등 다양한 작업을 수행할 수 있습니다!",cl,c,Et="또한 여러분이 만든 에이전트를 <strong>Hugging Face Space에 올려서 친구들이나 동료들과 공유</strong>할 수도 있습니다.",ul,u,Rt="시작해 볼까요!",gl,g,El,E,ht,Rl,R,Ot="이 에이전트를 만들기 위해, 우리는 <strong>에이전트 개발을 쉽게 해주는 프레임워크인</strong> <code>smolagents</code> 라이브러리를 사용할 것입니다.",hl,h,Bt="이 가벼운 라이브러리는 단순함을 목표로 설계되었지만, 에이전트 구축의 복잡한 부분들을 추상화하여 여러분이 에이전트의 행동 설계에만 집중할 수 있게 도와줍니다.",Ol,O,bt='다음 Unit에서 smolagents에 대해 더 자세히 알아볼 예정입니다. 그동안 이 <a href="https://huggingface.co/blog/smolagents" target="_blank">블로그 포스트</a>나 라이브러리의 <a href="https://github.com/huggingface/smolagents" target="_blank">GitHub 저장소</a>를 확인해보세요.',Bl,B,dt="간단히 말해, <code>smolagents</code>는 <strong>codeAgent</strong>에 초점을 맞춘 라이브러리입니다. 이런 유형의 에이전트는 코드 블록을 통해 <strong>“행동(Actions)”</strong>을 수행한 다음, 코드를 실행하여 결과를 <strong>“관찰(Observes)”</strong>합니다.",bl,b,At="다음은 우리가 만들 에이전트의 예시입니다!",dl,d,Dt="우리가 에이전트에 <strong>이미지 생성 도구</strong>를 제공하고 고양이 이미지를 생성해달라고 요청했습니다.",Al,A,ft="<code>smolagents</code> 내의 에이전트는 <strong>이전에 우리가 직접 만든 에이전트와 동일한 방식으로 작동합니다</strong>: 최종 답변에 도달할 때까지 <strong>생각하고, 행동하고, 관찰하는 사이클을 반복</strong>합니다:",Dl,a,Ft,fl,D,kt="흥미롭지 않나요?",Fl,f,kl,F,vt='시작하려면 이 Space를 복제하세요: <a href="https://huggingface.co/spaces/agents-course/First_agent_template" target="_blank">https://huggingface.co/spaces/agents-course/First_agent_template</a>',vl,k,_t='<p>이 템플릿을 만들어준 <a href="https://huggingface.co/m-ric" target="_blank">Aymeric</a>에게 감사드립니다! 🙌</p>',_l,v,Nt="Space를 복제한다는 것은 <strong>자신의 프로필에 개인 사본을 만드는 것</strong>을 의미합니다:",Nl,_,St,Sl,N,xt='이 강의를 통틀어 여러분이 수정해야 할 파일은 (현재 미완성 상태인) <strong>“app.py”</strong> 하나뿐입니다. 여기서 <a href="https://huggingface.co/spaces/agents-course/First_agent_template/blob/main/app.py" rel="nofollow">템플릿의 원본 파일</a>을 확인할 수 있습니다. 여러분의 파일을 찾으려면, 복제한 Space로 이동한 다음 <code>Files</code> 탭을 클릭하고 디렉토리 목록에서 <code>app.py</code>를 클릭하세요.',xl,S,Zt="코드를 함께 살펴봅시다:",Zl,x,Ht="<li>파일은 몇 가지 필요한 라이브러리 불러오기로 시작합니다</li>",Hl,Z,Wl,H,Wt="앞서 설명했듯이, <strong>smolagents</strong>에서 직접 <strong>CodeAgent</strong> 클래스를 사용할 것입니다.",Gl,W,zl,G,Gt='이제 도구에 대해 알아봅시다! 도구에 관한 내용을 다시 복습하고 싶다면, 강의의 <a href="tools">도구</a> 섹션을 참고하세요.',$l,z,Xl,$,zt="도구는 이 섹션에서 여러분이 직접 만들어볼 것입니다! 두 가지 예시를 제공해드립니다:",Ll,X,$t="<li>실제로는 아무것도 하지 않는 <strong>더미 도구</strong> - 이것을 유용한 기능으로 수정해보세요.</li> <li>전 세계 어디서든 현재 시간을 알려주는 <strong>실제 작동하는 도구</strong>.</li>",ql,L,Xt="도구를 정의할 때 중요한 점:",Yl,q,Lt="<li><code>get_current_time_in_timezone(timezone: str) -&gt; str:</code>처럼 함수의 입력 및 출력 타입을 명확히 지정해주세요.</li> <li><strong>잘 작성된 문서 문자열(docstring)</strong>을 포함하세요. <code>smolagents</code>는 모든 인수에 대해 <strong>docstring에 설명이 있어야</strong> 합니다.</li>",Pl,Y,Kl,P,qt='이 에이전트는 LLM 엔진으로 <a href="https://huggingface.co/Qwen/Qwen2.5-Coder-32B-Instruct" rel="nofollow"><code>Qwen/Qwen2.5-Coder-32B-Instruct</code></a>를 사용합니다. 이는 서버리스 API를 통해 접근할 수 있는 매우 강력한 모델입니다.',lt,K,tt,ll,Yt="이 에이전트는 이전 섹션에서 살펴본 <code>InferenceClient</code>를 <strong>InferenceClientModel</strong> 클래스 내부에서 사용하고 있습니다!",et,tl,Pt="Unit 2에서 이 프레임워크에 대해 더 자세한 예시를 제공할 예정입니다. 지금은 에이전트의 <code>tools</code> 매개변수를 사용해 <strong>도구 목록에 새로운 도구를 추가</strong>하는 데 집중하세요.",st,el,Kt="예를 들어, 코드 첫 줄에서 불러온 <code>DuckDuckGoSearchTool</code>을 사용하거나, 코드 뒷부분에서 Hub에서 불러오는 <code>image_generation_tool</code>을 활용해볼 수 있습니다.",Ut,sl,le="<strong>도구를 추가하면 에이전트에 새로운 능력이 생깁니다</strong>. 창의성을 발휘해 보세요!",Jt,Ul,te="완성된 “app.py” 코드:",nt,Jl,Mt,nl,ee="여러분의 <strong>목표</strong>는 Space와 에이전트에 친숙해지는 것입니다.",Tt,Ml,se="현재 템플릿의 에이전트는 <strong>아무런 도구도 사용하지 않고 있습니다. 미리 만들어진 도구들을 추가하거나 직접 새로운 도구를 만들어보세요!</strong>",at,Tl,Ue="디스코드 채널 <strong>#agents-course-showcase</strong>에서 여러분이 만든 멋진 에이전트 결과물을 기다리고 있습니다!",pt,it,Ct,al,Je="축하합니다! 첫 번째 에이전트를 만드셨네요! 친구나 동료들과 자유롭게 공유해보세요.",yt,pl,ne="첫 시도이니만큼 약간의 버그가 있거나 속도가 느릴 수 있는 건 매우 자연스러운 일입니다. 앞으로의 단원에서는 더 나은 에이전트를 만드는 방법을 배울 예정입니다.",Qt,il,Me="가장 좋은 학습 방법은 직접 시도해보는 것입니다. 에이전트를 업데이트하거나, 더 많은 도구를 추가하거나, 다른 모델을 시험해보는 것을 망설이지 마세요.",jt,Cl,Te="다음 섹션에서는 최종 퀴즈를 풀고 수료증을 받게 됩니다!",Vt,yl,It,jl,wt;return w=new Ve({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),o=new Vl({props:{title:"smolagents로 첫 번째 에이전트 만들기",local:"lets-create-our-first-agent-using-smolagents",headingTag:"h1"}}),g=new Vl({props:{title:"smolagents란 무엇인가요?",local:"what-is-smolagents",headingTag:"h2"}}),f=new Vl({props:{title:"에이전트 만들기!",local:"lets-build-our-agent",headingTag:"h2"}}),Z=new ot({props:{code:"ZnJvbSUyMHNtb2xhZ2VudHMlMjBpbXBvcnQlMjBDb2RlQWdlbnQlMkMlMjBEdWNrRHVja0dvU2VhcmNoVG9vbCUyQyUyMEluZmVyZW5jZUNsaWVudE1vZGVsJTJDJTIwbG9hZF90b29sJTJDJTIwdG9vbCUwQWltcG9ydCUyMGRhdGV0aW1lJTBBaW1wb3J0JTIwcmVxdWVzdHMlMEFpbXBvcnQlMjBweXR6JTBBaW1wb3J0JTIweWFtbCUwQWZyb20lMjB0b29scy5maW5hbF9hbnN3ZXIlMjBpbXBvcnQlMjBGaW5hbEFuc3dlclRvb2w=",highlighted:`<span class="hljs-keyword">from</span> smolagents <span class="hljs-keyword">import</span> CodeAgent, DuckDuckGoSearchTool, InferenceClientModel, load_tool, tool
<span class="hljs-keyword">import</span> datetime
<span class="hljs-keyword">import</span> requests
<span class="hljs-keyword">import</span> pytz
<span class="hljs-keyword">import</span> yaml
<span class="hljs-keyword">from</span> tools.final_answer <span class="hljs-keyword">import</span> FinalAnswerTool`,wrap:!1}}),W=new Vl({props:{title:"도구",local:"the-tools",headingTag:"h3"}}),z=new ot({props:{code:"JTQwdG9vbCUwQWRlZiUyMG15X2N1c3RvbV90b29sKGFyZzElM0FzdHIlMkMlMjBhcmcyJTNBaW50KS0lM0UlMjBzdHIlM0ElMjAlMjMlMjAlRUIlQjAlOTglRUQlOTklOTglMjAlRUQlODMlODAlRUMlOUUlODUlRUMlOUQlODQlMjAlRUIlQUElODUlRUMlOEIlOUMlRUQlOTUlOTglRUIlOEElOTQlMjAlRUElQjIlODMlRUMlOUQlQjQlMjAlRUMlQTQlOTElRUMlOUElOTQlRUQlOTUlQTklRUIlOEIlODglRUIlOEIlQTQlMEElMjAlMjAlMjAlMjAlMjMlMjAlRUIlOEYlODQlRUElQjUlQUMlMjAlRUMlODQlQTQlRUIlQUElODUlMkYlRUMlOUQlQjglRUMlODglOTglMjAlRUMlODQlQTQlRUIlQUElODUlMjAlRUQlOTglOTUlRUMlOEIlOUQlRUMlOUQlODAlMjAlRUMlOUMlQTAlRUMlQTclODAlRUQlOTUlOTglRUIlOTAlOTglMkMlMjAlRUIlOEYlODQlRUElQjUlQUMlMjAlRUMlOUUlOTAlRUMlQjIlQjQlRUIlOEElOTQlMjAlRUMlOUUlOTAlRUMlOUMlQTAlRUIlQTElQUQlRUElQjIlOEMlMjAlRUMlODglOTglRUMlQTAlOTUlRUQlOTUlOTglRUMlODQlQjglRUMlOUElOTQlMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlRUMlOTUlODQlRUMlQTclODElMjAlRUMlOTUlODQlRUIlQUMlQjQlMjAlRUElQjglQjAlRUIlOEElQTUlRUMlOUQlQjQlMjAlRUMlOTclODYlRUIlOEElOTQlMjAlRUIlOEYlODQlRUElQjUlQUMlRUMlOUUlODUlRUIlOEIlODglRUIlOEIlQTQlMEElMjAlMjAlMjAlMjBBcmdzJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYXJnMSUzQSUyMCVFQyVCMiVBQiUyMCVFQiVCMiU4OCVFQyVBNyVCOCUyMCVFQyU5RCVCOCVFQyU4OCU5OCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFyZzIlM0ElMjAlRUIlOTElOTAlMjAlRUIlQjIlODglRUMlQTclQjglMjAlRUMlOUQlQjglRUMlODglOTglMEElMjAlMjAlMjAlMjAlMjIlMjIlMjIlMEElMjAlMjAlMjAlMjByZXR1cm4lMjAlMjIlRUMlOTYlQjQlRUIlOTYlQTQlMjAlRUIlQTclODglRUIlQjIlOTUlRUMlOUQlODQlMjAlRUIlQTclOEMlRUIlOTMlQTQlRUMlOTYlQjQlMjAlRUIlQjMlQjQlRUMlOEIlQTQlMjAlRUElQjElQjQlRUElQjAlODAlRUMlOUElOTQlM0YlMjIlMEElMEElNDB0b29sJTBBZGVmJTIwZ2V0X2N1cnJlbnRfdGltZV9pbl90aW1lem9uZSh0aW1lem9uZSUzQSUyMHN0ciklMjAtJTNFJTIwc3RyJTNBJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJUVEJThBJUI5JUVDJUEwJTk1JTIwJUVDJThCJTlDJUVBJUIwJTg0JUVCJThDJTgwJUVDJTlEJTk4JTIwJUVEJTk4JTg0JUVDJTlFJUFDJTIwJUVDJThCJTlDJUVBJUIwJTg0JUVDJTlEJTg0JTIwJUVDJTk1JThDJUVCJUEwJUE0JUVDJUEzJUJDJUVCJThBJTk0JTIwJUVCJThGJTg0JUVBJUI1JUFDJUVDJTlFJTg1JUVCJThCJTg4JUVCJThCJUE0LiUwQSUyMCUyMCUyMCUyMEFyZ3MlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0aW1lem9uZSUzQSUyMCVFQyU5QyVBMCVFRCU5QSVBOCVFRCU5NSU5QyUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQiU4QyU4MCVFQiVBNSVCQyUyMCVFQiU4MiU5OCVFRCU4MyU4MCVFQiU4MiVCNCVFQiU4QSU5NCUyMCVFQiVBQyVCOCVFQyU5RSU5MCVFQyU5NyVCNCglRUMlOTglODglM0ElMjAnQW1lcmljYSUyRk5ld19Zb3JrJykuJTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwdHJ5JTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJUVDJThCJTlDJUVBJUIwJTg0JUVCJThDJTgwJTIwJUVBJUIwJTlEJUVDJUIyJUI0JTIwJUVDJTgzJTlEJUVDJTg0JUIxJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHolMjAlM0QlMjBweXR6LnRpbWV6b25lKHRpbWV6b25lKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFRCU5NSVCNCVFQiU4QiVCOSUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQiU4QyU4MCVFQyU5RCU5OCUyMCVFRCU5OCU4NCVFQyU5RSVBQyUyMCVFQyU4QiU5QyVFQSVCMCU4NCUyMCVFQSVCMCU4MCVFQyVBMCVCOCVFQyU5OCVBNCVFQSVCOCVCMCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGxvY2FsX3RpbWUlMjAlM0QlMjBkYXRldGltZS5kYXRldGltZS5ub3codHopLnN0cmZ0aW1lKCUyMiUyNVktJTI1bS0lMjVkJTIwJTI1SCUzQSUyNU0lM0ElMjVTJTIyKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGYlMjIlN0J0aW1lem9uZSU3RCVFQyU5RCU5OCUyMCVFRCU5OCU4NCVFQyU5RSVBQyUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQyU5RCU4MCUyMCU3QmxvY2FsX3RpbWUlN0QlRUMlOUUlODUlRUIlOEIlODglRUIlOEIlQTQlMjIlMEElMjAlMjAlMjAlMjBleGNlcHQlMjBFeGNlcHRpb24lMjBhcyUyMGUlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBmJTIyJyU3QnRpbWV6b25lJTdEJyUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQiU4QyU4MCUyMCVFQyVBMCU5NSVFQiVCMyVCNCVFQiVBNSVCQyUyMCVFQSVCMCU4MCVFQyVBMCVCOCVFQyU5OCVBNCVFQiU4QSU5NCUyMCVFQyVBNCU5MSUyMCVFQyU5OCVBNCVFQiVBNSU5OCUyMCVFQiVCMCU5QyVFQyU4MyU5RCUzQSUyMCU3QnN0cihlKSU3RCUyMg==",highlighted:`<span class="hljs-meta">@tool</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">my_custom_tool</span>(<span class="hljs-params">arg1:<span class="hljs-built_in">str</span>, arg2:<span class="hljs-built_in">int</span></span>)-&gt; <span class="hljs-built_in">str</span>: <span class="hljs-comment"># 반환 타입을 명시하는 것이 중요합니다</span>
<span class="hljs-comment"># 도구 설명/인수 설명 형식은 유지하되, 도구 자체는 자유롭게 수정하세요</span>
<span class="hljs-string">&quot;&quot;&quot;아직 아무 기능이 없는 도구입니다
Args:
arg1: 첫 번째 인수
arg2: 두 번째 인수
&quot;&quot;&quot;</span>
<span class="hljs-keyword">return</span> <span class="hljs-string">&quot;어떤 마법을 만들어 보실 건가요?&quot;</span>
<span class="hljs-meta">@tool</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">get_current_time_in_timezone</span>(<span class="hljs-params">timezone: <span class="hljs-built_in">str</span></span>) -&gt; <span class="hljs-built_in">str</span>:
<span class="hljs-string">&quot;&quot;&quot;특정 시간대의 현재 시간을 알려주는 도구입니다.
Args:
timezone: 유효한 시간대를 나타내는 문자열(예: &#x27;America/New_York&#x27;).
&quot;&quot;&quot;</span>
<span class="hljs-keyword">try</span>:
<span class="hljs-comment"># 시간대 객체 생성</span>
tz = pytz.timezone(timezone)
<span class="hljs-comment"># 해당 시간대의 현재 시간 가져오기</span>
local_time = datetime.datetime.now(tz).strftime(<span class="hljs-string">&quot;%Y-%m-%d %H:%M:%S&quot;</span>)
<span class="hljs-keyword">return</span> <span class="hljs-string">f&quot;<span class="hljs-subst">{timezone}</span>의 현재 시간은 <span class="hljs-subst">{local_time}</span>입니다&quot;</span>
<span class="hljs-keyword">except</span> Exception <span class="hljs-keyword">as</span> e:
<span class="hljs-keyword">return</span> <span class="hljs-string">f&quot;&#x27;<span class="hljs-subst">{timezone}</span>&#x27; 시간대 정보를 가져오는 중 오류 발생: <span class="hljs-subst">{<span class="hljs-built_in">str</span>(e)}</span>&quot;</span>`,wrap:!1}}),Y=new Vl({props:{title:"에이전트",local:"the-agent",headingTag:"h3"}}),K=new ot({props:{code:"ZmluYWxfYW5zd2VyJTIwJTNEJTIwRmluYWxBbnN3ZXJUb29sKCklMEFtb2RlbCUyMCUzRCUyMEluZmVyZW5jZUNsaWVudE1vZGVsKCUwQSUyMCUyMCUyMCUyMG1heF90b2tlbnMlM0QyMDk2JTJDJTBBJTIwJTIwJTIwJTIwdGVtcGVyYXR1cmUlM0QwLjUlMkMlMEElMjAlMjAlMjAlMjBtb2RlbF9pZCUzRCdRd2VuJTJGUXdlbjIuNS1Db2Rlci0zMkItSW5zdHJ1Y3QnJTJDJTBBJTIwJTIwJTIwJTIwY3VzdG9tX3JvbGVfY29udmVyc2lvbnMlM0ROb25lJTJDJTBBKSUwQSUwQXdpdGglMjBvcGVuKCUyMnByb21wdHMueWFtbCUyMiUyQyUyMCdyJyklMjBhcyUyMHN0cmVhbSUzQSUwQSUyMCUyMCUyMCUyMHByb21wdF90ZW1wbGF0ZXMlMjAlM0QlMjB5YW1sLnNhZmVfbG9hZChzdHJlYW0pJTBBJTBBJTIzJTIwQ29kZUFnZW50JTIwJUVDJTgzJTlEJUVDJTg0JUIxJTBBYWdlbnQlMjAlM0QlMjBDb2RlQWdlbnQoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0Rtb2RlbCUyQyUwQSUyMCUyMCUyMCUyMHRvb2xzJTNEJTVCZmluYWxfYW5zd2VyJTVEJTJDJTIwJTIzJTIwJUVDJTk3JUFDJUVBJUI4JUIwJUVDJTk3JTkwJTIwJUVCJThGJTg0JUVBJUI1JUFDJUVCJTkzJUE0JUVDJTlEJTg0JTIwJUVDJUI2JTk0JUVBJUIwJTgwJUVEJTk1JTk4JUVDJTg0JUI4JUVDJTlBJTk0JTIwKGZpbmFsX2Fuc3dlciVFQiU4QSU5NCUyMCVFQyVBMCU5QyVFQSVCMSVCMCVFRCU5NSU5OCVFQyVBNyU4MCUyMCVFQiVBNyU4OCVFQyU4NCVCOCVFQyU5QSU5NCklMEElMjAlMjAlMjAlMjBtYXhfc3RlcHMlM0Q2JTJDJTBBJTIwJTIwJTIwJTIwdmVyYm9zaXR5X2xldmVsJTNEMSUyQyUwQSUyMCUyMCUyMCUyMGdyYW1tYXIlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwcGxhbm5pbmdfaW50ZXJ2YWwlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwbmFtZSUzRE5vbmUlMkMlMEElMjAlMjAlMjAlMjBkZXNjcmlwdGlvbiUzRE5vbmUlMkMlMEElMjAlMjAlMjAlMjBwcm9tcHRfdGVtcGxhdGVzJTNEcHJvbXB0X3RlbXBsYXRlcyUwQSklMEElMEFHcmFkaW9VSShhZ2VudCkubGF1bmNoKCk=",highlighted:`final_answer = FinalAnswerTool()
model = InferenceClientModel(
max_tokens=<span class="hljs-number">2096</span>,
temperature=<span class="hljs-number">0.5</span>,
model_id=<span class="hljs-string">&#x27;Qwen/Qwen2.5-Coder-32B-Instruct&#x27;</span>,
custom_role_conversions=<span class="hljs-literal">None</span>,
)
<span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">&quot;prompts.yaml&quot;</span>, <span class="hljs-string">&#x27;r&#x27;</span>) <span class="hljs-keyword">as</span> stream:
prompt_templates = yaml.safe_load(stream)
<span class="hljs-comment"># CodeAgent 생성</span>
agent = CodeAgent(
model=model,
tools=[final_answer], <span class="hljs-comment"># 여기에 도구들을 추가하세요 (final_answer는 제거하지 마세요)</span>
max_steps=<span class="hljs-number">6</span>,
verbosity_level=<span class="hljs-number">1</span>,
grammar=<span class="hljs-literal">None</span>,
planning_interval=<span class="hljs-literal">None</span>,
name=<span class="hljs-literal">None</span>,
description=<span class="hljs-literal">None</span>,
prompt_templates=prompt_templates
)
GradioUI(agent).launch()`,wrap:!1}}),Jl=new ot({props:{code:"ZnJvbSUyMHNtb2xhZ2VudHMlMjBpbXBvcnQlMjBDb2RlQWdlbnQlMkMlMjBEdWNrRHVja0dvU2VhcmNoVG9vbCUyQyUyMEluZmVyZW5jZUNsaWVudE1vZGVsJTJDJTIwbG9hZF90b29sJTJDJTIwdG9vbCUwQWltcG9ydCUyMGRhdGV0aW1lJTBBaW1wb3J0JTIwcmVxdWVzdHMlMEFpbXBvcnQlMjBweXR6JTBBaW1wb3J0JTIweWFtbCUwQWZyb20lMjB0b29scy5maW5hbF9hbnN3ZXIlMjBpbXBvcnQlMjBGaW5hbEFuc3dlclRvb2wlMEElMEFmcm9tJTIwR3JhZGlvX1VJJTIwaW1wb3J0JTIwR3JhZGlvVUklMEElMEElMjMlMjAlRUMlOTUlODQlRUIlOUUlOTglRUIlOEElOTQlMjAlRUMlOTUlODQlRUIlQUMlQjQlMjAlRUElQjglQjAlRUIlOEElQTUlRUMlOUQlQjQlMjAlRUMlOTclODYlRUIlOEElOTQlMjAlRUIlOEYlODQlRUElQjUlQUMlRUMlOUQlOTglMjAlRUMlOTglODglRUMlOEIlOUMlRUMlOUUlODUlRUIlOEIlODglRUIlOEIlQTQuJTIwJUVDJTk3JUFDJUVCJTlGJUFDJUVCJUI2JTg0JUVDJTlEJTk4JTIwJUVDJUIwJUJEJUVDJTlEJTk4JUVCJUEwJUE1JUVDJTlDJUJDJUVCJUExJTlDJTIwJUVCJUE5JThCJUVDJUE3JTg0JTIwJUVBJUIyJTgzJUVDJTlEJTg0JTIwJUVCJUE3JThDJUVCJTkzJUE0JUVDJTk2JUI0JUVCJUIzJUI0JUVDJTg0JUI4JUVDJTlBJTk0ISUwQSU0MHRvb2wlMEFkZWYlMjBteV9jdXN0b21fdG9vbChhcmcxJTNBc3RyJTJDJTIwYXJnMiUzQWludCktJTNFJTIwc3RyJTNBJTIwJTIzJTIwJUVCJUIwJTk4JUVEJTk5JTk4JTIwJUVEJTgzJTgwJUVDJTlFJTg1JUVDJTlEJTg0JTIwJUVCJUFBJTg1JUVDJThCJTlDJUVEJTk1JTk4JUVCJThBJTk0JTIwJUVBJUIyJTgzJUVDJTlEJUI0JTIwJUVDJUE0JTkxJUVDJTlBJTk0JUVEJTk1JUE5JUVCJThCJTg4JUVCJThCJUE0JTBBJTIwJTIwJTIwJTIwJTIzJTIwJUVCJThGJTg0JUVBJUI1JUFDJTIwJUVDJTg0JUE0JUVCJUFBJTg1JTJGJUVDJTlEJUI4JUVDJTg4JTk4JTIwJUVDJTg0JUE0JUVCJUFBJTg1JTIwJUVEJTk4JTk1JUVDJThCJTlEJUVDJTlEJTgwJTIwJUVDJTlDJUEwJUVDJUE3JTgwJUVEJTk1JTk4JUVCJTkwJTk4JTJDJTIwJUVCJThGJTg0JUVBJUI1JUFDJTIwJUVDJTlFJTkwJUVDJUIyJUI0JUVCJThBJTk0JTIwJUVDJTlFJTkwJUVDJTlDJUEwJUVCJUExJUFEJUVBJUIyJThDJTIwJUVDJTg4JTk4JUVDJUEwJTk1JUVEJTk1JTk4JUVDJTg0JUI4JUVDJTlBJTk0JTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJUVDJTk1JTg0JUVDJUE3JTgxJTIwJUVDJTk1JTg0JUVCJUFDJUI0JTIwJUVBJUI4JUIwJUVCJThBJUE1JUVDJTlEJUI0JTIwJUVDJTk3JTg2JUVCJThBJTk0JTIwJUVCJThGJTg0JUVBJUI1JUFDJUVDJTlFJTg1JUVCJThCJTg4JUVCJThCJUE0JTBBJTIwJTIwJTIwJTIwQXJncyUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGFyZzElM0ElMjAlRUMlQjIlQUIlMjAlRUIlQjIlODglRUMlQTclQjglMjAlRUMlOUQlQjglRUMlODglOTglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBhcmcyJTNBJTIwJUVCJTkxJTkwJTIwJUVCJUIyJTg4JUVDJUE3JUI4JTIwJUVDJTlEJUI4JUVDJTg4JTk4JTBBJTIwJTIwJTIwJTIwJTIyJTIyJTIyJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTIyJUVDJTk2JUI0JUVCJTk2JUE0JTIwJUVCJUE3JTg4JUVCJUIyJTk1JUVDJTlEJTg0JTIwJUVCJUE3JThDJUVCJTkzJUE0JUVDJTk2JUI0JTIwJUVCJUIzJUI0JUVDJThCJUE0JTIwJUVBJUIxJUI0JUVBJUIwJTgwJUVDJTlBJTk0JTNGJTIyJTBBJTBBJTQwdG9vbCUwQWRlZiUyMGdldF9jdXJyZW50X3RpbWVfaW5fdGltZXpvbmUodGltZXpvbmUlM0ElMjBzdHIpJTIwLSUzRSUyMHN0ciUzQSUwQSUyMCUyMCUyMCUyMCUyMiUyMiUyMiVFRCU4QSVCOSVFQyVBMCU5NSUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQiU4QyU4MCVFQyU5RCU5OCUyMCVFRCU5OCU4NCVFQyU5RSVBQyUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQyU5RCU4NCUyMCVFQyU5NSU4QyVFQiVBMCVBNCVFQyVBMyVCQyVFQiU4QSU5NCUyMCVFQiU4RiU4NCVFQSVCNSVBQyVFQyU5RSU4NSVFQiU4QiU4OCVFQiU4QiVBNC4lMEElMjAlMjAlMjAlMjBBcmdzJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGltZXpvbmUlM0ElMjAlRUMlOUMlQTAlRUQlOUElQTglRUQlOTUlOUMlMjAlRUMlOEIlOUMlRUElQjAlODQlRUIlOEMlODAlRUIlQTUlQkMlMjAlRUIlODIlOTglRUQlODMlODAlRUIlODIlQjQlRUIlOEElOTQlMjAlRUIlQUMlQjglRUMlOUUlOTAlRUMlOTclQjQoJUVDJTk4JTg4JTNBJTIwJ0FtZXJpY2ElMkZOZXdfWW9yaycpLiUwQSUyMCUyMCUyMCUyMCUyMiUyMiUyMiUwQSUyMCUyMCUyMCUyMHRyeSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMyUyMCVFQyU4QiU5QyVFQSVCMCU4NCVFQiU4QyU4MCUyMCVFQSVCMCU5RCVFQyVCMiVCNCUyMCVFQyU4MyU5RCVFQyU4NCVCMSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHR6JTIwJTNEJTIwcHl0ei50aW1lem9uZSh0aW1lem9uZSklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjMlMjAlRUQlOTUlQjQlRUIlOEIlQjklMjAlRUMlOEIlOUMlRUElQjAlODQlRUIlOEMlODAlRUMlOUQlOTglMjAlRUQlOTglODQlRUMlOUUlQUMlMjAlRUMlOEIlOUMlRUElQjAlODQlMjAlRUElQjAlODAlRUMlQTAlQjglRUMlOTglQTQlRUElQjglQjAlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBsb2NhbF90aW1lJTIwJTNEJTIwZGF0ZXRpbWUuZGF0ZXRpbWUubm93KHR6KS5zdHJmdGltZSglMjIlMjVZLSUyNW0tJTI1ZCUyMCUyNUglM0ElMjVNJTNBJTI1UyUyMiklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBmJTIyJTdCdGltZXpvbmUlN0QlRUMlOUQlOTglMjAlRUQlOTglODQlRUMlOUUlQUMlMjAlRUMlOEIlOUMlRUElQjAlODQlRUMlOUQlODAlMjAlN0Jsb2NhbF90aW1lJTdEJUVDJTlFJTg1JUVCJThCJTg4JUVCJThCJUE0JTIyJTBBJTIwJTIwJTIwJTIwZXhjZXB0JTIwRXhjZXB0aW9uJTIwYXMlMjBlJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwZiUyMiclN0J0aW1lem9uZSU3RCclMjAlRUMlOEIlOUMlRUElQjAlODQlRUIlOEMlODAlMjAlRUMlQTAlOTUlRUIlQjMlQjQlRUIlQTUlQkMlMjAlRUElQjAlODAlRUMlQTAlQjglRUMlOTglQTQlRUIlOEElOTQlMjAlRUMlQTQlOTElMjAlRUMlOTglQTQlRUIlQTUlOTglMjAlRUIlQjAlOUMlRUMlODMlOUQlM0ElMjAlN0JzdHIoZSklN0QlMjIlMEElMEElMEFmaW5hbF9hbnN3ZXIlMjAlM0QlMjBGaW5hbEFuc3dlclRvb2woKSUwQW1vZGVsJTIwJTNEJTIwSW5mZXJlbmNlQ2xpZW50TW9kZWwoJTBBbWF4X3Rva2VucyUzRDIwOTYlMkMlMEF0ZW1wZXJhdHVyZSUzRDAuNSUyQyUwQW1vZGVsX2lkJTNEJ1F3ZW4lMkZRd2VuMi41LUNvZGVyLTMyQi1JbnN0cnVjdCclMkMlMEFjdXN0b21fcm9sZV9jb252ZXJzaW9ucyUzRE5vbmUlMkMlMEEpJTBBJTBBJTBBJTIzJTIwSHViJUVDJTk3JTkwJUVDJTg0JTlDJTIwJUVCJThGJTg0JUVBJUI1JUFDJTIwJUVCJUI2JTg4JUVCJTlGJUFDJUVDJTk4JUE0JUVBJUI4JUIwJTBBaW1hZ2VfZ2VuZXJhdGlvbl90b29sJTIwJTNEJTIwbG9hZF90b29sKCUyMmFnZW50cy1jb3Vyc2UlMkZ0ZXh0LXRvLWltYWdlJTIyJTJDJTIwdHJ1c3RfcmVtb3RlX2NvZGUlM0RUcnVlKSUwQSUwQXdpdGglMjBvcGVuKCUyMnByb21wdHMueWFtbCUyMiUyQyUyMCdyJyklMjBhcyUyMHN0cmVhbSUzQSUwQSUyMCUyMCUyMCUyMHByb21wdF90ZW1wbGF0ZXMlMjAlM0QlMjB5YW1sLnNhZmVfbG9hZChzdHJlYW0pJTBBJTBBYWdlbnQlMjAlM0QlMjBDb2RlQWdlbnQoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0Rtb2RlbCUyQyUwQSUyMCUyMCUyMCUyMHRvb2xzJTNEJTVCZmluYWxfYW5zd2VyJTVEJTJDJTIwJTIzJTIwJUVDJTk3JUFDJUVBJUI4JUIwJUVDJTk3JTkwJTIwJUVCJThGJTg0JUVBJUI1JUFDJUVCJTkzJUE0JUVDJTlEJTg0JTIwJUVDJUI2JTk0JUVBJUIwJTgwJUVEJTk1JTk4JUVDJTg0JUI4JUVDJTlBJTk0JTIwKGZpbmFsX2Fuc3dlciVFQiU4QSU5NCUyMCVFQyVBMCU5QyVFQSVCMSVCMCVFRCU5NSU5OCVFQyVBNyU4MCUyMCVFQiVBNyU4OCVFQyU4NCVCOCVFQyU5QSU5NCklMEElMjAlMjAlMjAlMjBtYXhfc3RlcHMlM0Q2JTJDJTBBJTIwJTIwJTIwJTIwdmVyYm9zaXR5X2xldmVsJTNEMSUyQyUwQSUyMCUyMCUyMCUyMGdyYW1tYXIlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwcGxhbm5pbmdfaW50ZXJ2YWwlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwbmFtZSUzRE5vbmUlMkMlMEElMjAlMjAlMjAlMjBkZXNjcmlwdGlvbiUzRE5vbmUlMkMlMEElMjAlMjAlMjAlMjBwcm9tcHRfdGVtcGxhdGVzJTNEcHJvbXB0X3RlbXBsYXRlcyUwQSklMEElMEElMEFHcmFkaW9VSShhZ2VudCkubGF1bmNoKCk=",highlighted:`<span class="hljs-keyword">from</span> smolagents <span class="hljs-keyword">import</span> CodeAgent, DuckDuckGoSearchTool, InferenceClientModel, load_tool, tool
<span class="hljs-keyword">import</span> datetime
<span class="hljs-keyword">import</span> requests
<span class="hljs-keyword">import</span> pytz
<span class="hljs-keyword">import</span> yaml
<span class="hljs-keyword">from</span> tools.final_answer <span class="hljs-keyword">import</span> FinalAnswerTool
<span class="hljs-keyword">from</span> Gradio_UI <span class="hljs-keyword">import</span> GradioUI
<span class="hljs-comment"># 아래는 아무 기능이 없는 도구의 예시입니다. 여러분의 창의력으로 멋진 것을 만들어보세요!</span>
<span class="hljs-meta">@tool</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">my_custom_tool</span>(<span class="hljs-params">arg1:<span class="hljs-built_in">str</span>, arg2:<span class="hljs-built_in">int</span></span>)-&gt; <span class="hljs-built_in">str</span>: <span class="hljs-comment"># 반환 타입을 명시하는 것이 중요합니다</span>
<span class="hljs-comment"># 도구 설명/인수 설명 형식은 유지하되, 도구 자체는 자유롭게 수정하세요</span>
<span class="hljs-string">&quot;&quot;&quot;아직 아무 기능이 없는 도구입니다
Args:
arg1: 첫 번째 인수
arg2: 두 번째 인수
&quot;&quot;&quot;</span>
<span class="hljs-keyword">return</span> <span class="hljs-string">&quot;어떤 마법을 만들어 보실 건가요?&quot;</span>
<span class="hljs-meta">@tool</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">get_current_time_in_timezone</span>(<span class="hljs-params">timezone: <span class="hljs-built_in">str</span></span>) -&gt; <span class="hljs-built_in">str</span>:
<span class="hljs-string">&quot;&quot;&quot;특정 시간대의 현재 시간을 알려주는 도구입니다.
Args:
timezone: 유효한 시간대를 나타내는 문자열(예: &#x27;America/New_York&#x27;).
&quot;&quot;&quot;</span>
<span class="hljs-keyword">try</span>:
<span class="hljs-comment"># 시간대 객체 생성</span>
tz = pytz.timezone(timezone)
<span class="hljs-comment"># 해당 시간대의 현재 시간 가져오기</span>
local_time = datetime.datetime.now(tz).strftime(<span class="hljs-string">&quot;%Y-%m-%d %H:%M:%S&quot;</span>)
<span class="hljs-keyword">return</span> <span class="hljs-string">f&quot;<span class="hljs-subst">{timezone}</span>의 현재 시간은 <span class="hljs-subst">{local_time}</span>입니다&quot;</span>
<span class="hljs-keyword">except</span> Exception <span class="hljs-keyword">as</span> e:
<span class="hljs-keyword">return</span> <span class="hljs-string">f&quot;&#x27;<span class="hljs-subst">{timezone}</span>&#x27; 시간대 정보를 가져오는 중 오류 발생: <span class="hljs-subst">{<span class="hljs-built_in">str</span>(e)}</span>&quot;</span>
final_answer = FinalAnswerTool()
model = InferenceClientModel(
max_tokens=<span class="hljs-number">2096</span>,
temperature=<span class="hljs-number">0.5</span>,
model_id=<span class="hljs-string">&#x27;Qwen/Qwen2.5-Coder-32B-Instruct&#x27;</span>,
custom_role_conversions=<span class="hljs-literal">None</span>,
)
<span class="hljs-comment"># Hub에서 도구 불러오기</span>
image_generation_tool = load_tool(<span class="hljs-string">&quot;agents-course/text-to-image&quot;</span>, trust_remote_code=<span class="hljs-literal">True</span>)
<span class="hljs-keyword">with</span> <span class="hljs-built_in">open</span>(<span class="hljs-string">&quot;prompts.yaml&quot;</span>, <span class="hljs-string">&#x27;r&#x27;</span>) <span class="hljs-keyword">as</span> stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[final_answer], <span class="hljs-comment"># 여기에 도구들을 추가하세요 (final_answer는 제거하지 마세요)</span>
max_steps=<span class="hljs-number">6</span>,
verbosity_level=<span class="hljs-number">1</span>,
grammar=<span class="hljs-literal">None</span>,
planning_interval=<span class="hljs-literal">None</span>,
name=<span class="hljs-literal">None</span>,
description=<span class="hljs-literal">None</span>,
prompt_templates=prompt_templates
)
GradioUI(agent).launch()`,wrap:!1}}),yl=new Ie({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ko/unit1/tutorial.mdx"}}),{c(){I=n("meta"),Il=U(),Ql=n("p"),wl=U(),i(w.$$.fragment),ol=U(),i(o.$$.fragment),ml=U(),m=n("p"),m.innerHTML=ut,rl=U(),r=n("p"),r.innerHTML=gt,cl=U(),c=n("p"),c.innerHTML=Et,ul=U(),u=n("p"),u.textContent=Rt,gl=U(),i(g.$$.fragment),El=U(),E=n("img"),Rl=U(),R=n("p"),R.innerHTML=Ot,hl=U(),h=n("p"),h.textContent=Bt,Ol=U(),O=n("p"),O.innerHTML=bt,Bl=U(),B=n("p"),B.innerHTML=dt,bl=U(),b=n("p"),b.textContent=At,dl=U(),d=n("p"),d.innerHTML=Dt,Al=U(),A=n("p"),A.innerHTML=ft,Dl=U(),a=n("iframe"),fl=U(),D=n("p"),D.textContent=kt,Fl=U(),i(f.$$.fragment),kl=U(),F=n("p"),F.innerHTML=vt,vl=U(),k=n("blockquote"),k.innerHTML=_t,_l=U(),v=n("p"),v.innerHTML=Nt,Nl=U(),_=n("img"),Sl=U(),N=n("p"),N.innerHTML=xt,xl=U(),S=n("p"),S.textContent=Zt,Zl=U(),x=n("ul"),x.innerHTML=Ht,Hl=U(),i(Z.$$.fragment),Wl=U(),H=n("p"),H.innerHTML=Wt,Gl=U(),i(W.$$.fragment),zl=U(),G=n("p"),G.innerHTML=Gt,$l=U(),i(z.$$.fragment),Xl=U(),$=n("p"),$.textContent=zt,Ll=U(),X=n("ol"),X.innerHTML=$t,ql=U(),L=n("p"),L.textContent=Xt,Yl=U(),q=n("ol"),q.innerHTML=Lt,Pl=U(),i(Y.$$.fragment),Kl=U(),P=n("p"),P.innerHTML=qt,lt=U(),i(K.$$.fragment),tt=U(),ll=n("p"),ll.innerHTML=Yt,et=U(),tl=n("p"),tl.innerHTML=Pt,st=U(),el=n("p"),el.innerHTML=Kt,Ut=U(),sl=n("p"),sl.innerHTML=le,Jt=U(),Ul=n("p"),Ul.textContent=te,nt=U(),i(Jl.$$.fragment),Mt=U(),nl=n("p"),nl.innerHTML=ee,Tt=U(),Ml=n("p"),Ml.innerHTML=se,at=U(),Tl=n("p"),Tl.innerHTML=Ue,pt=U(),it=n("hr"),Ct=U(),al=n("p"),al.textContent=Je,yt=U(),pl=n("p"),pl.textContent=ne,Qt=U(),il=n("p"),il.textContent=Me,jt=U(),Cl=n("p"),Cl.textContent=Te,Vt=U(),i(yl.$$.fragment),It=U(),jl=n("p"),this.h()},l(l){const t=Qe("svelte-u9bgzb",document.head);I=M(t,"META",{name:!0,content:!0}),t.forEach(e),Il=J(l),Ql=M(l,"P",{}),rt(Ql).forEach(e),wl=J(l),C(w.$$.fragment,l),ol=J(l),C(o.$$.fragment,l),ml=J(l),m=M(l,"P",{"data-svelte-h":!0}),T(m)!=="svelte-16kao9e"&&(m.innerHTML=ut),rl=J(l),r=M(l,"P",{"data-svelte-h":!0}),T(r)!=="svelte-12xl0qp"&&(r.innerHTML=gt),cl=J(l),c=M(l,"P",{"data-svelte-h":!0}),T(c)!=="svelte-7pj360"&&(c.innerHTML=Et),ul=J(l),u=M(l,"P",{"data-svelte-h":!0}),T(u)!=="svelte-1p77l2g"&&(u.textContent=Rt),gl=J(l),C(g.$$.fragment,l),El=J(l),E=M(l,"IMG",{src:!0,alt:!0}),Rl=J(l),R=M(l,"P",{"data-svelte-h":!0}),T(R)!=="svelte-fm8o9f"&&(R.innerHTML=Ot),hl=J(l),h=M(l,"P",{"data-svelte-h":!0}),T(h)!=="svelte-1ye5gey"&&(h.textContent=Bt),Ol=J(l),O=M(l,"P",{"data-svelte-h":!0}),T(O)!=="svelte-10ris7n"&&(O.innerHTML=bt),Bl=J(l),B=M(l,"P",{"data-svelte-h":!0}),T(B)!=="svelte-1i1mxrq"&&(B.innerHTML=dt),bl=J(l),b=M(l,"P",{"data-svelte-h":!0}),T(b)!=="svelte-w93vl6"&&(b.textContent=At),dl=J(l),d=M(l,"P",{"data-svelte-h":!0}),T(d)!=="svelte-qzgmx9"&&(d.innerHTML=Dt),Al=J(l),A=M(l,"P",{"data-svelte-h":!0}),T(A)!=="svelte-u9i4n2"&&(A.innerHTML=ft),Dl=J(l),a=M(l,"IFRAME",{width:!0,height:!0,src:!0,title:!0,frameborder:!0,allow:!0,referrerpolicy:!0}),rt(a).forEach(e),fl=J(l),D=M(l,"P",{"data-svelte-h":!0}),T(D)!=="svelte-t8xohv"&&(D.textContent=kt),Fl=J(l),C(f.$$.fragment,l),kl=J(l),F=M(l,"P",{"data-svelte-h":!0}),T(F)!=="svelte-1vu2nx4"&&(F.innerHTML=vt),vl=J(l),k=M(l,"BLOCKQUOTE",{"data-svelte-h":!0}),T(k)!=="svelte-1h14509"&&(k.innerHTML=_t),_l=J(l),v=M(l,"P",{"data-svelte-h":!0}),T(v)!=="svelte-av6lbx"&&(v.innerHTML=Nt),Nl=J(l),_=M(l,"IMG",{src:!0,alt:!0}),Sl=J(l),N=M(l,"P",{"data-svelte-h":!0}),T(N)!=="svelte-m6o041"&&(N.innerHTML=xt),xl=J(l),S=M(l,"P",{"data-svelte-h":!0}),T(S)!=="svelte-2gsad3"&&(S.textContent=Zt),Zl=J(l),x=M(l,"UL",{"data-svelte-h":!0}),T(x)!=="svelte-p9wgv0"&&(x.innerHTML=Ht),Hl=J(l),C(Z.$$.fragment,l),Wl=J(l),H=M(l,"P",{"data-svelte-h":!0}),T(H)!=="svelte-3ac5pg"&&(H.innerHTML=Wt),Gl=J(l),C(W.$$.fragment,l),zl=J(l),G=M(l,"P",{"data-svelte-h":!0}),T(G)!=="svelte-11qln8j"&&(G.innerHTML=Gt),$l=J(l),C(z.$$.fragment,l),Xl=J(l),$=M(l,"P",{"data-svelte-h":!0}),T($)!=="svelte-16klbo6"&&($.textContent=zt),Ll=J(l),X=M(l,"OL",{"data-svelte-h":!0}),T(X)!=="svelte-xjbyew"&&(X.innerHTML=$t),ql=J(l),L=M(l,"P",{"data-svelte-h":!0}),T(L)!=="svelte-n26bay"&&(L.textContent=Xt),Yl=J(l),q=M(l,"OL",{"data-svelte-h":!0}),T(q)!=="svelte-1omuioh"&&(q.innerHTML=Lt),Pl=J(l),C(Y.$$.fragment,l),Kl=J(l),P=M(l,"P",{"data-svelte-h":!0}),T(P)!=="svelte-uqmryk"&&(P.innerHTML=qt),lt=J(l),C(K.$$.fragment,l),tt=J(l),ll=M(l,"P",{"data-svelte-h":!0}),T(ll)!=="svelte-yk9ahj"&&(ll.innerHTML=Yt),et=J(l),tl=M(l,"P",{"data-svelte-h":!0}),T(tl)!=="svelte-zeqhvn"&&(tl.innerHTML=Pt),st=J(l),el=M(l,"P",{"data-svelte-h":!0}),T(el)!=="svelte-1xk6jtz"&&(el.innerHTML=Kt),Ut=J(l),sl=M(l,"P",{"data-svelte-h":!0}),T(sl)!=="svelte-8kilq4"&&(sl.innerHTML=le),Jt=J(l),Ul=M(l,"P",{"data-svelte-h":!0}),T(Ul)!=="svelte-h0rly"&&(Ul.textContent=te),nt=J(l),C(Jl.$$.fragment,l),Mt=J(l),nl=M(l,"P",{"data-svelte-h":!0}),T(nl)!=="svelte-3h3cut"&&(nl.innerHTML=ee),Tt=J(l),Ml=M(l,"P",{"data-svelte-h":!0}),T(Ml)!=="svelte-eyyg9b"&&(Ml.innerHTML=se),at=J(l),Tl=M(l,"P",{"data-svelte-h":!0}),T(Tl)!=="svelte-1f2yrn3"&&(Tl.innerHTML=Ue),pt=J(l),it=M(l,"HR",{}),Ct=J(l),al=M(l,"P",{"data-svelte-h":!0}),T(al)!=="svelte-1u7giru"&&(al.textContent=Je),yt=J(l),pl=M(l,"P",{"data-svelte-h":!0}),T(pl)!=="svelte-182z3xu"&&(pl.textContent=ne),Qt=J(l),il=M(l,"P",{"data-svelte-h":!0}),T(il)!=="svelte-1c8lfnp"&&(il.textContent=Me),jt=J(l),Cl=M(l,"P",{"data-svelte-h":!0}),T(Cl)!=="svelte-1ngafis"&&(Cl.textContent=Te),Vt=J(l),C(yl.$$.fragment,l),It=J(l),jl=M(l,"P",{}),rt(jl).forEach(e),this.h()},h(){p(I,"name","hf:doc:metadata"),p(I,"content",oe),mt(E.src,ht="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/smolagents.png")||p(E,"src",ht),p(E,"alt","smolagents"),p(a,"width","560"),p(a,"height","315"),mt(a.src,Ft="https://www.youtube.com/embed/PQDKcWiuln4?si=ysSTDZoi8y55FVvA")||p(a,"src",Ft),p(a,"title","YouTube video player"),p(a,"frameborder","0"),p(a,"allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"),p(a,"referrerpolicy","strict-origin-when-cross-origin"),a.allowFullscreen="",mt(_.src,St="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/duplicate-space.gif")||p(_,"src",St),p(_,"alt","Duplicate")},m(l,t){je(document.head,I),s(l,Il,t),s(l,Ql,t),s(l,wl,t),y(w,l,t),s(l,ol,t),y(o,l,t),s(l,ml,t),s(l,m,t),s(l,rl,t),s(l,r,t),s(l,cl,t),s(l,c,t),s(l,ul,t),s(l,u,t),s(l,gl,t),y(g,l,t),s(l,El,t),s(l,E,t),s(l,Rl,t),s(l,R,t),s(l,hl,t),s(l,h,t),s(l,Ol,t),s(l,O,t),s(l,Bl,t),s(l,B,t),s(l,bl,t),s(l,b,t),s(l,dl,t),s(l,d,t),s(l,Al,t),s(l,A,t),s(l,Dl,t),s(l,a,t),s(l,fl,t),s(l,D,t),s(l,Fl,t),y(f,l,t),s(l,kl,t),s(l,F,t),s(l,vl,t),s(l,k,t),s(l,_l,t),s(l,v,t),s(l,Nl,t),s(l,_,t),s(l,Sl,t),s(l,N,t),s(l,xl,t),s(l,S,t),s(l,Zl,t),s(l,x,t),s(l,Hl,t),y(Z,l,t),s(l,Wl,t),s(l,H,t),s(l,Gl,t),y(W,l,t),s(l,zl,t),s(l,G,t),s(l,$l,t),y(z,l,t),s(l,Xl,t),s(l,$,t),s(l,Ll,t),s(l,X,t),s(l,ql,t),s(l,L,t),s(l,Yl,t),s(l,q,t),s(l,Pl,t),y(Y,l,t),s(l,Kl,t),s(l,P,t),s(l,lt,t),y(K,l,t),s(l,tt,t),s(l,ll,t),s(l,et,t),s(l,tl,t),s(l,st,t),s(l,el,t),s(l,Ut,t),s(l,sl,t),s(l,Jt,t),s(l,Ul,t),s(l,nt,t),y(Jl,l,t),s(l,Mt,t),s(l,nl,t),s(l,Tt,t),s(l,Ml,t),s(l,at,t),s(l,Tl,t),s(l,pt,t),s(l,it,t),s(l,Ct,t),s(l,al,t),s(l,yt,t),s(l,pl,t),s(l,Qt,t),s(l,il,t),s(l,jt,t),s(l,Cl,t),s(l,Vt,t),y(yl,l,t),s(l,It,t),s(l,jl,t),wt=!0},p:pe,i(l){wt||(Q(w.$$.fragment,l),Q(o.$$.fragment,l),Q(g.$$.fragment,l),Q(f.$$.fragment,l),Q(Z.$$.fragment,l),Q(W.$$.fragment,l),Q(z.$$.fragment,l),Q(Y.$$.fragment,l),Q(K.$$.fragment,l),Q(Jl.$$.fragment,l),Q(yl.$$.fragment,l),wt=!0)},o(l){j(w.$$.fragment,l),j(o.$$.fragment,l),j(g.$$.fragment,l),j(f.$$.fragment,l),j(Z.$$.fragment,l),j(W.$$.fragment,l),j(z.$$.fragment,l),j(Y.$$.fragment,l),j(K.$$.fragment,l),j(Jl.$$.fragment,l),j(yl.$$.fragment,l),wt=!1},d(l){l&&(e(Il),e(Ql),e(wl),e(ol),e(ml),e(m),e(rl),e(r),e(cl),e(c),e(ul),e(u),e(gl),e(El),e(E),e(Rl),e(R),e(hl),e(h),e(Ol),e(O),e(Bl),e(B),e(bl),e(b),e(dl),e(d),e(Al),e(A),e(Dl),e(a),e(fl),e(D),e(Fl),e(kl),e(F),e(vl),e(k),e(_l),e(v),e(Nl),e(_),e(Sl),e(N),e(xl),e(S),e(Zl),e(x),e(Hl),e(Wl),e(H),e(Gl),e(zl),e(G),e($l),e(Xl),e($),e(Ll),e(X),e(ql),e(L),e(Yl),e(q),e(Pl),e(Kl),e(P),e(lt),e(tt),e(ll),e(et),e(tl),e(st),e(el),e(Ut),e(sl),e(Jt),e(Ul),e(nt),e(Mt),e(nl),e(Tt),e(Ml),e(at),e(Tl),e(pt),e(it),e(Ct),e(al),e(yt),e(pl),e(Qt),e(il),e(jt),e(Cl),e(Vt),e(It),e(jl)),e(I),V(w,l),V(o,l),V(g,l),V(f,l),V(Z,l),V(W,l),V(z,l),V(Y,l),V(K,l),V(Jl,l),V(yl,l)}}}const oe='{"title":"smolagents로 첫 번째 에이전트 만들기","local":"lets-create-our-first-agent-using-smolagents","sections":[{"title":"smolagents란 무엇인가요?","local":"what-is-smolagents","sections":[],"depth":2},{"title":"에이전트 만들기!","local":"lets-build-our-agent","sections":[{"title":"도구","local":"the-tools","sections":[],"depth":3},{"title":"에이전트","local":"the-agent","sections":[],"depth":3}],"depth":2}],"depth":1}';function me(ct){return ie(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Re extends Ce{constructor(I){super(),ye(this,I,me,we,ae,{})}}export{Re as component};

Xet Storage Details

Size:
37 kB
·
Xet hash:
1f890da328feac674b1a411c001e03477435ac33a97967c19994c4404d1c0f1b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.