Maison > Périphériques technologiques > IA > Construire des outils personnalisés pour les agents d'IA à l'aide de smolagents

Construire des outils personnalisés pour les agents d'IA à l'aide de smolagents

Lisa Kudrow
Libérer: 2025-03-21 11:17:10
original
195 Les gens l'ont consulté

Les LLM révolutionnent divers domaines, allant au-delà des chatbots Web pour s'intégrer dans les entreprises et le gouvernement. Une progression importante est la création d'outils personnalisés pour les agents de l'IA utilisant smolagents , élargissant leurs capacités. smolagents permettent aux agents de l'IA d'utiliser des outils, d'effectuer des actions dans des environnements définis et même d'interagir avec d'autres agents.

Cette approche améliore l'autonomie des systèmes AI alimentée par LLM, améliorant leur fiabilité pour l'exécution complète des tâches de bout en bout.

Objectifs d'apprentissage

  • Comprendre les agents de l'IA, leur distinction des LLM traditionnels et leur rôle dans les applications d'IA modernes avec des outils personnalisés.
  • Explorez pourquoi les agents d'IA nécessitent des outils personnalisés pour l'accès aux données en temps réel, l'exécution de l'action et l'amélioration de la prise de décision.
  • Acquérir une expérience pratique dans l'intégration et le déploiement d'agents d'IA à l'aide smolagents pour des scénarios du monde réel.
  • Apprenez à créer et à intégrer des outils personnalisés pour améliorer les fonctionnalités des agents AI à l'aide de smolagents .
  • Master l'hébergement et l'interaction avec un agent d'IA utilisant vos outils personnalisés, créant une expérience de chatbot plus interactive et intelligente.

* Cet article fait partie du *** Data Science Blogathon.

Table des matières

  • Condition préalable
  • Comprendre les agents dans l'IA génératrice
  • Flux de travail d'agent
  • Composants d'un agent d'IA
  • La nécessité des outils
  • La bibliothèque smolagents
  • Notre base de code
  • Construire notre premier outil
  • Étape finale: déploiement
  • Résumé
  • Questions fréquemment posées

Condition préalable

Ce tutoriel cible les développeurs intermédiaires et les professionnels des données familiers avec les LLM de base. Ce qui suit est supposé:

  • Compétences intermédiaires de programmation Python.
  • Utilisation LLM de base dans le code.
  • Connaissance de l'écosystème Genai.
  • Compréhension fondamentale de la plate-forme face à l'étreinte et de la bibliothèque transformers à Python.

Contexte supplémentaire recommandé pour un apprentissage optimal:

  • Expérience avec des bibliothèques LLM comme Langchain ou Olllama.
  • Connaissances de base de la théorie de l'apprentissage automatique.
  • Utilisation de l'API et résolution de problèmes avec les réponses API.

Comprendre les agents dans l'IA génératrice

Envisagez Chatgpt: il répond aux questions, écrit du code, etc. Cette capacité s'étend à l'achèvement des tâches - vous fournissez une demande et exécute toute la tâche.

Par exemple, un LLM peut rechercher le Web et la raison; En combinant, il peut créer un itinéraire de voyage. Vous pourriez demander: "Planifiez des vacances à l'Himachal Pradesh du 1er au 7 avril, en vous concentrant sur la neige, le ski, les voies de courbe et les paysages verts. Trouvez les vols les moins chers depuis Kolkata."

L'IA comparerait ensuite les coûts de vol, suggérait des emplacements et trouverait des hôtels, démontrant une approche agentique dans l'IA.

Flux de travail d'agent

Un agent utilise un LLM qui interagit avec le monde externe uniquement à travers du texte.

Construire des outils personnalisés pour les agents d'IA à l'aide de smolagents

L'agent reçoit la entrée sous forme de texte, les raisons utilisant le langage et la sortie du texte. Les outils sont cruciaux ici, fournissant des valeurs que l'agent utilise pour générer sa réponse textuelle. Les actions peuvent aller des transactions de marché à la génération d'images.

Construire des outils personnalisés pour les agents d'IA à l'aide de smolagents

Le flux de travail est: comprendre -> Raison -> Interagir, ou plus largement: pensée -> Action -> Observation.

Composants d'un agent d'IA

Un agent d'IA comprend:

  • Le "cerveau" de l'agent (un LLM comme Llama3, Phi4 ou GPT4).
  • Outils externes que l'agent peut invoquer (API, autres agents, calculatrices, etc.).

