smolagents documentation
smolagents
smolagents

smolagents란 무엇인가요?
smolagents
는 단 몇 줄의 코드만으로 에이전트를 구축하고 실행할 수 있도록 설계된 오픈소스 Python 라이브러리입니다.
smolagents
의 주요 특징:
✨ 단순함: 에이전트 로직이 약 천 줄의 코드로 구현되어 있습니다. 코드 위에 불필요한 복잡한 구조를 추가하지 않고 단순하게 만들었습니다!
🧑💻 코드 에이전트의 완전한 지원: CodeAgent
는 도구 호출이나 계산 수행을 위해 직접 코드를 작성합니다 (“코드 작성용 에이전트”와는 반대 개념). 이를 통해 함수 중첩, 루프, 조건문 등을 자연스럽게 조합할 수 있습니다. 보안을 위해 E2B나 Docker를 통한 샌드박스 환경 실행을 지원합니다.
📡 기본 도구 호출 에이전트 지원: CodeAgent 외에도 ToolCallingAgent
는 일반적인 JSON/텍스트 기반 도구 호출 방식이 필요한 경우를 위해 지원됩니다.
🤗 Hub 통합: Gradio Spaces로 에이전트와 도구를 Hub에서 원활하게 공유하고 로드할 수 있습니다.
🌐 모델 독립적: Hub의 Inference providers나 OpenAI, Anthropic 등의 API를 통해 접근하거나, LiteLLM 통합으로 다양한 LLM을 쉽게 연결할 수 있습니다. Transformers나 Ollama를 사용한 로컬 실행도 가능합니다. 원하는 LLM으로 에이전트를 구동하는 것이 간단하고 유연합니다.
👁️ 모달리티 독립적: 텍스트뿐만 아니라 비전, 비디오, 오디오 입력도 처리할 수 있어 활용 가능한 애플리케이션 범위가 확장됩니다. 비전 관련 튜토리얼을 확인해보세요.
🛠️ 도구 독립적: MCP 서버의 도구나 LangChain의 도구를 사용할 수 있고, Hub Space도 도구로 활용할 수 있습니다.
💻 CLI 도구: 보일러플레이트 코드 작성 없이 에이전트를 빠르게 실행할 수 있는 명령줄 유틸리티(smolagent, webagent)가 포함되어 있습니다.
빠른 시작
smolagents를 단 몇 분 만에 시작해보세요! 이 가이드는 첫 번째 에이전트를 생성하고 실행하는 방법을 보여줍니다.
설치
pip으로 smolagents를 설치하세요:
pip install smolagents[toolkit] # 웹 검색과 같은 기본 도구 포함
첫 에이전트 만들기
다음은 에이전트를 생성하고 실행하는 최소한의 예제입니다:
from smolagents import CodeAgent, InferenceClientModel
# 모델 초기화 (Hugging Face Inference API 사용)
model = InferenceClientModel() # 기본 모델 사용
# 도구 없이 에이전트 생성
agent = CodeAgent(tools=[], model=model)
# 작업으로 에이전트 실행
result = agent.run("Calculate the sum of numbers from 1 to 10")
print(result)
끝입니다! 에이전트가 Python 코드를 사용하여 작업을 해결하고 결과를 반환합니다.
도구 추가
몇 가지 도구를 추가하여 에이전트를 더 강력하게 만들어보겠습니다:
from smolagents import CodeAgent, InferenceClientModel, DuckDuckGoSearchTool
model = InferenceClientModel()
agent = CodeAgent(
tools=[DuckDuckGoSearchTool()],
model=model,
)
# 이제 에이전트가 웹을 검색할 수 있습니다!
result = agent.run("What is the current weather in Paris?")
print(result)
다른 모델 사용하기
에이전트와 함께 다양한 모델을 사용할 수 있습니다:
# Hugging Face의 특정 모델 사용
model = InferenceClientModel(model_id="meta-llama/Llama-2-70b-chat-hf")
# OpenAI/Anthropic 사용 (smolagents[litellm] 필요)
from smolagents import LiteLLMModel
model = LiteLLMModel(model_id="gpt-4")
# 로컬 모델 사용 (smolagents[transformers] 필요)
from smolagents import TransformersModel
model = TransformersModel(model_id="meta-llama/Llama-2-7b-chat-hf")
다음 단계
- 설치 가이드에서 다양한 모델과 도구로 smolagents를 설정하는 방법을 알아보세요
- 더 고급 기능은 안내서를 확인하세요
- 커스텀 도구 구축에 대해 알아보세요
- 안전한 코드 실행을 살펴보세요
- 멀티 에이전트 시스템 생성 방법을 확인하세요