Smolagents de l'étreinte Face: une bibliothèque Python rationalisée pour construire des agents AI
Cet article de blog présente Smolagents, une nouvelle bibliothèque Python de Hugging Face qui simplifie le développement d'agents AI. Nous allons explorer ses avantages et parcourir un projet de démonstration.
Qu'est-ce que Smolagents?
Le visage étreint décrit les smolagents comme une bibliothèque simple permettant aux agents du modèle de langue. Mais pourquoi les bibliothèques spécialisées sont-elles nécessaires à la création d'agents?
Les agents tirent parti de LLMS pour résoudre dynamiquement les tâches en interagissant avec leur environnement, leur planification et leur exécution des actions à l'aide d'une boîte à outils définie. Bien que la construction de ces agents ne soit pas impossible à partir de zéro, il nécessite de développer de nombreux composants pour assurer une utilisation efficace des ressources (éviter les appels API excessifs et le temps d'exécution). Les cadres agentiques rationalisent ce processus.
Les critiques courantes des cadres d'agent d'agent d'IA comprennent des couches d'abstraction excessives (conduisant à des difficultés de rigidité et de débogage) et une concentration sur les flux de travail rigides plutôt que sur une collaboration dynamique. Smolagents répond à ces préoccupations:
Voyons si Smolagents est à la hauteur de sa promesse de développement d'agent d'aiguilles plug-and-play.
Projet de démonstration: Récupération du papier quotidien en haut voté à haut voté
Cette démo utilise des smolagents pour récupérer le papier le plus voté à partir de la page Daily Papers de l'étreinte. Nous allons construire des outils personnalisés et observer leur interaction.
Daily Papers: une ressource précieuse pour suivre les recherches récentes.
Configuration des smolagents
L'installation est simple:
pip install smolagents
Un jeton de visage étreint est requis.
Construire des outils personnalisés
Bien que Smolagents propose des outils intégrés (par exemple, DuckDuckGosearchTool), la création d'outils personnalisés est tout aussi simple. Notre démo utilise quatre outils:
get_hugging_face_top_daily_paper
: récupère le titre du meilleur papier quotidien. get_paper_id_by_title
: Obtient l'ID de papier en utilisant son titre. download_paper_by_id
: Télécharge le papier d'ArXiv en utilisant son id. read_pdf_file
: lit le fichier PDF téléchargé. La conception efficace des outils est cruciale pour le succès des agents. Pour assurer la clarté:
Voici l'exemple d'outil get_hugging_face_top_daily_paper
:
pip install smolagents
Les autres outils (get_paper_id_by_title
, download_paper_by_id
, read_pdf_file
) sont définis de manière similaire (en utilisant huggingface_hub
, arxiv
et pypdf
respectivement), suivant les mêmes meilleures pratiques.
exécuter l'agent
Nous utiliserons le modèle QWEN2.5-CODER-32B-INSTRUCT (gratuit à utiliser):
from smolagents import tool import requests from bs4 import BeautifulSoup import json @tool def get_hugging_face_top_daily_paper() -> str: """ Retrieves the most upvoted paper from Hugging Face daily papers. Returns the paper's title. """ try: url = "<https:>" # URL to Hugging Face Daily Papers response = requests.get(url) response.raise_for_status() soup = BeautifulSoup(response.content, "html.parser") containers = soup.find_all('div', class_='SVELTE_HYDRATER contents') top_paper = "" for container in containers: data_props = container.get('data-props', '') if data_props: try: json_data = json.loads(data_props.replace('"', '"')) if 'dailyPapers' in json_data: top_paper = json_data['dailyPapers'][0]['title'] except json.JSONDecodeError: continue return top_paper except requests.exceptions.RequestException as e: print(f"Error fetching HTML: {e}") return None</https:>
La sortie étape par étape de l'agent démontre son utilisation de l'outil. (Les captures d'écran de la sortie de l'agent dans les étapes 0, 1, 2 et 3 seraient incluses ici, montrant le processus de l'agent et le résumé final).
Conclusion
Smolagents propose un cadre léger et contrôlable pour le développement des agents d'IA. Son intégration de visage étreinte donne accès à une large gamme de modèles et d'outils. Bien que des outils intégrés supplémentaires soient bénéfiques, Smolagents tient efficacement sa promesse de base. Pour les développeurs à la recherche d'un cadre d'agent simple et épuré, Smolagents mérite d'être exploré.
(Liens vers l'introduction aux agents de l'IA, la compréhension des agents de l'IA, la documentation Smolagents et le référentiel Smolagents seraient inclus ici.)
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!