smolagents vous permet de créer n'importe quelle fonction Python avec un LLM réglé pour l'appel de fonction. Notre exemple comprendra des outils pour les faits pour chiens, la récupération du fuseau horaire et la génération d'images, en utilisant un Qwen LLM.

La nécessité des outils

Les LLM ne sont plus des outils de complétion textuelle. Ce sont des composants dans des systèmes plus grands, nécessitant souvent des entrées de pièces d'IA non génératives.

Construire des outils personnalisés pour les agents d'IA à l'aide de smolagents

Les outils comblent l'écart entre Genai et d'autres composants système. Les LLM ont des limites:

  • Dates de coupure des connaissances.
  • Hallucinations.
  • Refus imprévisible de répondre.
  • Choix de recherche Web sous-optimaux.

Les outils déterministes résolvent ces problèmes.

La bibliothèque smolagents

smolagents (visage étreint) sont un cadre pour les agents de construction. Contrairement à certaines bibliothèques qui sortent JSON, smolagents publie directement du code Python, améliorant l'efficacité.

Notre base de code

Le référentiel GitHub contient:

  • Gradio_UI.py : code d'interface utilisateur Gradio pour l'interaction utilisateur.
  • agent.json : configuration de l'agent.
  • requirements.txt : dépendances du projet.
  • prompts.yaml : exemple invites et réponses (en utilisant des modèles Jinja).
  • app.py : la logique d'application de base.

Construire notre premier outil

Nous utiliserons une API Dog Facts ( https://www.php.cn/link/0FEAF58E2A12936C84C2510541B6E75A ). Pour faire fonctionner un Python utilisable par l'agent AI:

  • Utilisez le décorateur @tool .
  • Écrivez un docstring clair.
  • Ajoutez des annotations de type.
  • Assurez-vous une valeur de retour claire.
  • Inclure de nombreux commentaires.
 @outil
def get_amazing_dog_fact () -> str:
    "" "Remplace un fait de chien aléatoire d'une API publique." ""
    # ... (Gestion des appels API et des erreurs) ...
Copier après la connexion

Un outil de fuseau horaire:

 @outil
def get_current_time_in_timezone (Timezone: str) -> str:
    "" "Obtient l'heure actuelle dans un fuseau horaire spécifié." ""
    # ... (manipulation du fuseau horaire) ...
Copier après la connexion

Un outil de génération d'images peut également être intégré:

 image_generation_tool = load_tool ("Agents-Course / Text-to-Image", Trust_Remote_Code = TRUE)
Copier après la connexion

Le modèle QWEN2.5-CODER-32B-INSTRUCT est utilisé (nécessite une application pour l'accès):

 modèle = hfapimodel (
    max_tokens = 2096,
    température = 0,5,
    Model_id = 'qwen / qwen2.5-coder-32b-instruct',
    # ...
)
Copier après la connexion

Les invites sont chargées à partir d' prompts.yaml . L'agent est créé:

 agent = codeagent (
    modèle = modèle,
    outils = [get_amazing_dog_fact, get_current_time_in_timezone, image_generation_tool],
    # ...
)
Copier après la connexion

L'argument tools répertorie les fonctions disponibles.

Étape finale: déploiement

L'agent peut être déployé sur des espaces de visage étreintes.

Résumé

Les agents de l'IA améliorent les capacités LLM grâce à l'intégration des outils, à l'augmentation de l'autonomie et à l'achat de tâches complexes. smolagents simplifie la création d'agents et les outils personnalisés étendent les fonctionnalités au-delà des LLM standard. Le déploiement sur des plates-formes telles que les espaces de visage étreintes facilite le partage et l'interaction faciles.

Questions fréquemment posées

Q1. Qu'est-ce qu'un agent d'IA? Un agent AI est un système alimenté par LLM interagissant avec des outils pour effectuer des tâches.

Q2. Pourquoi les outils personnalisés sont-ils nécessaires? Ils permettent l'accès aux données en temps réel, l'exécution des commandes et les actions au-delà des capacités LLM.

Q3. Qu'est-ce que smolagents ? Un cadre de visage étreint pour la création d'agents d'IA à l'aide d'outils personnalisés.

Q4. Comment créer des outils personnalisés? Définissez les fonctions, décorez avec @tool et intégrez-vous dans l'agent.

Q5. Où déployer? Des plates-formes comme les espaces de visage étreintes.

(Remarque: les images sont supposées être incluses comme dans l'entrée d'origine.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal