π€ 02. HF Agents Course λ³ΈνΈ 2 - λ©ν° ν΄ μμ΄μ νΈμ μ€ν λ‘κ·Έ κ²μ¦
1νΈμμ λ¨μΌ κ²μ ν΄μ λΆμλ€λ©΄, μ΄λ²μλ κ²μ + κ³μ° + κ²μ¦ μΆλ ₯κΉμ§ ν λ²μ μ¬ννλ€. ν΅μ¬μ βκ²°κ³Ό ν μ€νΈβκ° μλλΌ **μ€ν νμ (tool call + λ‘κ·Έ)**κΉμ§ νμΈνλ μ΅κ΄μ΄λ€.
μ€λ μ€μ΅ λͺ©ν
smolagentsμ ν΄ 2κ°(κ²μ/κ³μ°) μ°κ²°- νλμ ν둬ννΈμμ μμ°¨ λꡬ μ¬μ© μ λ
- μ€ν λ‘κ·Έμ μ΅μ’ κ²°κ³Όλ₯Ό νμΌλ‘ λ¨κ²¨ μ±κ³΅ νμ
μ 체 νλ¦
flowchart TD A[νκ²½ νμ±ν] --> B[λ©ν° ν΄ μμ΄μ νΈ μ½λ μμ±] B --> C[ν둬ννΈ μ€ν] C --> D[tool call λ‘κ·Έ νμΈ] D --> E[κ²°κ³Ό νμΌ μ μ₯] E --> F{μ±κ³΅ νμ } F -->|Yes| G[μ¬ν μλ£] F -->|No| H[ν둬ννΈ/ν ν°/ν¨ν€μ§ μ κ²]
μ¬μ μ€λΉ
λꡬ
- Python 3.10+
- ν°λ―Έλ
- Hugging Face Access Token
μ λ ₯κ°
HF_TOKEN- ν
μ€νΈ μ§λ¬Έ:
"Find 2 recent AI agent headlines, then estimate monthly visits if daily visits are 1200 and weekends are 30% lower. Answer in Korean with sources."
μ€μ΅ λ¨κ³
1) μμ ν΄λ μ΄λ + κ°μνκ²½ νμ±ν
cd hf-agents-ep01
source .venv/bin/activate2) μ€ν νμΌ μμ± (run_ep02.py)
from smolagents import CodeAgent, DuckDuckGoSearchTool, PythonInterpreterTool, HfApiModel
model = HfApiModel(model_id="Qwen/Qwen2.5-Coder-32B-Instruct")
agent = CodeAgent(
tools=[DuckDuckGoSearchTool(), PythonInterpreterTool()],
model=model,
add_base_tools=True,
)
prompt = (
"Find 2 recent AI agent headlines, then estimate monthly visits "
"if daily visits are 1200 and weekends are 30% lower. "
"Answer in Korean with source links and show the calculation logic."
)
result = agent.run(prompt)
print(result)
with open("ep02_result.txt", "w", encoding="utf-8") as f:
f.write(str(result))3) μ€ν
python run_ep02.py | tee ep02_run.logμ±κ³΅ νμ (νμ 4κ°)
ep02_run.logμ κ²μ κ΄λ ¨ tool call νμ μ΄ μλ€.- κ³μ°(νμΌ/μ£Όλ§ κ°μ€μΉ) μ€λͺ μ΄ νκ΅μ΄λ‘ ν¬ν¨λλ€.
- κ²°κ³Όμ μΆμ² λ§ν¬κ° 2κ° μ΄μ ν¬ν¨λλ€.
ep02_result.txtνμΌμ΄ μμ±λκ³ λΉμ΄μμ§ μλ€.
μ΄λ³΄μ 체ν¬ν¬μΈνΈ
ImportErrorκ° λλ©΄pip install -U smolagents duckduckgo-search litellmμ¬μ€ν401/403μ΄λ©΄echo $HF_TOKENμΌλ‘ ν ν° μ€μ νμΈ- κ²°κ³Ό ν¬λ§·μ΄ λΆμμ νλ©΄ ν둬ννΈ λμ
"λ²νΈ λͺ©λ‘ 1~2λ‘ μΆλ ₯"κ°μ νμ μ μ½μ μΆκ°
μ€λ¬΄ μ μ© ν¬μΈνΈ
- μ΄ ν¨ν΄μ μ½ν μΈ λ¦¬μμΉ + κ°λ¨ μμΉ μΆμ μλνμ λ°λ‘ μΈ μ μλ€.
- νΉν aiee.app μ΄μμμλ βκ·Όκ±° λ§ν¬ + κ³μ° κ·Όκ±°βλ₯Ό ν¨κ» λ¨κΈ°λ©΄ νΈμ§ κ²μ μκ°μ΄ μ€μ΄λ λ€.
- λ€μ νΈμμλ μμ΄μ νΈ μΆλ ₯ μ€ν€λ§(JSON) κ°μ λ‘ νμ²λ¦¬ νμ΄νλΌμΈμ μ°κ²°νλ€.
μμ±ν AI νμ© κ³ μ§
μ΄ λ¬Έμλ μμ±ν AIλ₯Ό νμ©ν΄ μ΄μμ μμ±νμΌλ©°, μ¬λμ΄ μ€μ΅ μ¬νμ±(λͺ λ Ή/μ λ ₯/μ±κ³΅ νμ )κ³Ό μ€λ¬΄ μ μ©μ±μ κ²μν΄ νμ νλ€.