import{s as Bl,a as Vl,n as fl,o as gl}from"../chunks/scheduler.4048030c.js";import{S as Ql,i as Il,e as i,s as n,c as M,h as _l,a as p,d as l,b as a,f as bl,g as h,j as o,k as Xs,l as Fl,m as e,n as u,t as y,o as U,p as r}from"../chunks/index.b7616466.js";import{C as Nl}from"../chunks/CopyLLMTxtMenu.123c0cc8.js";import{C as j}from"../chunks/CodeBlock.5d3f31be.js";import{H as qs,E as kl}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.3e96386d.js";function $l(vs){let w,ft,Bt,gt,c,Qt,T,It,J,Ys,_t,C,Es="이 코스는 특정 프레임워크에 종속되지 않도록 설계되었습니다. 그 이유는 <strong>AI 에이전트의 개념에 집중하고 특정 프레임워크의 세부 사항에 매몰되지 않기 위함입니다</strong>.",Ft,m,Zs="또한, 학생들이 이 강의에서 배운 개념을 원하는 프레임워크를 사용해 자신의 프로젝트에 적용할 수 있기를 바랍니다.",Nt,d,Ss="따라서 Unit 1에서는 간단한 더미 에이전트 라이브러리와 서버리스 API를 사용하여 LLM 엔진에 접근할 것입니다.",kt,b,Ws="실제 프로덕션 환경에서는 이런 방식을 사용하지 않겠지만, <strong>에이전트의 작동 원리를 이해하는 데 좋은 출발점</strong>이 될 것입니다.",$t,B,As="이 섹션을 마치면 <code>smolagents</code>를 사용하여 <strong>간단한 에이전트를 만들</strong> 준비가 될 것입니다.",Rt,V,Os="이어지는 Unit에서는 <code>LangGraph</code>, <code>LlamaIndex</code>와 같은 다른 AI 에이전트 라이브러리도 사용해 볼 예정입니다.",Gt,f,Ls="간단하게 하기 위해 도구와 에이전트로 단순한 Python 함수를 사용할 것입니다.",xt,g,zs="어떤 환경에서도 시도해볼 수 있도록 <code>datetime</code>이나 <code>os</code>와 같은 내장 Python 패키지를 사용할 것입니다.",Xt,Q,Hs='<a href="https://huggingface.co/agents-course/notebooks/blob/main/dummy_agent_library.ipynb" rel="nofollow">이 노트북</a>에서 과정을 따라가며 <strong>직접 코드를 실행</strong>해볼 수 있습니다.',qt,I,vt,_,Ps="Hugging Face 생태계에는 다양한 모델에서 쉽게 추론을 실행할 수 있게 해주는 서버리스 API라는 편리한 기능이 있습니다. 별도의 설치나 배포 과정이 필요 없습니다.",Yt,F,Et,N,Zt,k,Ds="출력:",St,$,Wt,R,Ks="LLM 섹션에서 보았듯이, 단순 디코딩만 수행하면 <strong>모델은 EOS(End of Sequence) 토큰을 예측할 때만 멈추게 됩니다</strong>. 하지만 여기서는 그런 일이 일어나지 않습니다. 이는 이것이 대화형(채팅) 모델이고 <strong>모델이 기대하는 채팅 템플릿을 적용하지 않았기 때문입니다</strong>.",At,G,tl='이제 우리가 사용하는 <a href="https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct">Llama-3.2-3B-Instruct 모델</a>과 관련된 특수 토큰을 추가하면, 동작이 바뀌어 예상대로 EOS가 생성됩니다.',Ot,x,Lt,X,sl="출력:",zt,q,Ht,v,ll="“chat” 메서드를 사용하는 것이 채팅 템플릿을 적용하는 훨씬 더 편리하고 안정적인 방법입니다:",Pt,Y,Dt,E,el="출력:",Kt,Z,ts,S,nl="chat 메서드는 모델 간 원활한 전환을 보장하기 위해 권장되는 방법이지만, 이 노트북은 교육용이므로 세부 내용을 이해하기 위해 계속해서 “text_generation” 메서드를 사용하겠습니다.",ss,W,ls,A,al="앞 섹션에서 보았듯이, 에이전트 라이브러리의 핵심은 시스템 프롬프트에 정보를 추가하는 것입니다.",es,O,il="이 시스템 프롬프트는 앞서 본 것보다 조금 더 복잡하지만, 이미 다음과 같은 내용을 포함하고 있습니다:",ns,L,pl="<li><strong>도구에 관한 정보</strong></li> <li><strong>사이클 지시사항</strong> (생각(Thought) → 행동(Action) → 관찰(Observation))</li>",as,z,is,H,ol="“text_generation” 메서드를 사용하고 있으므로 프롬프트를 수동으로 적용해야 합니다:",ps,P,os,D,Ml="다음과 같이 할 수도 있습니다. 이는 <code>chat</code> 메서드 내부에서 일어나는 일입니다:",Ms,K,hs,tt,hl="이제 프롬프트는 다음과 같습니다:",us,st,ys,lt,ul="이제 디코딩을 해봅시다!",Us,et,rs,nt,yl="출력:",js,at,ws,it,Ul="문제가 보이시나요?",cs,pt,rl=`<p>모델이 실제 데이터 없이 허구의 답변을 만들어냈습니다. 실제 함수를 실행하려면 여기서 생성을 중단해야 합니다!
이제 허구의 응답이 생성되지 않도록 “Observation:” 부분 전에 생성을 중지해 봅시다.</p>`,Ts,ot,Js,Mt,jl="출력:",Cs,ht,ms,ut,wl=`훨씬 좋아졌습니다!
이제 간단한 날씨 정보 제공 함수를 만들어 봅시다. 실제 상황에서는 API를 호출하게 될 것입니다.`,ds,yt,bs,Ut,cl="출력:",Bs,rt,Vs,jt,Tl="이제 기본 프롬프트, 함수 실행까지의 출력, 그리고 함수 실행 결과를 관찰 결과로 연결한 다음 생성을 계속해 봅시다.",fs,wt,gs,ct,Jl="새로운 프롬프트는 다음과 같습니다:",Qs,Tt,Is,Jt,Cl="출력:",_s,Ct,Fs,Ns,ks,mt,ml="지금까지 Python 코드를 사용하여 처음부터 에이전트를 만드는 방법을 배웠고, <strong>그 과정이 얼마나 번거로울 수 있는지</strong> 확인했습니다. 다행히 많은 에이전트 라이브러리들이 이러한 작업을 단순화하여 복잡한 부분을 대신 처리해 줍니다.",$s,dt,dl="이제 <code>smolagents</code> 라이브러리를 사용하여 <strong>첫 번째 실제 에이전트를 만들</strong> 준비가 되었습니다.",Rs,bt,Gs,Vt,xs;return c=new Nl({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),T=new qs({props:{title:"더미 에이전트 라이브러리",local:"dummy-agent-library",headingTag:"h1"}}),I=new qs({props:{title:"서버리스 API",local:"serverless-api",headingTag:"h2"}}),F=new j({props:{code:"aW1wb3J0JTIwb3MlMEFmcm9tJTIwaHVnZ2luZ2ZhY2VfaHViJTIwaW1wb3J0JTIwSW5mZXJlbmNlQ2xpZW50JTBBJTBBJTIzJTIzJTIwaHR0cHMlM0ElMkYlMkZoZi5jbyUyRnNldHRpbmdzJTJGdG9rZW5zJUVDJTk3JTkwJUVDJTg0JTlDJTIwJUVEJTg2JUEwJUVEJTgxJUIwJUVDJTlEJUI0JTIwJUVEJTk1JTg0JUVDJTlBJTk0JUVEJTk1JUE5JUVCJThCJTg4JUVCJThCJUE0LiUyMCVFRCU4NiVBMCVFRCU4MSVCMCUyMCVFQyU5QyVBMCVFRCU5OCU5NSVFQyU5QyVCQyVFQiVBMSU5QyUyMCdyZWFkJyVFQiVBNSVCQyUyMCVFQyU4NCVBMCVFRCU4MyU5RCVFRCU5NiU4OCVFQiU4QSU5NCVFQyVBNyU4MCUyMCVFRCU5OSU5NSVFQyU5RCVCOCVFRCU5NSU5OCVFQyU4NCVCOCVFQyU5QSU5NC4lMjBHb29nbGUlMjBDb2xhYiVFQyU5NyU5MCVFQyU4NCU5QyUyMCVFQyU4QiVBNCVFRCU5NiU4OSVFRCU5NSVBMCUyMCVFQSVCMiVCRCVFQyU5QSVCMCUyMCUyMiVFQyU4NCVBNCVFQyVBMCU5NSUyMiUyMCVFRCU4MyVBRCVFQyU5RCU5OCUyMCUyMiVFQyU4QiU5QyVFRCU4MSVBQyVFQiVBNiVCRiUyMiUyMCVFQyU5NSU4NCVFQiU5RSU5OCVFQyU5NyU5MCVFQyU4NCU5QyUyMCVFQyU4NCVBNCVFQyVBMCU5NSVFRCU5NSVBMCUyMCVFQyU4OCU5OCUyMCVFQyU5RSU4OCVFQyU4QSVCNSVFQiU4QiU4OCVFQiU4QiVBNC4lMjAlRUIlQjAlOTglRUIlOTMlOUMlRUMlOEIlOUMlMjAlMjJIRl9UT0tFTiUyMiVFQyU5RCVCNCVFQiU5RCVCQyVFQSVCMyVBMCUyMCVFQyU5RCVCNCVFQiVBNiU4NCVFQyU5RCU4NCUyMCVFQyVBNyU4MCVFQyVBMCU5NSVFRCU5NSVCNCVFQyU5NSVCQyUyMCVFRCU5NSVBOSVFQiU4QiU4OCVFQiU4QiVBNC4lMEFvcy5lbnZpcm9uJTVCJTIySEZfVE9LRU4lMjIlNUQlM0QlMjJoZl94eHh4eHh4eHh4eHh4eCUyMiUwQSUwQWNsaWVudCUyMCUzRCUyMEluZmVyZW5jZUNsaWVudCglMjJtZXRhLWxsYW1hJTJGTGxhbWEtMy4yLTNCLUluc3RydWN0JTIyKSUwQSUyMyUyMCVFQiU4QiVBNCVFQyU5RCU4QyUyMCVFQyU4NSU4MCVFQyU5RCU5OCUyMCVFQyVCNiU5QyVFQiVBMCVBNSVFQyU5RCVCNCUyMCVFQyU5OCVBQyVFQiVCMCU5NCVFQiVBNSVCNCVFQyVBNyU4MCUyMCVFQyU5NSU4QSVFQiU4QiVBNCVFQiVBOSVCNCUyQyUyMCVFQiVBQyVCNCVFQiVBMyU4QyUyMCVFQiVBQSVBOCVFQiU4RCVCOCVFQyU5RCVCNCUyMCVFQSVCMyVCQyVFQiVCNiU4MCVFRCU5NSU5OCUyMCVFQyU4MyU4MSVFRCU4MyU5QyVFQyU5RCVCQyUyMCVFQyU4OCU5OCUyMCVFQyU5RSU4OCVFQyU4QSVCNSVFQiU4QiU4OCVFQiU4QiVBNC4lMjAlRUIlOEMlODAlRUMlOEIlQTAlMjBMbGFtYS0zLjItM0ItSW5zdHJ1Y3QlRUElQjAlODAlMjAlRUQlOEYlQUMlRUQlOTUlQTglRUIlOTAlOUMlMjAlRUMlOUQlQjQlMjAlRUElQjMlQjUlRUElQjAlOUMlMjAlRUMlOTclOTQlRUIlOTMlOUMlRUQlOEYlQUMlRUMlOUQlQjglRUQlOEElQjglRUIlQTUlQkMlMjAlRUMlODIlQUMlRUMlOUElQTklRUQlOTUlQTAlMjAlRUMlODglOTglMjAlRUMlOUUlODglRUMlOEElQjUlRUIlOEIlODglRUIlOEIlQTQlMEElMjMlMjBjbGllbnQlMjAlM0QlMjBJbmZlcmVuY2VDbGllbnQoJTIyaHR0cHMlM0ElMkYlMkZqYzI2bXdnMjI4bWtqOGR3LnVzLWVhc3QtMS5hd3MuZW5kcG9pbnRzLmh1Z2dpbmdmYWNlLmNsb3VkJTIyKQ==",highlighted:`<span class="hljs-keyword">import</span> os
<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> InferenceClient

