Créer un agent avec des outils

Agents IA avec Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Créer un agent de code (sans outils)

from smolagents import CodeAgent, InferenceClientModel

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

agent.run("Calculer la moyenne de la liste [23, 45, 67, 89]")
Exécution du code analysé :
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Réponse finale : 56.0
[Étape 1 : Durée 4,14 secondes| Jetons d'entrée : 1 900 | Jetons de sortie : 109]
56.0
Agents IA avec Hugging Face smolagents

Pourquoi utiliser des outils avec des agents de code ?

L'agent que nous avons défini peut déjà résoudre de nombreuses tâches en utilisant :

  • Un modèle LLM
  • Du code Python

Mais il peut aussi avoir besoin d'accéder à des informations externes :

  • Exemple : données web en direct

C'est là que les outils interviennent !

Agents IA avec Hugging Face smolagents

Ajouter un outil de recherche Web

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
Agents IA avec Hugging Face smolagents

Agent de code avec sortie de l'outil de recherche Web

agent.run("Quel est le plus haut bâtiment du monde actuellement ?")
Exécution du code analysé :
  tallest_building_info = web_search("tallest building in the world 2023")                                
  print(tallest_building_info)                                                                                

# Résultats de recherche omis pour la concision...

Exécution du code analysé : 
  final_answer("Burj Khalifa, Dubaï, 828 mètres")                                                              
Réponse finale : Burj Khalifa, Dubaï, 828 mètres
[Étape 2 : Durée 2,97 secondes| Jetons d'entrée : 5 078 | Jetons de sortie : 153]
Burj Khalifa, Dubaï, 828 mètres
Agents IA avec Hugging Face smolagents

Outils intégrés (par catégorie)

Catégorie Outils
Recherche d'information ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Interaction Web VisitWebpageTool
Exécution de code PythonInterpreterTool
Interaction utilisateur UserInputTool
Traitement de la parole SpeechToTextTool
Contrôle de flux FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
Agents IA avec Hugging Face smolagents

Outils du Hub Hugging Face

Agents IA avec Hugging Face smolagents

Utiliser les outils communautaires de Hugging Face

from smolagents import load_tool

# Charger un outil distant depuis Hugging Face
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Créer un agent avec des outils distants + intégrés
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Trouver le modèle de classification d'images le plus téléchargé sur Hugging Face")
google/vit-base-patch16-224-in21k
Agents IA avec Hugging Face smolagents

Passons à la pratique !

Agents IA avec Hugging Face smolagents

Preparing Video For Download...