๐ค 01. HF Agents Course ๋ณธํธ 1 - smolagents ๋น ๋ฅธ ์์
์ ์ด๊ฑธ ๋จผ์ ํ๋
HF Agents Course์ ํต์ฌ์ **โLLM + ๋๊ตฌ + ์คํ ๋ฃจํโ**๋ฅผ ์ค์ ๋ก ๋๋ ค๋ณด๋ ๊ฒ์ด๋ค. 1ํธ์์๋ ๊ฐ์ฅ ๊ฐ๋ณ๊ฒ smolagents๋ก ์ฌํํ๋ค.
์ค๋ ์ค์ต ๋ชฉํ
- Python ํ๊ฒฝ ์ค๋น
smolagents์ค์น- ์น ๊ฒ์ ๋๊ตฌ๋ฅผ ๋ถ์ธ CodeAgent 1ํ ์คํ
- ์ฑ๊ณต/์คํจ ํ์ ๊ธฐ์ค์ผ๋ก ์ฌํ ํ์ธ
์ ์ฒด ํ๋ฆ
flowchart TD A[ํ๊ฒฝ ์ค๋น] --> B[ํจํค์ง ์ค์น] B --> C[HF ํ ํฐ ์ค์ ] C --> D[CodeAgent + Tool ๊ตฌ์ฑ] D --> E[์ง๋ฌธ ์คํ] E --> F{์ฑ๊ณต ํ์ } F -->|Yes| G[๊ฒฐ๊ณผ ๊ธฐ๋ก] F -->|No| H[์ค๋ฅ ๋ก๊ทธ ์ ๊ฒ ํ ์ฌ์คํ]
์ฌ์ ์ค๋น
๋๊ตฌ
- Python 3.10+
- ํฐ๋ฏธ๋
- Hugging Face ๊ณ์ + Access Token
์ ๋ ฅ๊ฐ
HF_TOKEN: Hugging Face User Access Token- ์ค์ต ์ง๋ฌธ:
"Summarize today's top 3 AI agent news in Korean."
์ค์ต ๋จ๊ณ
1) ์์ ํด๋์ ๊ฐ์ํ๊ฒฝ ์์ฑ
mkdir -p hf-agents-ep01 && cd hf-agents-ep01
python -m venv .venv
source .venv/bin/activate
python -V2) ํจํค์ง ์ค์น
pip install -U smolagents duckduckgo-search litellm3) ํ ํฐ ์ค์
export HF_TOKEN="์ฌ๊ธฐ์_ํ ํฐ"4) ์คํ ํ์ผ ์์ฑ (run_ep01.py)
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel
model = HfApiModel(model_id="Qwen/Qwen2.5-Coder-32B-Instruct")
agent = CodeAgent(
tools=[DuckDuckGoSearchTool()],
model=model,
add_base_tools=True,
)
prompt = "Summarize today's top 3 AI agent news in Korean. Include source links."
result = agent.run(prompt)
print(result)5) ์คํ
python run_ep01.py์ฑ๊ณต ํ์
์๋ 4๊ฐ๋ฅผ ๋ง์กฑํ๋ฉด ์ฑ๊ณต:
- ์คํ ์ค tool call(๊ฒ์) ํ์ ์ด ์ถ๋ ฅ๋๋ค.
- ํ๊ตญ์ด ์์ฝ์ด 3๊ฐ ํญ๋ชฉ์ผ๋ก ๋์จ๋ค.
- ๊ฐ ํญ๋ชฉ์ ์ถ์ฒ ๋งํฌ๊ฐ ํฌํจ๋๋ค.
- ์๋ฌ ์์ด ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๋ค(์ข ๋ฃ์ฝ๋ 0).
์์ฃผ ๋งํ๋ ์ง์
401/403:HF_TOKEN๋๋ฝ ๋๋ ๊ถํ ๋ฌธ์ ModuleNotFoundError: ๊ฐ์ํ๊ฒฝ ๋ฏธํ์ฑํ- ์๋ต ์ง์ฐ: ๋ชจ๋ธ ํผ์ก ์๊ฐ๋์ผ ์ ์์ผ๋ ์ฌ์๋
์ค๋ฌด ์ ์ฉ ํฌ์ธํธ
- ์ด ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์จ์ ๋งค์ผ ๋ด์ค ์์ฝ ์๋ํ์ ์ต์ ๋จ์๋ก ์ธ ์ ์๋ค.
- ๋ค์ ํธ์์๋ ๋๊ตฌ๋ฅผ 2~3๊ฐ๋ก ๋๋ ค, ๊ฒ์ + ๊ณ์ฐ + ํฌ๋งทํ ์ฒด์ธ์ผ๋ก ํ์ฅํ๋ค.
์์ฑํ AI ํ์ฉ ๊ณ ์ง
์ด ๋ฌธ์๋ ์์ฑํ AI(LLM)๋ฅผ ํ์ฉํด ์ด์์ ์์ฑํ๊ณ , ์ฌ๋์ด ์ค์ต ๊ฐ๋ฅ์ฑ/์ ํ์ฑ/๊ตฌ์กฐ๋ฅผ ๊ฒ์ํด ์ ๋ฆฌํ๋ค.