Lucrul cu agenți multi-pas

Agenți AI cu Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agenți AI cu Hugging Face smolagents

Exemplu: asistent de călătorie

Agenți AI cu Hugging Face smolagents

Intervale de planificare: ajutați agenții să regândească

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    planning_interval=3,
    max_steps=12
)
  • planning_interval=3: Agentul face pauză după fiecare 3 pași.
Agenți AI cu Hugging Face smolagents

Rularea agentului cu intervale de planificare

„Planificați o vacanță de 2 săptămâni în Europa pentru o familie, cu situri istorice pentru adulți și activități distractive pentru copii, cu un buget sub 5.000 $."

[Pasul 1] Căutare „hoteluri Paris" -> Hoteluri de lux găsite (~4.000 $ total)

[Pasul 2] Căutare „atracții Paris pentru familii" -> Turnul Eiffel, Luvru, bilete parc tematic

[Pasul 3] Pauză și regândire (interval de planificare) Hotelurile sunt prea scumpe -> bugetul depășit. Caut opțiuni mai ieftine + activități pentru copii.

[Pasul 4] Căutare „hoteluri de familie accesibile în Europa" -> Opțiuni mid-range găsite în mai multe orașe

Agenți AI cu Hugging Face smolagents

Callback-uri: puncte de intrare în procesul agentului

Agenți AI cu Hugging Face smolagents

Funcție de callback de bază

def callback_function(agent_step, agent):
    # Do something with the agent step or the agent itself
    pass
  • agent_step: detalii despre pas (plan, număr de pas etc.)
  • agent: obiectul complet al agentului (stare + metode)
Agenți AI cu Hugging Face smolagents

Callback-uri pentru pasul de planificare

def planning_callback(agent_step, agent):
    print("AGENT PLANNING")
    print("=" * 50)
    print(agent_step.plan[:300])
    if len(agent_step.plan) > 300:
        print("\n... (plan truncated)")
    print("=" * 50)
AGENT PLANNING
==================================================
Search affordable hotels + kid activities
Then create balanced itinerary...
... (plan truncated)
==================================================
Agenți AI cu Hugging Face smolagents

Callback-uri pentru pasul de acțiune

def action_callback(agent_step, agent):
    step_num = agent_step.step_number
    print(f"Step {step_num}: Taking action")

    if agent_step.is_final_answer:
        total_tokens = agent_step.token_usage.total_tokens
        print(f"Total tokens used: {total_tokens}")
Step 2: Taking action!
Step 3: Taking action!
Step 4: Taking action!
Total tokens used: 4,218
Agenți AI cu Hugging Face smolagents

Adăugarea callback-urilor la agenți

from smolagents import ActionStep, PlanningStep

agent = CodeAgent(
    tools=[document_search_tool],
    model=model,
    step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Agenți AI cu Hugging Face smolagents

Ce se poate face cu callback-urile?

  • Înregistrați căutările pentru a înțelege ce caută utilizatorii
  • Adăugați puncte de aprobare umană
  • Trimiteți actualizări de progres către tablouri de bord sau aplicații
  • Ajustați comportamentul agentului în timpul execuției
  • Și altele...
Agenți AI cu Hugging Face smolagents

Să exersăm!

Agenți AI cu Hugging Face smolagents

Preparing Video For Download...