Smolagents: Framework AI Agent Ringan dari HuggingFace

# Smolagents: Framework AI Agent Ringan dari HuggingFace ## Pendahuluan Smolagents adalah framework AI agent yang ringan dan minimalis dari HuggingFace, dirancang untuk membangun AI agents dengan pe...

By Ruby Abdullah · · tutorial
SmolagentsHuggingFaceAI AgentCode AgentPython

Smolagents: Framework AI Agent Ringan dari HuggingFace

Pendahuluan

Smolagents adalah framework AI agent yang ringan dan minimalis dari HuggingFace, dirancang untuk membangun AI agents dengan pendekatan code-first. Berbeda dengan framework agent lain yang cenderung kompleks dan heavy, Smolagents fokus pada kesederhanaan sambil tetap menyediakan fitur-fitur powerful seperti multi-step reasoning, custom tool creation, dan multi-agent orchestration.

Framework ini sangat cocok untuk developer yang ingin membangun AI agents tanpa overhead yang berlebihan. Smolagents menggunakan pendekatan unik dimana agent menghasilkan kode Python sebagai "aksi" alih-alih menggunakan format JSON yang kaku, membuat agent lebih fleksibel dan expressive.

Dalam tutorial ini, kita akan mempelajari cara menggunakan Smolagents mulai dari instalasi, memahami tipe agent, membuat custom tools, hingga membangun research agent yang dapat mencari informasi di web, memproses data, dan menghasilkan laporan.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Python 3.10 atau lebih baru
  • pip package manager
  • API key dari HuggingFace, OpenAI, atau Anthropic
  • Pemahaman dasar Python dan konsep AI/LLM

Instalasi

Instalasi Dasar

# Instal smolagents

pip install smolagents

Instal dengan dependensi tambahan untuk semua fitur

pip install smolagents[all]

Atau instal dependensi spesifik

pip install smolagents[openai] # Untuk OpenAI

pip install smolagents[anthropic] # Untuk Anthropic

pip install smolagents[gradio] # Untuk Gradio UI

pip install smolagents[telemetry] # Untuk monitoring

Verifikasi Instalasi

import smolagents

print(f"Smolagents version: {smolagents.version}")

Test basic import

from smolagents import CodeAgent, HfApiModel

print("Import successful!")

Setup Environment Variables

# Untuk HuggingFace

export HFTOKEN="hfyourtokenhere"

Untuk OpenAI

export OPENAIAPIKEY="sk-your-key-here"

Untuk Anthropic

export ANTHROPICAPIKEY="sk-ant-your-key-here"

CodeAgent vs ToolCallingAgent

Smolagents menyediakan dua tipe agent utama yang memiliki pendekatan berbeda dalam menyelesaikan tugas.

CodeAgent

CodeAgent menghasilkan dan mengeksekusi kode Python sebagai aksinya. Ini adalah tipe agent yang direkomendasikan karena lebih fleksibel dan efisien.

from smolagents import CodeAgent, HfApiModel

Inisialisasi model

model = HfApiModel(modelid="Qwen/Qwen2.5-Coder-32B-Instruct")

Buat CodeAgent

agent = CodeAgent(

tools=[], # Tanpa tools tambahan

model=model,

maxsteps=5

)

Jalankan agent

result = agent.run("Hitung rata-rata dari angka berikut: 15, 28, 42, 37, 56")

print(result)

Keunggulan CodeAgent:

  • Menghasilkan kode Python yang bisa melakukan komputasi kompleks
  • Lebih efisien karena bisa menggabungkan beberapa operasi dalam satu langkah
  • Mendukung variabel dan logic flow
  • Output lebih mudah di-debug

ToolCallingAgent

ToolCallingAgent menggunakan format tool calling standar (mirip function calling di OpenAI). Agent ini memanggil tools satu per satu dalam format JSON.

from smolagents import ToolCallingAgent, HfApiModel

Inisialisasi model

model = HfApiModel(modelid="Qwen/Qwen2.5-Coder-32B-Instruct")

Buat ToolCallingAgent

agent = ToolCallingAgent(

tools=[],

model=model,

maxsteps=5

)

Jalankan agent

result = agent.run("Berapa hasil dari 25 48?")

print(result)

Kapan menggunakan ToolCallingAgent:

  • Ketika model yang digunakan lebih baik dalam tool calling daripada code generation
  • Ketika Anda membutuhkan kontrol yang lebih ketat atas aksi yang dilakukan agent
  • Ketika integrasi dengan sistem existing yang menggunakan tool calling format

Built-in Tools

Smolagents menyediakan beberapa tools bawaan yang siap digunakan.

Web Search Tool

from smolagents import CodeAgent, HfApiModel, DuckDuckGoSearchTool

Inisialisasi search tool

searchtool = DuckDuckGoSearchTool()

Artikel Terkait