smolagents documentation

smolagents

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.23.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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")

다음 단계

Update on GitHub