Pengantar Agentic RAG

Agen AI dengan Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentic RAG: Pengambilan + Penalaran Iteratif

Agen AI dengan Hugging Face smolagents

Alat Tanpa Status vs. Dengan Status di smolagents

Alat Fungsi (@tool decorator)

  • Tanpa status: tidak ada memori antar panggilan
  • Tidak dapat mengingat penyimpanan vektor Anda antar panggilan

Alat Berbasis Kelas (Tool subclass)

  • Dengan status: menyimpan referensi antar panggilan
  • Menyimpan objek kompleks
Agen AI dengan Hugging Face smolagents

Anatomi Alat Berbasis Kelas

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_parameters
def forward(self, parameter_name): # Agen memanggil metode ini return "processed output"
Agen AI dengan Hugging Face smolagents

Membangun Alat Pencarian Resep

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 = k
def 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."
Agen AI dengan Hugging Face smolagents

Agen Asisten Memasak: Menggabungkan Semuanya

# 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
)
Agen AI dengan Hugging Face smolagents

Contoh Jalankan Agen

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:

  • Panggang sisi kulit ke bawah, olesi dengan mentega, bawang putih, thyme
  • Atau panggang pada 200°C dengan mentega lemon & rempah selama 10 hingga 12 menit"
Agen AI dengan Hugging Face smolagents

Ayo berlatih!

Agen AI dengan Hugging Face smolagents

Preparing Video For Download...