Dans cet article, vous verrez ce qui suit :
- Ce qu’est Agno et ce qui le rend spécial en tant que cadre d’agent d’IA.
- Pourquoi le fait de l’intégrer à des outils de recherche de données rend vos agents d’IA beaucoup plus puissants.
- Comment combiner Agno avec les outils Bright Data pour créer des agents capables de récupérer des données en direct.
Plongeons dans l’aventure !
Qu’est-ce qu’Agno ?
Agno est un framework Python open-source pour la construction d’agents d’intelligence artificielle légers et de systèmes multi-agents. Il est doté d’un support intégré pour la mémoire, l’intégration des connaissances, le raisonnement avancé, etc.
Ce qui rend Agno unique, ce sont les aspects suivants :
- Indépendant du modèle: Offre une interface unifiée à plus de 23 fournisseurs de LLM.
- Haute performance: Les agents sont instanciés en environ 3 microsecondes, en utilisant seulement ~6,5 KiB de mémoire en moyenne.
- Leraisonnement en tant que citoyen de première classe: L’accent est mis sur le raisonnement pour améliorer la fiabilité de l’agent et gérer les tâches difficiles. Il prend en charge trois approches de raisonnement : les modèles de raisonnement, les outils de raisonnement et les chaînes de pensée personnalisées.
- Multi-modalité native: Les agents peuvent traiter et générer du texte, des images, du son et de la vidéo dès le départ.
- Prise en charge des scénarios multi-agents: Construire des équipes collaboratives d’agents avec une mémoire partagée, un contexte et un raisonnement coordonné.
- Recherche agentique intégrée: Les agents peuvent effectuer des recherches dans plus de 20 bases de données vectorielles en cours d’exécution pour des flux de travail RAG agentiques de pointe.
- Mémoire intégrée et stockage des sessions: Les agents intègrent des pilotes de stockage et de mémoire, ce qui permet de disposer d’une mémoire à long terme et d’un suivi permanent des sessions.
- Sorties structurées: Renvoie des réponses entièrement typées.
En outre, Agno est livré avec un support intégré pour plus de 50 fournisseurs d’outils d’IA tiers. Cela signifie que les agents d’IA créés avec Agno peuvent facilement s’intégrer à certaines des meilleures solutions d’IA du marché.
Les agents d’IA doivent avoir accès aux données Web pour être précis et efficaces
Chaque cadre d’agent d’IA hérite des principales limitations des LLM sur lesquels il s’appuie. Étant donné que la plupart des LLM sont préformés sur des ensembles de données statiques, ils ne sont pas conscients du temps réel et ne peuvent pas accéder de manière fiable à des contenus web en direct.
Cela conduit souvent à des réponses périmées, voire à des hallucinations. Pour surmonter ces limitations, les agents (et, pour les extensions, les LLM sur lesquels ils s’appuient) ont besoin d’accéder à des données web fiables. Pourquoi des données web en particulier ? Parce que le web est la source d’information la plus complète qui soit.
Par conséquent, un moyen efficace d’y parvenir est de donner aux agents d’Agno la possibilité d’effectuer des recherches en direct et de récupérer le contenu de n’importe quelle page web. C’est possible grâce aux outils Bright Data d’Agno!
Ces outils sont intégrés de manière native dans Agno et permettent aux agents d’accéder à une large suite d’outils de données web prêts pour l’IA. Les fonctionnalités comprennent le web scraping, l’extraction de données SERP, des capacités de capture d’écran et l’accès à des flux de données au format JSON provenant de plus de 40 sites bien connus.
Comment intégrer les outils de récupération de données Bright dans un agent Agno ?
Dans cette section, vous apprendrez à utiliser Agno pour construire un agent d’intelligence artificielle Python qui peut se connecter aux outils Bright Data. Ces derniers doteront votre agent de la capacité de récupérer des données à partir de n’importe quelle page et d’extraire des résultats de moteurs de recherche à jour.
Suivez les étapes ci-dessous pour créer votre agent Bright Data-powered AI dans Agno !
Conditions préalables
Pour suivre ce tutoriel, assurez-vous d’avoir les éléments suivants :
- Python 3.7 ou supérieur installé localement (la dernière version est recommandée).
- Une clé d’API de Bright Data.
- Une clé API pour un fournisseur LLM supporté (ici, nous utiliserons OpenAI, mais n’importe quel fournisseur supporté fonctionnera).
Ne vous inquiétez pas si vous n’avez pas encore de clé d’API Bright Data, car nous vous aiderons à en créer une dans les étapes suivantes.
Étape 1 : Configuration du projet
Ouvrez un terminal et créez un nouveau dossier pour votre agent Agno AI avec récupération de données alimentée par Bright Data :
mkdir agno-bright-data-agent
Le dossier agno-bright-data-agent
contiendra tout le code Python de votre agent IA.
Ensuite, accédez au dossier du projet et créez un environnement virtuel à l’intérieur de celui-ci :
cd agno-bright-data-agent
python -m venv venv
Ouvrez maintenant le dossier du projet dans votre IDE Python préféré. Nous recommandons Visual Studio Code (avec l’extension Python) ou PyCharm Community Edition.
Créez un nouveau fichier nommé agent.py
dans le dossier du projet. La structure de votre projet devrait maintenant ressembler à ceci :
agno-bright-data-agent/
├── venv/
└── agent.py
Activez l’environnement virtuel dans votre terminal. Sous Linux ou macOS, exécutez cette commande :
source venv/bin/activate
De manière équivalente, sous Windows, lancez :
venv/Scripts/activate
Dans les étapes suivantes, vous serez guidé dans l’installation des dépendances requises. Si vous préférez tout installer maintenant, exécutez la commande suivante dans l’environnement virtuel activé :
pip install agno python-dotenv openai requests
Note: Nous installons openai
parce que ce tutoriel utilise OpenAI comme fournisseur LLM. Si vous prévoyez d’utiliser un autre LLM, installez plutôt la bibliothèque appropriée pour ce fournisseur.
Vous êtes prêt ! Vous disposez maintenant d’un environnement de développement Python prêt à construire un agent d’IA à l’aide des outils Agno et Bright Data.
Étape 2 : Configurer les variables d’environnement Lecture
Votre agent Agno interagira avec des services tiers tels que OpenAI et Bright Data via l’intégration d’API. Pour le faire en toute sécurité, vous ne devez pas coder en dur les clés d’API directement dans votre code Python. Au lieu de cela, stockez-les en tant que variables d’environnement.
Pour simplifier le chargement des variables d’environnement, utilisez la bibliothèque python-dotenv
. Une fois votre environnement virtuel activé, installez-le en exécutant :
pip install python-dotenv
Ensuite, dans votre fichier agent.py
, importez la bibliothèque et chargez les variables d’environnement à l’aide de la fonction load_dotenv() :
from dotenv import load_dotenv
load_dotenv()
Cette fonction permet à votre script de lire les variables d’un fichier .env
local. Créez un fichier .env
à la racine du dossier de votre projet :
agno-bright-data-agent/
├── venv/
├── .env # <-------------
└── agent.py
C’est parfait ! Vous êtes maintenant prêt à gérer en toute sécurité les secrets d’intégration de tiers à l’aide de variables d’environnement.
Étape 3 : Démarrer avec Bright Data
A ce jour, les outils Bright Data intégrés à Agno permettent d’accéder à ces solutions :
- API SERP: Une API qui fournit des résultats de recherche en temps réel de tous les principaux moteurs de recherche.
- API Web Unlocker: Une API de scraping avancée qui contourne les protections sophistiquées des robots, vous donnant accès à n’importe quelle page web (au format Markdown, qui est optimisé pour l’utilisation par l’IA).
- Web Scraper APIs: Points d’accès dédiés au scraping pour l’extraction éthique de données web fraîches et structurées à partir de plusieurs domaines populaires.
Pour intégrer les outils susmentionnés, vous devez :
- Configurez les solutions SERP API et Web Unlocker dans votre compte Bright Data.
- Récupérez votre clé API Bright Data pour accéder à ces services.
Suivez les instructions ci-dessous pour faire les deux !
Tout d’abord, si vous n’avez pas encore de compte Bright Data, commencez par en créer un. Si vous en avez déjà un, connectez-vous et ouvrez votre tableau de bord :
Cliquez sur le bouton “Get proxy products”, qui vous mènera à la page “Proxies & Scraping Infrastructure” :
Dans ce cas, vous pouvez voir que l’API SERP et l’API Web Unlocker sont déjà activées et prêtes à être utilisées. Leurs noms de zone sont respectivement serp
et unblocker
.
Si ce n’est pas le cas, vous devez les créer. Nous allons voir comment créer une zone API Web Unlocker, mais le processus est similaire pour la création d’une zone API SERP.
Faites défiler vers le bas et cliquez sur “Créer une zone” sur la carte “Web Unlocker API” :
Donnez un nom à votre zone (par exemple débloqueur
), activez les fonctions avancées pour une efficacité maximale et cliquez sur “Ajouter” :
Vous serez alors redirigé vers la page de la zone, qui se présente comme suit :
Assurez-vous que le commutateur d’activation est réglé sur “Actif”, car cela signifie que votre zone est correctement configurée et prête à être utilisée.
Ensuite, suivez le guide officiel de Bright Data pour générer votre clé API. Une fois que vous l’avez, ajoutez-la à votre fichier .env
comme ceci :
BRIGHT_DATA_API_KEY="<YOUR_BRIGHT_DATA_API_KEY>"
Remplacez le par la valeur réelle de votre clé API.
Merveilleux ! Il est temps d’intégrer les outils de Bright Data dans votre script d’agent Agno.
Étape 4 : Installer et configurer les outils de données Agno Bright
Dans votre dossier de projet, avec l’environnement virtuel activé, installez Agno en exécutant :
pip install agno
Remarque: le paquet agno
comprend déjà une prise en charge intégrée des outils Bright Data, de sorte qu’aucun paquet spécifique à l’intégration n’est nécessaire pour cette configuration.
Puisque les outils Bright Data reposent sur la bibliothèque de requêtes
Python, veillez à l’installer également :
pip install requests
Dans votre fichier agent.py
, importez les outils Bright Data d’Agno :
from agno.tools.brightdata import BrightDataTools
Initialiser ensuite les outils de cette manière :
bright_data_tools = BrightDataTools(
serp_zone="YOUR_SERP_ZONE_NAME",
web_unlocker_zone="YOUR_UNLOCKER_ZONE_NAME"
)
Remplacez "YOUR_SERP_ZONE_NAME"
et "YOUR_UNLOCKER_ZONE_NAME"
par les noms des zones Bright Data que vous avez configurées précédemment. Par exemple, si vos zones sont nommées serp
et unlocker
, le code sera le suivant :
bright_data_tools = BrightDataTools(
serp_zone="serp",
web_unlocker_zone="unlocker"
)
Notez que vous pouvez également ne pas passer les noms de zones directement dans le code. A la place, utilisez les variables d’environnement suivantes dans votre fichier .env :
BRIGHT_DATA_WEB_UNLOCKER_ZONE="<YOUR_BRIGHT_DATA_WEB_UNLOCKER_ZONE>"
BRIGHT_DATA_SERP_ZONE="<YOUR_BRIGHT_DATA_SERP_ZONE>"
Remplacez les caractères de remplacement par les noms réels de vos zones Bright Data. Ensuite, supprimez les arguments serp_zone
et web_unlocker_zone
dans BrightDataTools
,
Remarque: pour se connecter aux solutions Bright Data, BrightDataTools
s’appuie sur la variable d’environnement BRIGHT_DATA_API_KEY
. Plus précisément, il s’attend à ce que la variable BRIGHT_DATA_API_KEY
env contienne votre clé d’API Bright Data. C’est pourquoi nous l’avons ajoutée au fichier .env
dans l’étape précédente.
C’est incroyable ! La prochaine intégration est celle du LLM.
Étape n° 5 : Mise en place du modèle LLM
Pour se connecter à OpenAI – le fournisseur LLM utilisé dans ce tutoriel – commencez par installer la dépendance openai
requise :
pip install openai
Ensuite, importez la classe d’intégration OpenAI d’Agno :
from agno.models.openai import OpenAIChat
Initialisez maintenant votre modèle LLM comme suit :
llm_model = OpenAIChat(id="gpt-4o-mini")
Ci-dessus, "gpt-4o-mini"
est le nom du modèle OpenAI utilisé dans ce guide. Vous pouvez le remplacer par n’importe quel autre modèle OpenAI pris en charge si nécessaire.
Dans les coulisses, OpenAIChat s’attend à ce que votre clé d’API OpenAI soit définie dans une variable d’environnement nommée OPENAI_API_KEY
. Pour la configurer, ajoutez la ligne suivante à votre fichier .env :
OPENAI_API_KEY="<YOUR_OPENAI_API_KEY>"
Remplacez le par votre clé d’API OpenAI.
Note: Si vous préférez vous connecter à un autre LLM pris en charge par Agno, reportez-vous à la documentation officielle pour obtenir des instructions.
Bravo ! Vous disposez maintenant de tous les éléments nécessaires à la création d’un agent Agno doté de capacités de recherche de données sur le web.
Étape 6 : Créer l’agent
Dans votre fichier agent.py
, définissez votre agent :
agent = Agent(
tools=[bright_data_tools],
show_tool_calls=True,
model=llm_model,
)
Cela crée un agent Agno qui utilise le modèle LLM configuré pour traiter les entrées des utilisateurs et qui a accès aux outils Bright Data pour la récupération des données. L’option show_tool_calls=True
est utile pour comprendre ce qui se passe, car elle affiche les outils utilisés par l’agent pour traiter la demande.
N’oubliez pas d’importer la classe Agent
d’Agno :
from agno.agent import Agent
Fantastique ! L’intégration Agno + Bright Data est terminée. Il ne vous reste plus qu’à envoyer une requête à votre agent pour la voir à l’œuvre.
Étape 7 : Interroger l’agent à l’aide de Bright Data Tools
Vous pouvez maintenant interagir avec votre agent Agno AI en utilisant les deux lignes de code suivantes :
prompt = "Search for AAPL news"
agent.print_response(prompt, markdown=True)
La première ligne définit l’invite, qui décrit la tâche ou la question que vous voulez que votre agent traite. La deuxième ligne l’exécute et imprime sa sortie.
L’option markdown=True
garantit que la réponse est formatée en Markdown, ce qui est idéal pour un résultat lisible et adapté à l’IA.
Remarque: vous pouvez essayer n’importe quelle requête, mais “Rechercher des informations sur AAPL” est un excellent point de départ pour tester la fonctionnalité d’extraction des données SERP.
Étape n° 8 : Assembler le tout
Ceci devrait être le code final de votre fichier agent.py :
from dotenv import load_dotenv
from agno.tools.brightdata import BrightDataTools
from agno.models.openai import OpenAIChat
from agno.agent import Agent
# Load the environment variables from the .env file
load_dotenv()
# Configure the Bright Data tools for Agno integration
bright_data_tools = BrightDataTools(
serp_zone="serp", # Replace with your SERP API zone name
web_unlocker_zone="unlocker" # Replace with your Web Unlocker API zone name
)
# The LLM that will be used by the AI agent
llm_model = OpenAIChat(id="gpt-4o-mini")
# The definition of your Agno agent, with Bright Data tools
agent = Agent(
tools=[bright_data_tools],
show_tool_calls=True, # Useful for understanding what happens behind the scenes
model=llm_model,
)
# Run a task in the AI agent
prompt = "Search for AAPL news"
agent.print_response(prompt, markdown=True)
En moins de 30 lignes de code, vous venez de construire un agent d’intelligence artificielle capable d’extraire des données de n’importe quelle page web et d’effectuer des recherches en temps réel sur les principaux moteurs de recherche. C’est la puissance d’Agno en tant que framework complet pour la construction d’agents d’intelligence artificielle !
Étape n° 9 : Exécuter votre agent Agno
Il est temps de faire fonctionner votre agent Agno AI. Dans votre terminal, lancez-le avec :
python agent.py
Vous verrez une sortie animée dans le terminal, montrant que l’agent est en train de traiter l’invite “Search for AAPL news”. Une fois le traitement terminé, l’agent produira un résultat comme celui-ci :
La production comprend
- L’invite que vous avez soumise.
- L’outil utilisé par l’agent pour réaliser la tâche. Dans ce cas, il a utilisé la fonction
search_engine()
des outils Bright Data pour accéder à Google via l’API SERP et récupérer des informations en temps réel sur l’action AAPL. - Une réponse au format Markdown générée par le modèle OpenAI sur la base des données récupérées.
Remarque: le résultat contient des nouvelles en direct avec des liens cliquables, grâce au formatage Markdown. De plus, certains articles sont très récents et n’ont été publiés que quelques heures avant l’exécution de l’invite.
Allons un peu plus loin. Supposons que vous souhaitiez obtenir un résumé de l’un des articles d’actualité récupérés. Il vous suffit de mettre à jour l’invite :
prompt = """
Give me a summary of the following news in around 150 words.
NEWS URL:
https://www.msn.com/en-us/money/other/apple-inc-aapl-to-introduce-new-parental-controls-to-protect-kids-and-teens-online/ar-AA1HdVd6
"""
agent.print_response(prompt, markdown=True)
Cette fois, le résultat ressemblera à ceci :
Dans ce cas, l’agent a utilisé un outil différent : scrape_as_markdown()
, qui se connecte à l’API Web Unlocker. Cet outil récupère le contenu de la page web au format Markdown et le transmet au LLM pour qu’il le résume.
Et voilà ! Vous venez de faire l’expérience d’une récupération et d’un traitement transparents des données dans votre agent d’intelligence artificielle, grâce aux outils Bright Data et à Agno.
Prochaines étapes
L’agent IA que vous avez construit avec Agno dans ce tutoriel n’est qu’un point de départ. En détail, nous n’avons fait qu’effleurer la surface de ce qui est possible. Pour faire avancer votre projet, envisagez les étapes suivantes :
- Ajoutez un magasin de connaissances: Améliorez votre agent en récupérant des données Web à l’aide des outils Bright Data et en les stockant dans la base de données vectorielle intégrée d’Agno. Cela permet d’avoir une mémoire à long terme et de soutenir le RAG de l’agent.
- Activer la mémoire et le raisonnement de l’agent: Dotez votre agent d’une mémoire et d’un raisonnement en plusieurs étapes afin qu’il puisse apprendre, réfléchir et prendre des décisions éclairées. Cela permet de mettre en œuvre des modèles avancés, tels que l’architecture d’agent populaire ReAct (Reasoning + Acting).
- Créez une interface utilisateur pour une interaction simplifiée: Ajoutez une interface utilisateur pour offrir une expérience de type ChatGPT, ouvrant la voie à des conversations plus naturelles avec votre agent IA.
Pour plus d’idées et d’intégrations avancées, consultez la documentation officielle d’Agno.
Conclusion
Dans cet article, vous avez appris à utiliser Agno pour créer un agent d’intelligence artificielle doté de capacités d’extraction de données en temps réel à l’aide des outils Bright Data. Cette intégration permet à votre agent d’accéder au contenu web public à partir de sites web et de moteurs de recherche.
N’oubliez pas que ce que vous avez vu ici n’est qu’un simple exemple. Si vous souhaitez créer des agents plus avancés, vous aurez besoin de solutions pour récupérer, valider et transformer les données Web en direct. C’est précisément ce que vous trouverez dans l’infrastructure AI de Bright Data.
Créez un compte Bright Data gratuit et commencez à expérimenter avec nos outils de données prêts pour l’IA !