๋ชฉํ
HF Agents Course ๋ด์ฉ์ ๊ธฐ์ค์ผ๋ก, smolagents CodeAgent + 2๊ฐ ํด(Web ๊ฒ์/๊ณ์ฐ๊ธฐ) ์กฐํฉ์ ์ค์ตํ ๋ฏธ๋ ํ๋ก์ ํธ๋ฅผ ์ฌํํ๋ค.
์ค์ต ์๋๋ฆฌ์ค
์ง๋ฌธ: 2025๋
๋
ธ๋ฒจ ๋ฌผ๋ฆฌํ์ ์์์ ์์ ๊ฐ ์์ ๊ตญ๊ฐ๋ฅผ ์์ฝํด์ค
์์ด์ ํธ๋ ์น ๊ฒ์์ผ๋ก ์ฌ์ค ์์ง ํ ๊ณ์ฐ๊ธฐ ํด๋ก ๊ฒ์ฆ(๊ฐ์ ์ฐ์ถ)ํ์ฌ ๋ตํ๋ค.
flowchart TD A[User Question] --> B[CodeAgent] B --> C[WebSearch Tool] C --> B B --> D[Calculator Tool] D --> B B --> E[Final Answer + Evidence]
์ค๋น๋ฌผ
- Python 3.10+
- Hugging Face ๊ณ์ +
HF_TOKEN - ํจํค์ง:
smolagents,duckduckgo-search
๋จ๊ณ๋ณ ์ค์ต
1) ์์ ํด๋/๊ฐ์ํ๊ฒฝ
- ๋๊ตฌ: ํฐ๋ฏธ๋
- ์ ๋ ฅ:
mkdir -p hf-agents-lab-01 && cd hf-agents-lab-01
python -m venv .venv
source .venv/bin/activate
pip install -U pip- ์ฑ๊ณต ํ์ : ํ๋กฌํํธ์
(.venv)ํ์
2) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
- ๋๊ตฌ: ํฐ๋ฏธ๋
- ์ ๋ ฅ:
pip install smolagents duckduckgo-search- ์ฑ๊ณต ํ์ : ์ค์น ์๋ฌ ์์ด ์ข ๋ฃ
3) ํ ํฐ ์ค์
- ๋๊ตฌ: ํฐ๋ฏธ๋
- ์ ๋ ฅ:
export HF_TOKEN="hf_xxx"- ์ฑ๊ณต ํ์ :
echo $HF_TOKEN | cut -c1-6์ถ๋ ฅ์ hf_ ์ ๋์ฌ ํ์ธ
4) ์คํ ์ฝ๋ ์์ฑ
- ๋๊ตฌ: ์๋ํฐ
- ํ์ผ:
run_lab01.py
from smolagents import CodeAgent, DuckDuckGoSearchTool, PythonInterpreterTool, InferenceClientModel
model = InferenceClientModel(model_id="Qwen/Qwen2.5-Coder-32B-Instruct")
agent = CodeAgent(
tools=[DuckDuckGoSearchTool(), PythonInterpreterTool()],
model=model,
add_base_tools=False,
)
question = "2025๋
๋
ธ๋ฒจ ๋ฌผ๋ฆฌํ์ ์์์ ์์ ๊ฐ ์์ ๊ตญ๊ฐ๋ฅผ ์์ฝํด์ค. ์ถ์ฒ๋ ํจ๊ป ์ ์ด์ค."
result = agent.run(question)
print(result)- ์ฑ๊ณต ํ์ : ํ์ผ ์ ์ฅ ์๋ฃ
5) ์คํ
- ๋๊ตฌ: ํฐ๋ฏธ๋
- ์ ๋ ฅ:
python run_lab01.py- ์ฑ๊ณต ํ์ :
- ๋ต๋ณ์ ์์์ ์(์ ์) ํฌํจ
- ๊ตญ๊ฐ ์์ฝ ํฌํจ
- ์ถ์ฒ URL/๋ช ์นญ ํฌํจ
๊ฒ์ฆ ์ฒดํฌ๋ฆฌ์คํธ
- ๊ฒ์ ๊ฒฐ๊ณผ ๊ธฐ๋ฐ ์ธ์ฉ์ด ํฌํจ๋์๋๊ฐ?
- ์์์ ์๋ฅผ ๊ณ์ฐ/๊ฒ์ฆํ๋๊ฐ?
- ๋ต๋ณ์ด ํ๊ตญ์ด๋ก ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌ๋์๋๊ฐ?
ํธ๋ฌ๋ธ์ํ (3+)
-
401 Unauthorized๋๋ ๋ชจ๋ธ ํธ์ถ ์คํจ- ์์ธ:
HF_TOKEN๋๋ฝ/๋ง๋ฃ - ์กฐ์น:
echo $HF_TOKENํ์ธ ํ ์ฌ๋ฐ๊ธ/์ฌ์ค์
- ์์ธ:
-
ModuleNotFoundError: smolagents- ์์ธ: venv ๋ฏธํ์ฑํ ๋๋ ์ค์น ์คํจ
- ์กฐ์น:
source .venv/bin/activate && pip install smolagents
-
๊ฒ์ ๋๊ตฌ๊ฐ ๋น ๊ฒฐ๊ณผ ๋ฐํ
- ์์ธ: ๋คํธ์ํฌ/์ฟผ๋ฆฌ ๊ณผ๋ ์ถ์ฝ
- ์กฐ์น: ์ง๋ฌธ์ ์๋ฌธ ํค์๋๋ก ๋ณด๊ฐ(์:
Nobel Prize in Physics 2025 laureates)
-
์คํ์ ๋์ง๋ง ๋ต์ด ๋ถ์์ ํจ
- ์์ธ: ๊ฒ์ ๊ทผ๊ฑฐ ๋ถ์กฑ/๋ชจํธ ์ง์
- ์กฐ์น: ํ๋กฌํํธ์
์ถ์ฒ 2๊ฐ ์ด์, ๋ชจ๋ฅด๋ฉด ๋ชจ๋ฅธ๋ค๊ณ ๋ต์ ์ฝ ์ถ๊ฐ
ํ์ฅ ๊ณผ์
- ๋์ผ ์ง๋ฌธ์ ์์ด/ํ๊ตญ์ด ํ๋กฌํํธ๋ก ๋น๊ต
- ํด ํธ์ถ ๋ก๊ทธ๋ฅผ ์ ์ฅํด ์ฌํ์ฑ ์ ๊ฒ
- ๋ณธํธ 4์ ToolCallingAgent๋ก ๋์ผ ๊ณผ์ ์ฌ๊ตฌํ
์์ฑํ AI ํ์ฉ ๊ณ ์ง
์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์ด์์ ์์ฑํ๊ณ , ๊ณต์ ๋ฌธ์/์ ์ฅ์ ๋งํฌ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋์ด ๊ฒํ ยท๋ณด์ํ์ต๋๋ค.