<span class="hljs-comment">## https://hf.co/settings/tokens에서 토큰이 필요합니다. 토큰 유형으로 &#x27;read&#x27;를 선택했는지 확인하세요. Google Colab에서 실행할 경우 &quot;설정&quot; 탭의 &quot;시크릿&quot; 아래에서 설정할 수 있습니다. 반드시 &quot;HF_TOKEN&quot;이라고 이름을 지정해야 합니다.</span>
os.environ[<span class="hljs-string">&quot;HF_TOKEN&quot;</span>]=<span class="hljs-string">&quot;hf_xxxxxxxxxxxxxx&quot;</span>

client = InferenceClient(<span class="hljs-string">&quot;meta-llama/Llama-3.2-3B-Instruct&quot;</span>)
<span class="hljs-comment"># 다음 셀의 출력이 올바르지 않다면, 무료 모델이 과부하 상태일 수 있습니다. 대신 Llama-3.2-3B-Instruct가 포함된 이 공개 엔드포인트를 사용할 수 있습니다</span>
<span class="hljs-comment"># client = InferenceClient(&quot;https://jc26mwg228mkj8dw.us-east-1.aws.endpoints.huggingface.cloud&quot;)</span>`,wrap:!1}}),N=new j({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjAlMjJUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMiUyQyUwQSUyMCUyMCUyMCUyMG1heF9uZXdfdG9rZW5zJTNEMTAwJTJDJTBBKSUwQSUwQXByaW50KG91dHB1dCk=",highlighted:`output = client.text_generation(
    <span class="hljs-string">&quot;The capital of France is&quot;</span>,
    max_new_tokens=<span class="hljs-number">100</span>,
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),$=new j({props:{code:"UGFyaXMuJTIwVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjBQYXJpcy4lMjBUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMFBhcmlzLiUyMFRoZSUyMGNhcGl0YWwlMjBvZiUyMEZyYW5jZSUyMGlzJTIwUGFyaXMuJTIwVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjBQYXJpcy4lMjBUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMFBhcmlzLiUyMFRoZSUyMGNhcGl0YWwlMjBvZiUyMEZyYW5jZSUyMGlzJTIwUGFyaXMuJTIwVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjBQYXJpcy4lMjBUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMFBhcmlzLiUyMFRoZSUyMGNhcGl0YWwlMjBvZiUyMEZyYW5jZSUyMGlzJTIwUGFyaXMuJTIwVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjBQYXJpcy4lMjBUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMFBhcmlzLiUyMFRoZSUyMGNhcGl0YWwlMjBvZiUyMEZyYW5jZSUyMGlzJTIwUGFyaXMuJTIwVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjBQYXJpcy4lMjBUaGUlMjBjYXBpdGFsJTIwb2YlMjBGcmFuY2UlMjBpcyUyMFBhcmlzLg==",highlighted:'Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris. The capital of France <span class="hljs-keyword">is</span> Paris.',wrap:!1}}),x=new j({props:{code:"cHJvbXB0JTNEJTIyJTIyJTIyJTNDJTdDYmVnaW5fb2ZfdGV4dCU3QyUzRSUzQyU3Q3N0YXJ0X2hlYWRlcl9pZCU3QyUzRXVzZXIlM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTBBVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlM0MlN0Nlb3RfaWQlN0MlM0UlM0MlN0NzdGFydF9oZWFkZXJfaWQlN0MlM0Vhc3Npc3RhbnQlM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTIyJTIyJTIyJTBBb3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjAlMjBtYXhfbmV3X3Rva2VucyUzRDEwMCUyQyUwQSklMEElMEFwcmludChvdXRwdXQp",highlighted:`prompt=<span class="hljs-string">&quot;&quot;&quot;&lt;|begin_of_text|&gt;&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;
The capital of France is&lt;|eot_id|&gt;&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;&quot;&quot;&quot;</span>
output = client.text_generation(
    prompt,
    max_new_tokens=<span class="hljs-number">100</span>,
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),q=new j({props:{code:"VGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjBQYXJpcy4=",highlighted:'The capital of France <span class="hljs-keyword">is</span> Paris.',wrap:!1}}),Y=new j({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LmNoYXQuY29tcGxldGlvbnMuY3JlYXRlKCUwQSUyMCUyMCUyMCUyMG1lc3NhZ2VzJTNEJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTIycm9sZSUyMiUzQSUyMCUyMnVzZXIlMjIlMkMlMjAlMjJjb250ZW50JTIyJTNBJTIwJTIyVGhlJTIwY2FwaXRhbCUyMG9mJTIwRnJhbmNlJTIwaXMlMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlNUQlMkMlMEElMjAlMjAlMjAlMjBzdHJlYW0lM0RGYWxzZSUyQyUwQSUyMCUyMCUyMCUyMG1heF90b2tlbnMlM0QxMDI0JTJDJTBBKSUwQXByaW50KG91dHB1dC5jaG9pY2VzJTVCMCU1RC5tZXNzYWdlLmNvbnRlbnQp",highlighted:`output = client.chat.completions.create(
    messages=[
        {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;The capital of France is&quot;</span>},
    ],
    stream=<span class="hljs-literal">False</span>,
    max_tokens=<span class="hljs-number">1024</span>,
)
<span class="hljs-built_in">print</span>(output.choices[<span class="hljs-number">0</span>].message.content)`,wrap:!1}}),Z=new j({props:{code:"UGFyaXMu",highlighted:"Paris.",wrap:!1}}),W=new qs({props:{title:"더미 에이전트",local:"dummy-agent",headingTag:"h2"}}),z=new j({props:{code:"JTBBJTBBJTBBJTBBJTBBJTBBJTBBJTBBKHRoaXMlMjBUaG91Z2h0JTJGQWN0aW9uJTJGT2JzZXJ2YXRpb24lMjBjYW4lMjByZXBlYXQlMjBOJTIwdGltZXMlMkMlMjB5b3UlMjBzaG91bGQlMjB0YWtlJTIwc2V2ZXJhbCUyMHN0ZXBzJTIwd2hlbiUyMG5lZWRlZC4lMjBUaGUlMjAlMjRKU09OX0JMT0IlMjBtdXN0JTIwYmUlMjBmb3JtYXR0ZWQlMjBhcyUyMG1hcmtkb3duJTIwYW5kJTIwb25seSUyMHVzZSUyMGElMjBTSU5HTEUlMjBhY3Rpb24lMjBhdCUyMGElMjB0aW1lLiklMEElMEElMEE=",highlighted:`Answer the following questions as best you can. You have access to the following tools:

get_weather: Get the current weather in a given location

The way you <span class="hljs-keyword">use</span> the tools is by specifying a json blob.
Specifically, <span class="hljs-keyword">this</span> json should have an \`action\` key (<span class="hljs-keyword">with</span> the name of the tool to <span class="hljs-keyword">use</span>) <span class="hljs-keyword">and</span> an \`action_input\` key (<span class="hljs-keyword">with</span> the <span class="hljs-keyword">input</span> to the tool going here).

The only values that should be in the <span class="hljs-string">&quot;action&quot;</span> field are:
get_weather: Get the current weather in a given location, args: {<span class="hljs-string">&quot;location&quot;</span>: {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>}}
example <span class="hljs-keyword">use</span> : 

{{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;New York&quot;</span>}
}}

ALWAYS <span class="hljs-keyword">use</span> the following format:

Question: the <span class="hljs-keyword">input</span> question you must answer
Thought: you should <span class="hljs-keyword">always</span> think about one action to take. Only one action at a <span class="hljs-keyword">time</span> in <span class="hljs-keyword">this</span> format:
Action:

$JSON_BLOB (<span class="hljs-keyword">inside</span> markdown <span class="hljs-keyword">cell</span>)

Observation: the result of the action. This Observation is <span class="hljs-keyword">unique</span>, complete, <span class="hljs-keyword">and</span> the source of truth.
... (<span class="hljs-keyword">this</span> Thought/Action/Observation can <span class="hljs-keyword">repeat</span> N times, you should take several steps when needed. The $JSON_BLOB must be formatted as markdown <span class="hljs-keyword">and</span> only <span class="hljs-keyword">use</span> a SINGLE action at a <span class="hljs-keyword">time</span>.)

You must <span class="hljs-keyword">always</span> <span class="hljs-keyword">end</span> your <span class="hljs-keyword">output</span> <span class="hljs-keyword">with</span> the following format:

Thought: I now know the <span class="hljs-keyword">final</span> answer
Final Answer: the <span class="hljs-keyword">final</span> answer to the original <span class="hljs-keyword">input</span> question

Now <span class="hljs-keyword">begin</span>! Reminder to ALWAYS <span class="hljs-keyword">use</span> the exact characters \`Final Answer:\` when you provide a definitive answer.`,wrap:!1}}),P=new j({props:{code:"cHJvbXB0JTNEZiUyMiUyMiUyMiUzQyU3Q2JlZ2luX29mX3RleHQlN0MlM0UlM0MlN0NzdGFydF9oZWFkZXJfaWQlN0MlM0VzeXN0ZW0lM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTBBJTdCU1lTVEVNX1BST01QVCU3RCUwQSUzQyU3Q2VvdF9pZCU3QyUzRSUzQyU3Q3N0YXJ0X2hlYWRlcl9pZCU3QyUzRXVzZXIlM0MlN0NlbmRfaGVhZGVyX2lkJTdDJTNFJTBBV2hhdCdzJTIwdGhlJTIwd2VhdGhlciUyMGluJTIwTG9uZG9uJTIwJTNGJTBBJTNDJTdDZW90X2lkJTdDJTNFJTNDJTdDc3RhcnRfaGVhZGVyX2lkJTdDJTNFYXNzaXN0YW50JTNDJTdDZW5kX2hlYWRlcl9pZCU3QyUzRSUwQSUyMiUyMiUyMg==",highlighted:`prompt=<span class="hljs-string">f&quot;&quot;&quot;&lt;|begin_of_text|&gt;&lt;|start_header_id|&gt;system&lt;|end_header_id|&gt;
<span class="hljs-subst">{SYSTEM_PROMPT}</span>
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;user&lt;|end_header_id|&gt;
What&#x27;s the weather in London ?
&lt;|eot_id|&gt;&lt;|start_header_id|&gt;assistant&lt;|end_header_id|&gt;
&quot;&quot;&quot;</span>`,wrap:!1}}),K=new j({props:{code:"bWVzc2FnZXMlM0QlNUIlMEElMjAlMjAlMjAlMjAlN0IlMjJyb2xlJTIyJTNBJTIwJTIyc3lzdGVtJTIyJTJDJTIwJTIyY29udGVudCUyMiUzQSUyMFNZU1RFTV9QUk9NUFQlN0QlMkMlMEElMjAlMjAlMjAlMjAlN0IlMjJyb2xlJTIyJTNBJTIwJTIydXNlciUyMiUyQyUyMCUyMmNvbnRlbnQlMjIlM0ElMjAlMjJXaGF0J3MlMjB0aGUlMjB3ZWF0aGVyJTIwaW4lMjBMb25kb24lMjAlM0YlMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlNUQlMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQXV0b1Rva2VuaXplciUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMm1ldGEtbGxhbWElMkZMbGFtYS0zLjItM0ItSW5zdHJ1Y3QlMjIpJTBBJTBBdG9rZW5pemVyLmFwcGx5X2NoYXRfdGVtcGxhdGUobWVzc2FnZXMlMkMlMjB0b2tlbml6ZSUzREZhbHNlJTJDYWRkX2dlbmVyYXRpb25fcHJvbXB0JTNEVHJ1ZSk=",highlighted:`messages=[
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;system&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: SYSTEM_PROMPT},
    {<span class="hljs-string">&quot;role&quot;</span>: <span class="hljs-string">&quot;user&quot;</span>, <span class="hljs-string">&quot;content&quot;</span>: <span class="hljs-string">&quot;What&#x27;s the weather in London ?&quot;</span>},
    ]
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">&quot;meta-llama/Llama-3.2-3B-Instruct&quot;</span>)

tokenizer.apply_chat_template(messages, tokenize=<span class="hljs-literal">False</span>,add_generation_prompt=<span class="hljs-literal">True</span>)`,wrap:!1}}),st=new j({props:{code:"JTBBJTBBJTBBJTBBJTBBJTBBJTBBJTBBKHRoaXMlMjBUaG91Z2h0JTJGQWN0aW9uJTJGT2JzZXJ2YXRpb24lMjBjYW4lMjByZXBlYXQlMjBOJTIwdGltZXMlMkMlMjB5b3UlMjBzaG91bGQlMjB0YWtlJTIwc2V2ZXJhbCUyMHN0ZXBzJTIwd2hlbiUyMG5lZWRlZC4lMjBUaGUlMjAlMjRKU09OX0JMT0IlMjBtdXN0JTIwYmUlMjBmb3JtYXR0ZWQlMjBhcyUyMG1hcmtkb3duJTIwYW5kJTIwb25seSUyMHVzZSUyMGElMjBTSU5HTEUlMjBhY3Rpb24lMjBhdCUyMGElMjB0aW1lLiklMEElMEElMEE=",highlighted:`&lt;|<span class="hljs-type">begin_of_text</span>|<span class="hljs-type">&gt;&lt;|start_header_id</span>|<span class="hljs-type">&gt;system</span>&lt;|<span class="hljs-type">end_header_id</span>|<span class="hljs-type">&gt;
Answer</span> the following questions <span class="hljs-built_in">as</span> best you can. You have access to the following tools:

get_weather: Get the current weather <span class="hljs-built_in">in</span> a given location

The way you use the tools is <span class="hljs-built_in">by</span> specifying a json blob.
Specifically, this json should have an \`action\` key (<span class="hljs-built_in">with</span> the name of the tool to use) and a \`action_input\` key (<span class="hljs-built_in">with</span> the input to the tool going here).

The only values that should be <span class="hljs-built_in">in</span> the <span class="hljs-string">&quot;action&quot;</span> <span class="hljs-built_in">field</span> are:
get_weather: Get the current weather <span class="hljs-built_in">in</span> a given location, args: {<span class="hljs-string">&quot;location&quot;</span>: {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>}}
example use : 

{{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;New York&quot;</span>}
}}

ALWAYS use the following format:

Question: the input question you must answer
Thought: you should always think about one action to take. Only one action <span class="hljs-built_in">at</span> a <span class="hljs-built_in">time</span> <span class="hljs-built_in">in</span> this format:
Action:

$JSON_BLOB (inside markdown cell)

Observation: the result of the action. This Observation is unique, complete, and the source of truth.
... (this Thought/Action/Observation can <span class="hljs-built_in">repeat</span> N times, you should take several steps when needed. The $JSON_BLOB must be formatted <span class="hljs-built_in">as</span> markdown and only use a SINGLE action <span class="hljs-built_in">at</span> a <span class="hljs-built_in">time</span>.)

You must always <span class="hljs-keyword">end</span> your output <span class="hljs-built_in">with</span> the following format:

Thought: I now know the final answer
Final Answer: the final answer to the original input question

Now begin! Reminder to ALWAYS use the <span class="hljs-built_in">exact</span> characters \`Final Answer:\` when you provide a definitive answer. 
&lt;|<span class="hljs-type">eot_id</span>|<span class="hljs-type">&gt;&lt;|start_header_id</span>|<span class="hljs-type">&gt;user</span>&lt;|<span class="hljs-type">end_header_id</span>|<span class="hljs-type">&gt;
What</span>&#x27;s the weather <span class="hljs-built_in">in</span> London ?
&lt;|<span class="hljs-type">eot_id</span>|<span class="hljs-type">&gt;&lt;|start_header_id</span>|<span class="hljs-type">&gt;assistant</span>&lt;|<span class="hljs-type">end_header_id</span>|<span class="hljs-type">&gt;</span>`,wrap:!1}}),et=new j({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjAlMjBtYXhfbmV3X3Rva2VucyUzRDIwMCUyQyUwQSklMEElMEFwcmludChvdXRwdXQp",highlighted:`output = client.text_generation(
    prompt,
    max_new_tokens=<span class="hljs-number">200</span>,
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),at=new j({props:{code:"VGhvdWdodCUzQSUyMEklMjB3aWxsJTIwY2hlY2slMjB0aGUlMjB3ZWF0aGVyJTIwaW4lMjBMb25kb24uJTBBQWN0aW9uJTNBJTBBJTYwJTYwJTYwJTBBJTdCJTBBJTIwJTIwJTIyYWN0aW9uJTIyJTNBJTIwJTIyZ2V0X3dlYXRoZXIlMjIlMkMlMEElMjAlMjAlMjJhY3Rpb25faW5wdXQlMjIlM0ElMjAlN0IlMjJsb2NhdGlvbiUyMiUzQSUyMCUyMkxvbmRvbiUyMiU3RCUwQSU3RCUwQSU2MCU2MCU2MCUwQU9ic2VydmF0aW9uJTNBJTIwVGhlJTIwY3VycmVudCUyMHdlYXRoZXIlMjBpbiUyMExvbmRvbiUyMGlzJTIwbW9zdGx5JTIwY2xvdWR5JTIwd2l0aCUyMGElMjBoaWdoJTIwb2YlMjAxMiVDMiVCMEMlMjBhbmQlMjBhJTIwbG93JTIwb2YlMjA4JUMyJUIwQy4=",highlighted:`Thought: I will<span class="hljs-built_in"> check </span>the weather in London.
Action:
\`\`\`
{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;London&quot;</span>}
}
\`\`\`
Observation: The current weather in London is mostly cloudy with a high of 12°C<span class="hljs-built_in"> and </span>a low of 8°C.`,wrap:!1}}),ot=new j({props:{code:"b3V0cHV0JTIwJTNEJTIwY2xpZW50LnRleHRfZ2VuZXJhdGlvbiglMEElMjAlMjAlMjAlMjBwcm9tcHQlMkMlMEElMjAlMjAlMjAlMjBtYXhfbmV3X3Rva2VucyUzRDIwMCUyQyUwQSUyMCUyMCUyMCUyMHN0b3AlM0QlNUIlMjJPYnNlcnZhdGlvbiUzQSUyMiU1RCUyMCUyMyUyMCVFQyU4QiVBNCVFQyVBMCU5QyUyMCVFRCU5NSVBOCVFQyU4OCU5OCVFQSVCMCU4MCUyMCVFRCU5OCVCOCVFQyVCNiU5QyVFQiU5MCU5OCVFQSVCOCVCMCUyMCVFQyVBMCU4NCVFQyU5NyU5MCUyMCVFQyVBNCU5MSVFQiU4QiVBOCVFRCU5NSVBOSVFQiU4QiU4OCVFQiU4QiVBNCUwQSklMEElMEFwcmludChvdXRwdXQp",highlighted:`output = client.text_generation(
    prompt,
    max_new_tokens=<span class="hljs-number">200</span>,
    stop=[<span class="hljs-string">&quot;Observation:&quot;</span>] <span class="hljs-comment"># 실제 함수가 호출되기 전에 중단합니다</span>
)

<span class="hljs-built_in">print</span>(output)`,wrap:!1}}),ht=new j({props:{code:"VGhvdWdodCUzQSUyMEklMjB3aWxsJTIwY2hlY2slMjB0aGUlMjB3ZWF0aGVyJTIwaW4lMjBMb25kb24uJTBBQWN0aW9uJTNBJTBBJTYwJTYwJTYwJTBBJTdCJTBBJTIwJTIwJTIyYWN0aW9uJTIyJTNBJTIwJTIyZ2V0X3dlYXRoZXIlMjIlMkMlMEElMjAlMjAlMjJhY3Rpb25faW5wdXQlMjIlM0ElMjAlN0IlMjJsb2NhdGlvbiUyMiUzQSUyMCUyMkxvbmRvbiUyMiU3RCUwQSU3RCUwQSU2MCU2MCU2MCUwQU9ic2VydmF0aW9uJTNB",highlighted:`Thought: I will<span class="hljs-built_in"> check </span>the weather in London.
Action:
\`\`\`
{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;London&quot;</span>}
}
\`\`\`
Observation:`,wrap:!1}}),yt=new j({props:{code:"JTIzJTIwJUVCJThEJTk0JUVCJUFGJUI4JTIwJUVEJTk1JUE4JUVDJTg4JTk4JTBBZGVmJTIwZ2V0X3dlYXRoZXIobG9jYXRpb24pJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwZiUyMnRoZSUyMHdlYXRoZXIlMjBpbiUyMCU3QmxvY2F0aW9uJTdEJTIwaXMlMjBzdW5ueSUyMHdpdGglMjBsb3clMjB0ZW1wZXJhdHVyZXMuJTIwJTVDbiUyMiUwQSUwQWdldF93ZWF0aGVyKCdMb25kb24nKQ==",highlighted:`<span class="hljs-comment"># 더미 함수</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">get_weather</span>(<span class="hljs-params">location</span>):
    <span class="hljs-keyword">return</span> <span class="hljs-string">f&quot;the weather in <span class="hljs-subst">{location}</span> is sunny with low temperatures. \\n&quot;</span>

get_weather(<span class="hljs-string">&#x27;London&#x27;</span>)`,wrap:!1}}),rt=new j({props:{code:"J3RoZSUyMHdlYXRoZXIlMjBpbiUyMExvbmRvbiUyMGlzJTIwc3VubnklMjB3aXRoJTIwbG93JTIwdGVtcGVyYXR1cmVzLiUyMCU1Q24n",highlighted:'<span class="hljs-symbol">&#x27;the</span> weather <span class="hljs-keyword">in</span> London <span class="hljs-keyword">is</span> sunny <span class="hljs-keyword">with</span> low temperatures. \\n&#x27;',wrap:!1}}),wt=new j({props:{code:"bmV3X3Byb21wdCUyMCUzRCUyMHByb21wdCUyMCUyQiUyMG91dHB1dCUyMCUyQiUyMGdldF93ZWF0aGVyKCdMb25kb24nKSUwQWZpbmFsX291dHB1dCUyMCUzRCUyMGNsaWVudC50ZXh0X2dlbmVyYXRpb24oJTBBJTIwJTIwJTIwJTIwbmV3X3Byb21wdCUyQyUwQSUyMCUyMCUyMCUyMG1heF9uZXdfdG9rZW5zJTNEMjAwJTJDJTBBKSUwQSUwQXByaW50KGZpbmFsX291dHB1dCk=",highlighted:`new_prompt = prompt + output + get_weather(<span class="hljs-string">&#x27;London&#x27;</span>)
final_output = client.text_generation(
    new_prompt,
    max_new_tokens=<span class="hljs-number">200</span>,
)

<span class="hljs-built_in">print</span>(final_output)`,wrap:!1}}),Tt=new j({props:{code:"JTBBJTBBJTBBJTBBJTBBJTBBJTBBJTBBKHRoaXMlMjBUaG91Z2h0JTJGQWN0aW9uJTJGT2JzZXJ2YXRpb24lMjBjYW4lMjByZXBlYXQlMjBOJTIwdGltZXMlMkMlMjB5b3UlMjBzaG91bGQlMjB0YWtlJTIwc2V2ZXJhbCUyMHN0ZXBzJTIwd2hlbiUyMG5lZWRlZC4lMjBUaGUlMjAlMjRKU09OX0JMT0IlMjBtdXN0JTIwYmUlMjBmb3JtYXR0ZWQlMjBhcyUyMG1hcmtkb3duJTIwYW5kJTIwb25seSUyMHVzZSUyMGElMjBTSU5HTEUlMjBhY3Rpb24lMjBhdCUyMGElMjB0aW1lLiklMEElMEElMEE=",highlighted:`&lt;|<span class="hljs-type">begin_of_text</span>|<span class="hljs-type">&gt;&lt;|start_header_id</span>|<span class="hljs-type">&gt;system</span>&lt;|<span class="hljs-type">end_header_id</span>|<span class="hljs-type">&gt;
    Answer</span> the following questions <span class="hljs-built_in">as</span> best you can. You have access to the following tools:

get_weather: Get the current weather <span class="hljs-built_in">in</span> a given location

The way you use the tools is <span class="hljs-built_in">by</span> specifying a json blob.
Specifically, this json should have a \`action\` key (<span class="hljs-built_in">with</span> the name of the tool to use) and a \`action_input\` key (<span class="hljs-built_in">with</span> the input to the tool going here).

The only values that should be <span class="hljs-built_in">in</span> the <span class="hljs-string">&quot;action&quot;</span> <span class="hljs-built_in">field</span> are:
get_weather: Get the current weather <span class="hljs-built_in">in</span> a given location, args: {<span class="hljs-string">&quot;location&quot;</span>: {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>}}
example use : 

{{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: <span class="hljs-string">&quot;New York&quot;</span>}
}}

ALWAYS use the following format:

Question: the input question you must answer
Thought: you should always think about one action to take. Only one action <span class="hljs-built_in">at</span> a <span class="hljs-built_in">time</span> <span class="hljs-built_in">in</span> this format:
Action:

$JSON_BLOB (inside markdown cell)

Observation: the result of the action. This Observation is unique, complete, and the source of truth.
... (this Thought/Action/Observation can <span class="hljs-built_in">repeat</span> N times, you should take several steps when needed. The $JSON_BLOB must be formatted <span class="hljs-built_in">as</span> markdown and only use a SINGLE action <span class="hljs-built_in">at</span> a <span class="hljs-built_in">time</span>.)

You must always <span class="hljs-keyword">end</span> your output <span class="hljs-built_in">with</span> the following format:

Thought: I now know the final answer
Final Answer: the final answer to the original input question

Now begin! Reminder to ALWAYS use the <span class="hljs-built_in">exact</span> characters \`Final Answer:\` when you provide a definitive answer. 
&lt;|<span class="hljs-type">eot_id</span>|<span class="hljs-type">&gt;&lt;|start_header_id</span>|<span class="hljs-type">&gt;user</span>&lt;|<span class="hljs-type">end_header_id</span>|<span class="hljs-type">&gt;
What</span>&#x27;s the weather <span class="hljs-built_in">in</span> London ?
&lt;|<span class="hljs-type">eot_id</span>|<span class="hljs-type">&gt;&lt;|start_header_id</span>|<span class="hljs-type">&gt;assistant</span>&lt;|<span class="hljs-type">end_header_id</span>|<span class="hljs-type">&gt;
Thought</span>: I will check the weather <span class="hljs-built_in">in</span> London.
Action:
\`\`\`
{
  <span class="hljs-string">&quot;action&quot;</span>: <span class="hljs-string">&quot;get_weather&quot;</span>,
  <span class="hljs-string">&quot;action_input&quot;</span>: {<span class="hljs-string">&quot;location&quot;</span>: {<span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>, <span class="hljs-string">&quot;value&quot;</span>: <span class="hljs-string">&quot;London&quot;</span>}
}
\`\`\`
Observation:the weather <span class="hljs-built_in">in</span> London is sunny <span class="hljs-built_in">with</span> low temperatures. `,wrap:!1}}),Ct=new j({props:{code:"RmluYWwlMjBBbnN3ZXIlM0ElMjBUaGUlMjB3ZWF0aGVyJTIwaW4lMjBMb25kb24lMjBpcyUyMHN1bm55JTIwd2l0aCUyMGxvdyUyMHRlbXBlcmF0dXJlcy4=",highlighted:'<span class="hljs-keyword">Final</span> Answer: The weather <span class="hljs-keyword">in</span> London <span class="hljs-keyword">is</span> sunny <span class="hljs-keyword">with</span> low temperatures.',wrap:!1}}),bt=new kl({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ko/unit1/dummy-agent-library.mdx"}}),{c(){w=i("meta"),ft=n(),Bt=i("p"),gt=n(),M(c.$$.fragment),Qt=n(),M(T.$$.fragment),It=n(),J=i("img"),_t=n(),C=i("p"),C.innerHTML=Es,Ft=n(),m=i("p"),m.textContent=Zs,Nt=n(),d=i("p"),d.textContent=Ss,kt=n(),b=i("p"),b.innerHTML=Ws,$t=n(),B=i("p"),B.innerHTML=As,Rt=n(),V=i("p"),V.innerHTML=Os,Gt=n(),f=i("p"),f.textContent=Ls,xt=n(),g=i("p"),g.innerHTML=zs,Xt=n(),Q=i("p"),Q.innerHTML=Hs,qt=n(),M(I.$$.fragment),vt=n(),_=i("p"),_.textContent=Ps,Yt=n(),M(F.$$.fragment),Et=n(),M(N.$$.fragment),Zt=n(),k=i("p"),k.textContent=Ds,St=n(),M($.$$.fragment),Wt=n(),R=i("p"),R.innerHTML=Ks,At=n(),G=i("p"),G.innerHTML=tl,Ot=n(),M(x.$$.fragment),Lt=n(),X=i("p"),X.textContent=sl,zt=n(),M(q.$$.fragment),Ht=n(),v=i("p"),v.textContent=ll,Pt=n(),M(Y.$$.fragment),Dt=n(),E=i("p"),E.textContent=el,Kt=n(),M(Z.$$.fragment),ts=n(),S=i("p"),S.textContent=nl,ss=n(),M(W.$$.fragment),ls=n(),A=i("p"),A.textContent=al,es=n(),O=i("p"),O.textContent=il,ns=n(),L=i("ol"),L.innerHTML=pl,as=n(),M(z.$$.fragment),is=n(),H=i("p"),H.textContent=ol,ps=n(),M(P.$$.fragment),os=n(),D=i("p"),D.innerHTML=Ml,Ms=n(),M(K.$$.fragment),hs=n(),tt=i("p"),tt.textContent=hl,us=n(),M(st.$$.fragment),ys=n(),lt=i("p"),lt.textContent=ul,Us=n(),M(et.$$.fragment),rs=n(),nt=i("p"),nt.textContent=yl,js=n(),M(at.$$.fragment),ws=n(),it=i("p"),it.textContent=Ul,cs=n(),pt=i("blockquote"),pt.innerHTML=rl,Ts=n(),M(ot.$$.fragment),Js=n(),Mt=i("p"),Mt.textContent=jl,Cs=n(),M(ht.$$.fragment),ms=n(),ut=i("p"),ut.textContent=wl,ds=n(),M(yt.$$.fragment),bs=n(),Ut=i("p"),Ut.textContent=cl,Bs=n(),M(rt.$$.fragment),Vs=n(),jt=i("p"),jt.textContent=Tl,fs=n(),M(wt.$$.fragment),gs=n(),ct=i("p"),ct.textContent=Jl,Qs=n(),M(Tt.$$.fragment),Is=n(),Jt=i("p"),Jt.textContent=Cl,_s=n(),M(Ct.$$.fragment),Fs=n(),Ns=i("hr"),ks=n(),mt=i("p"),mt.innerHTML=ml,$s=n(),dt=i("p"),dt.innerHTML=dl,Rs=n(),M(bt.$$.fragment),Gs=n(),Vt=i("p"),this.h()},l(t){const s=_l("svelte-u9bgzb",document.head);w=p(s,"META",{name:!0,content:!0}),s.forEach(l),ft=a(t),Bt=p(t,"P",{}),bl(Bt).forEach(l),gt=a(t),h(c.$$.fragment,t),Qt=a(t),h(T.$$.fragment,t),It=a(t),J=p(t,"IMG",{src:!0,alt:!0}),_t=a(t),C=p(t,"P",{"data-svelte-h":!0}),o(C)!=="svelte-13q9a29"&&(C.innerHTML=Es),Ft=a(t),m=p(t,"P",{"data-svelte-h":!0}),o(m)!=="svelte-1wusmmw"&&(m.textContent=Zs),Nt=a(t),d=p(t,"P",{"data-svelte-h":!0}),o(d)!=="svelte-1ktsmra"&&(d.textContent=Ss),kt=a(t),b=p(t,"P",{"data-svelte-h":!0}),o(b)!=="svelte-1w2u3vn"&&(b.innerHTML=Ws),$t=a(t),B=p(t,"P",{"data-svelte-h":!0}),o(B)!=="svelte-1rub651"&&(B.innerHTML=As),Rt=a(t),V=p(t,"P",{"data-svelte-h":!0}),o(V)!=="svelte-1gwz4hj"&&(V.innerHTML=Os),Gt=a(t),f=p(t,"P",{"data-svelte-h":!0}),o(f)!=="svelte-rinx9d"&&(f.textContent=Ls),xt=a(t),g=p(t,"P",{"data-svelte-h":!0}),o(g)!=="svelte-1xpbh9e"&&(g.innerHTML=zs),Xt=a(t),Q=p(t,"P",{"data-svelte-h":!0}),o(Q)!=="svelte-1t8hg6u"&&(Q.innerHTML=Hs),qt=a(t),h(I.$$.fragment,t),vt=a(t),_=p(t,"P",{"data-svelte-h":!0}),o(_)!=="svelte-1r4p0eq"&&(_.textContent=Ps),Yt=a(t),h(F.$$.fragment,t),Et=a(t),h(N.$$.fragment,t),Zt=a(t),k=p(t,"P",{"data-svelte-h":!0}),o(k)!=="svelte-inwphr"&&(k.textContent=Ds),St=a(t),h($.$$.fragment,t),Wt=a(t),R=p(t,"P",{"data-svelte-h":!0}),o(R)!=="svelte-tpy85a"&&(R.innerHTML=Ks),At=a(t),G=p(t,"P",{"data-svelte-h":!0}),o(G)!=="svelte-eg6uzs"&&(G.innerHTML=tl),Ot=a(t),h(x.$$.fragment,t),Lt=a(t),X=p(t,"P",{"data-svelte-h":!0}),o(X)!=="svelte-inwphr"&&(X.textContent=sl),zt=a(t),h(q.$$.fragment,t),Ht=a(t),v=p(t,"P",{"data-svelte-h":!0}),o(v)!=="svelte-1nsmni4"&&(v.textContent=ll),Pt=a(t),h(Y.$$.fragment,t),Dt=a(t),E=p(t,"P",{"data-svelte-h":!0}),o(E)!=="svelte-inwphr"&&(E.textContent=el),Kt=a(t),h(Z.$$.fragment,t),ts=a(t),S=p(t,"P",{"data-svelte-h":!0}),o(S)!=="svelte-okwxy4"&&(S.textContent=nl),ss=a(t),h(W.$$.fragment,t),ls=a(t),A=p(t,"P",{"data-svelte-h":!0}),o(A)!=="svelte-mjowjw"&&(A.textContent=al),es=a(t),O=p(t,"P",{"data-svelte-h":!0}),o(O)!=="svelte-s6eprc"&&(O.textContent=il),ns=a(t),L=p(t,"OL",{"data-svelte-h":!0}),o(L)!=="svelte-77h2cd"&&(L.innerHTML=pl),as=a(t),h(z.$$.fragment,t),is=a(t),H=p(t,"P",{"data-svelte-h":!0}),o(H)!=="svelte-1b74wsk"&&(H.textContent=ol),ps=a(t),h(P.$$.fragment,t),os=a(t),D=p(t,"P",{"data-svelte-h":!0}),o(D)!=="svelte-ct5hn0"&&(D.innerHTML=Ml),Ms=a(t),h(K.$$.fragment,t),hs=a(t),tt=p(t,"P",{"data-svelte-h":!0}),o(tt)!=="svelte-m9c2pw"&&(tt.textContent=hl),us=a(t),h(st.$$.fragment,t),ys=a(t),lt=p(t,"P",{"data-svelte-h":!0}),o(lt)!=="svelte-1kwkb5z"&&(lt.textContent=ul),Us=a(t),h(et.$$.fragment,t),rs=a(t),nt=p(t,"P",{"data-svelte-h":!0}),o(nt)!=="svelte-inwphr"&&(nt.textContent=yl),js=a(t),h(at.$$.fragment,t),ws=a(t),it=p(t,"P",{"data-svelte-h":!0}),o(it)!=="svelte-1obmof3"&&(it.textContent=Ul),cs=a(t),pt=p(t,"BLOCKQUOTE",{"data-svelte-h":!0}),o(pt)!=="svelte-h3ajk7"&&(pt.innerHTML=rl),Ts=a(t),h(ot.$$.fragment,t),Js=a(t),Mt=p(t,"P",{"data-svelte-h":!0}),o(Mt)!=="svelte-inwphr"&&(Mt.textContent=jl),Cs=a(t),h(ht.$$.fragment,t),ms=a(t),ut=p(t,"P",{"data-svelte-h":!0}),o(ut)!=="svelte-1fjw0wc"&&(ut.textContent=wl),ds=a(t),h(yt.$$.fragment,t),bs=a(t),Ut=p(t,"P",{"data-svelte-h":!0}),o(Ut)!=="svelte-inwphr"&&(Ut.textContent=cl),Bs=a(t),h(rt.$$.fragment,t),Vs=a(t),jt=p(t,"P",{"data-svelte-h":!0}),o(jt)!=="svelte-1nwredf"&&(jt.textContent=Tl),fs=a(t),h(wt.$$.fragment,t),gs=a(t),ct=p(t,"P",{"data-svelte-h":!0}),o(ct)!=="svelte-nerwkw"&&(ct.textContent=Jl),Qs=a(t),h(Tt.$$.fragment,t),Is=a(t),Jt=p(t,"P",{"data-svelte-h":!0}),o(Jt)!=="svelte-inwphr"&&(Jt.textContent=Cl),_s=a(t),h(Ct.$$.fragment,t),Fs=a(t),Ns=p(t,"HR",{}),ks=a(t),mt=p(t,"P",{"data-svelte-h":!0}),o(mt)!=="svelte-q4xpy1"&&(mt.innerHTML=ml),$s=a(t),dt=p(t,"P",{"data-svelte-h":!0}),o(dt)!=="svelte-10azulo"&&(dt.innerHTML=dl),Rs=a(t),h(bt.$$.fragment,t),Gs=a(t),Vt=p(t,"P",{}),bl(Vt).forEach(l),this.h()},h(){Xs(w,"name","hf:doc:metadata"),Xs(w,"content",Rl),Vl(J.src,Ys="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/whiteboard-unit1sub3DONE.jpg")||Xs(J,"src",Ys),Xs(J,"alt","Unit 1 planning")},m(t,s){Fl(document.head,w),e(t,ft,s),e(t,Bt,s),e(t,gt,s),u(c,t,s),e(t,Qt,s),u(T,t,s),e(t,It,s),e(t,J,s),e(t,_t,s),e(t,C,s),e(t,Ft,s),e(t,m,s),e(t,Nt,s),e(t,d,s),e(t,kt,s),e(t,b,s),e(t,$t,s),e(t,B,s),e(t,Rt,s),e(t,V,s),e(t,Gt,s),e(t,f,s),e(t,xt,s),e(t,g,s),e(t,Xt,s),e(t,Q,s),e(t,qt,s),u(I,t,s),e(t,vt,s),e(t,_,s),e(t,Yt,s),u(F,t,s),e(t,Et,s),u(N,t,s),e(t,Zt,s),e(t,k,s),e(t,St,s),u($,t,s),e(t,Wt,s),e(t,R,s),e(t,At,s),e(t,G,s),e(t,Ot,s),u(x,t,s),e(t,Lt,s),e(t,X,s),e(t,zt,s),u(q,t,s),e(t,Ht,s),e(t,v,s),e(t,Pt,s),u(Y,t,s),e(t,Dt,s),e(t,E,s),e(t,Kt,s),u(Z,t,s),e(t,ts,s),e(t,S,s),e(t,ss,s),u(W,t,s),e(t,ls,s),e(t,A,s),e(t,es,s),e(t,O,s),e(t,ns,s),e(t,L,s),e(t,as,s),u(z,t,s),e(t,is,s),e(t,H,s),e(t,ps,s),u(P,t,s),e(t,os,s),e(t,D,s),e(t,Ms,s),u(K,t,s),e(t,hs,s),e(t,tt,s),e(t,us,s),u(st,t,s),e(t,ys,s),e(t,lt,s),e(t,Us,s),u(et,t,s),e(t,rs,s),e(t,nt,s),e(t,js,s),u(at,t,s),e(t,ws,s),e(t,it,s),e(t,cs,s),e(t,pt,s),e(t,Ts,s),u(ot,t,s),e(t,Js,s),e(t,Mt,s),e(t,Cs,s),u(ht,t,s),e(t,ms,s),e(t,ut,s),e(t,ds,s),u(yt,t,s),e(t,bs,s),e(t,Ut,s),e(t,Bs,s),u(rt,t,s),e(t,Vs,s),e(t,jt,s),e(t,fs,s),u(wt,t,s),e(t,gs,s),e(t,ct,s),e(t,Qs,s),u(Tt,t,s),e(t,Is,s),e(t,Jt,s),e(t,_s,s),u(Ct,t,s),e(t,Fs,s),e(t,Ns,s),e(t,ks,s),e(t,mt,s),e(t,$s,s),e(t,dt,s),e(t,Rs,s),u(bt,t,s),e(t,Gs,s),e(t,Vt,s),xs=!0},p:fl,i(t){xs||(y(c.$$.fragment,t),y(T.$$.fragment,t),y(I.$$.fragment,t),y(F.$$.fragment,t),y(N.$$.fragment,t),y($.$$.fragment,t),y(x.$$.fragment,t),y(q.$$.fragment,t),y(Y.$$.fragment,t),y(Z.$$.fragment,t),y(W.$$.fragment,t),y(z.$$.fragment,t),y(P.$$.fragment,t),y(K.$$.fragment,t),y(st.$$.fragment,t),y(et.$$.fragment,t),y(at.$$.fragment,t),y(ot.$$.fragment,t),y(ht.$$.fragment,t),y(yt.$$.fragment,t),y(rt.$$.fragment,t),y(wt.$$.fragment,t),y(Tt.$$.fragment,t),y(Ct.$$.fragment,t),y(bt.$$.fragment,t),xs=!0)},o(t){U(c.$$.fragment,t),U(T.$$.fragment,t),U(I.$$.fragment,t),U(F.$$.fragment,t),U(N.$$.fragment,t),U($.$$.fragment,t),U(x.$$.fragment,t),U(q.$$.fragment,t),U(Y.$$.fragment,t),U(Z.$$.fragment,t),U(W.$$.fragment,t),U(z.$$.fragment,t),U(P.$$.fragment,t),U(K.$$.fragment,t),U(st.$$.fragment,t),U(et.$$.fragment,t),U(at.$$.fragment,t),U(ot.$$.fragment,t),U(ht.$$.fragment,t),U(yt.$$.fragment,t),U(rt.$$.fragment,t),U(wt.$$.fragment,t),U(Tt.$$.fragment,t),U(Ct.$$.fragment,t),U(bt.$$.fragment,t),xs=!1},d(t){t&&(l(ft),l(Bt),l(gt),l(Qt),l(It),l(J),l(_t),l(C),l(Ft),l(m),l(Nt),l(d),l(kt),l(b),l($t),l(B),l(Rt),l(V),l(Gt),l(f),l(xt),l(g),l(Xt),l(Q),l(qt),l(vt),l(_),l(Yt),l(Et),l(Zt),l(k),l(St),l(Wt),l(R),l(At),l(G),l(Ot),l(Lt),l(X),l(zt),l(Ht),l(v),l(Pt),l(Dt),l(E),l(Kt),l(ts),l(S),l(ss),l(ls),l(A),l(es),l(O),l(ns),l(L),l(as),l(is),l(H),l(ps),l(os),l(D),l(Ms),l(hs),l(tt),l(us),l(ys),l(lt),l(Us),l(rs),l(nt),l(js),l(ws),l(it),l(cs),l(pt),l(Ts),l(Js),l(Mt),l(Cs),l(ms),l(ut),l(ds),l(bs),l(Ut),l(Bs),l(Vs),l(jt),l(fs),l(gs),l(ct),l(Qs),l(Is),l(Jt),l(_s),l(Fs),l(Ns),l(ks),l(mt),l($s),l(dt),l(Rs),l(Gs),l(Vt)),l(w),r(c,t),r(T,t),r(I,t),r(F,t),r(N,t),r($,t),r(x,t),r(q,t),r(Y,t),r(Z,t),r(W,t),r(z,t),r(P,t),r(K,t),r(st,t),r(et,t),r(at,t),r(ot,t),r(ht,t),r(yt,t),r(rt,t),r(wt,t),r(Tt,t),r(Ct,t),r(bt,t)}}}const Rl='{"title":"더미 에이전트 라이브러리","local":"dummy-agent-library","sections":[{"title":"서버리스 API","local":"serverless-api","sections":[],"depth":2},{"title":"더미 에이전트","local":"dummy-agent","sections":[],"depth":2}],"depth":1}';function Gl(vs){return gl(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class El extends Ql{constructor(w){super(),Il(this,w,Gl,$l,Bl,{})}}export{El as component};
