Agents IA avec Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp

Outils Fonctionnels (décorateur @tool)
Outils Basés sur des Classes (sous-classe Tool)
from smolagents import Tool class ToolName(Tool): name = "tool_name"description = "Description claire pour l'agent"inputs = { "parameter_name": {"type": "parameter_type", "description": "But du paramètre"} } output_type = "string"def __init__(self, custom_parameters): super().__init__() self.custom_attribute = custom_parametersdef forward(self, parameter_name): # L'agent appelle cette méthode return "processed output"
class RecipeSearchTool(Tool): name = "recipe_search" description = "Rechercher des documents culinaires pour des recettes, techniques et informations de planification de repas" inputs = { "query": {"type": "string", "description": "Requête culinaire en langage naturel"} } 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 "Rien trouvé."
# Initialiser l'outil de recherche
recipe_search = RecipeSearchTool(vector_store)
agent = CodeAgent(
tools=[recipe_search],
model=model,
instructions="Recherchez minutieusement pour fournir des réponses complètes aux recettes.
Si les résultats initiaux semblent incomplets, essayez d'autres termes de recherche.",
verbosity_level=1,
max_steps=8
)
Requête : Comment cuisiner du saumon aux herbes avec des techniques professionnelles ?
[Étape 1] Recherchez "techniques de cuisson saumon herbes"...
[Étape 2] Recherchez "préparation professionnelle saumon"...
[Réponse Finale]
"Séchez les filets, assaisonnez avec des herbes, et :
Agents IA avec Hugging Face smolagents