Agen AI dengan Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp

Alat Fungsi (@tool decorator)
Alat Berbasis Kelas (Tool subclass)
from smolagents import Tool class ToolName(Tool): name = "tool_name"description = "Deskripsi jelas untuk agen"inputs = { "parameter_name": {"type": "parameter_type", "description": "Tujuan parameter"} } output_type = "string"def __init__(self, custom_parameters): super().__init__() self.custom_attribute = custom_parametersdef forward(self, parameter_name): # Agen memanggil metode ini return "processed output"
class RecipeSearchTool(Tool): name = "recipe_search" description = "Cari dokumentasi memasak untuk resep, teknik, dan informasi perencanaan makanan" inputs = { "query": {"type": "string", "description": "Kueri memasak dalam bahasa alami"} } output_type = "string"def __init__(self, vectorstore, k=6): super().__init__() self.vectorstore = vectorstore self.k = kdef forward(self, query): docs = self.vectorstore.similarity_search(query, k=self.k) return "\n\n".join(doc.page_content for doc in docs) or "Tidak ditemukan."
# Inisialisasi alat pencarian
recipe_search = RecipeSearchTool(vector_store)
agent = CodeAgent(
tools=[recipe_search],
model=model,
instructions="Cari secara menyeluruh untuk memberikan jawaban resep yang lengkap.
Jika hasil awal tampak tidak lengkap, coba istilah pencarian lain.",
verbosity_level=1,
max_steps=8
)
Pertanyaan: Bagaimana cara memasak salmon dengan rempah menggunakan teknik profesional?
[Langkah 1] Cari "teknik memasak salmon rempah"...
[Langkah 2] Cari "persiapan salmon profesional"...
[Jawaban Akhir]
"Keringkan fillet, bumbui dengan rempah, dan:
Agen AI dengan Hugging Face smolagents