Membuat Agen dengan Alat

Agen AI dengan Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Membuat Agen Kode (Tanpa Alat)

from smolagents import CodeAgent, InferenceClientModel

agent = CodeAgent(
    tools=[],
    model=InferenceClientModel()
)

agent.run("Hitung rata-rata dari daftar [23, 45, 67, 89]")
Menjalankan kode yang diurai:
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Jawaban akhir: 56.0
[Langkah 1: Durasi 4.14 detik| Token input: 1,900 | Token output: 109]
56.0
Agen AI dengan Hugging Face smolagents

Mengapa Menggunakan Alat dengan Agen Kode?

Agen yang kita definisikan sudah dapat menyelesaikan banyak tugas menggunakan:

  • Model LLM
  • Kode Python

Namun, mungkin juga memerlukan akses ke informasi eksternal:

  • Contoh: data web langsung

Di sinilah alat berperan!

Agen AI dengan Hugging Face smolagents

Menambahkan Alat Pencarian Web

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
Agen AI dengan Hugging Face smolagents

Output Agen Kode dengan Alat Pencarian Web

agent.run("Apa gedung tertinggi di dunia saat ini?")
Menjalankan kode yang diurai:
  tallest_building_info = web_search("gedung tertinggi di dunia 2023")                                
  print(tallest_building_info)                                                                                

# Hasil pencarian dihilangkan untuk ringkasan...

Menjalankan kode yang diurai: 
  final_answer("Burj Khalifa, Dubai, 828 meter")                                                              
Jawaban akhir: Burj Khalifa, Dubai, 828 meter
[Langkah 2: Durasi 2.97 detik| Token input: 5,078 | Token output: 153]
Burj Khalifa, Dubai, 828 meter
Agen AI dengan Hugging Face smolagents

Alat Bawaan (berdasarkan Kategori)

Kategori Alat
Pencarian Informasi ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Interaksi Web VisitWebpageTool
Eksekusi Kode PythonInterpreterTool
Interaksi Pengguna UserInputTool
Pemrosesan Ucapan SpeechToTextTool
Kontrol Alur Kerja FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
Agen AI dengan Hugging Face smolagents

Alat dari Hugging Face Hub

Agen AI dengan Hugging Face smolagents

Menggunakan Alat Komunitas dari Hugging Face

from smolagents import load_tool

# Memuat alat dari Hugging Face
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Membuat agen dengan alat bawaan + jarak jauh
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Temukan model klasifikasi gambar yang paling banyak diunduh di Hugging Face")
google/vit-base-patch16-224-in21k
Agen AI dengan Hugging Face smolagents

Ayo berlatih!

Agen AI dengan Hugging Face smolagents

Preparing Video For Download...