Construisez facilement des agents IA autonomes avec GPT-4o

Dans cet article de blog, découvrez comment construire facilement de puissants agents IA autonomes avec GPT-4 à l'aide du cadre Fi-data. Apprenez à créer des agents avancés avec une mémoire à long terme, des connaissances contextuelles et la capacité d'effectuer des actions par le biais d'appels de fonction. Optimisez vos systèmes IA pour l'efficacité et la productivité.

22 février 2025

party-gif

Découvrez la puissance de la construction d'agents IA autonomes avec GPT-4o ! Ce billet de blog vous guidera à travers le processus de création facile d'assistants intelligents capables de relever une grande variété de tâches, des recherches web à l'analyse financière et à l'exploration de données. Déverrouillez le potentiel des modèles de langage de pointe et ouvrez de nouvelles possibilités pour vos projets.

Comment construire des agents IA autonomes avec GPT-4

Dans cette section, nous allons explorer comment construire des systèmes d'IA autonomes complexes qui ont une mémoire à long terme, des connaissances contextuelles et la capacité d'effectuer des actions à partir d'appels de fonction. Nous utiliserons le cadre Fi-data, qui offre un moyen puissant de créer une assistance IA autonome avec des appels de fonction.

Tout d'abord, nous créerons un assistant de base sans aucun outil. Cet assistant utilisera le modèle GPT-4, qui est l'un des meilleurs modèles du marché actuellement. Nous pourrons ensuite ajouter des fonctionnalités supplémentaires à l'assistant, comme la capacité de rechercher sur le web à l'aide de l'outil Duco.

Ensuite, nous construirons un assistant financier qui pourra accéder à divers outils comme Yahoo Finance pour obtenir les cours des actions, les recommandations, les informations sur les entreprises et les actualités. Nous démontrerons ensuite comment construire vos propres outils personnalisés, en utilisant l'API Hacker News comme exemple.

Enfin, nous explorerons des assistants plus complexes, comme un assistant d'analyse de données qui pourra utiliser DuckDB pour analyser les données dans les fichiers CSV et Parquet, et un assistant de recherche qui pourra utiliser Exa pour rechercher sur le web et générer un rapport dans un format spécifié.

Tout au long du processus, nous insisterons sur l'importance de la concision et de la concentration, en veillant à ce que le contenu soit facile à comprendre et à mettre en œuvre. Le code de ces exemples peut être trouvé dans le référentiel Fi-data, et les étapes pour configurer l'environnement sont fournies dans le fichier README.

Construire un assistant de base

Pour construire un assistant de base, nous devons d'abord importer les composants nécessaires de la bibliothèque fidata. Nous utiliserons la classe LLMAssistant pour créer notre assistant.

from fidata.assistants.llm_assistant import LLMAssistant
from fidata.llms.openai import OpenAIChat

Ensuite, nous créerons une instance de la classe LLMAssistant, en passant le modèle de langage GPT-4 d'OpenAI comme paramètre llm.

assistant = LLMAssistant(llm=OpenAIChat(model_name="gpt-4"))

Maintenant, nous pouvons définir la description et les instructions pour notre assistant. Elles seront utilisées pour définir le prompt système pour le modèle de langage.

description = "Vous êtes un assistant utile chargé de fournir une recette de petit-déjeuner simple."
instructions = "Fournissez une recette de petit-déjeuner concise."

Enfin, nous pouvons appeler la méthode run de l'objet assistant, en passant la description et les instructions. Cela exécutera l'assistant et renverra la réponse.

response = assistant.run(description=description, instructions=instructions)
print(response)

Cela affichera une simple recette de petit-déjeuner générée par le modèle de langage GPT-4.

Ajouter des fonctionnalités de recherche sur le Web

Pour ajouter la fonctionnalité de recherche web à notre assistant IA, nous importerons l'outil Duco du module f_tools. Cet outil permet à l'assistant de rechercher sur le web et de récupérer les informations pertinentes.

Tout d'abord, nous ajoutons l'outil Duco à notre assistant :

from f_tools.duco import Duco
assistant.add_tool(Duco())

Ensuite, nous définissons le paramètre show_tool_calls sur True afin de pouvoir voir les appels d'outils qui se produisent en coulisses.

Nous donnons ensuite à l'assistant une tâche de recherche d'actualités de France et d'écriture d'un court poème à ce sujet :

assistant.run_task("Recherchez les actualités de France et écrivez un court poème à ce sujet.")

Comme vous pouvez le voir, l'assistant utilise l'outil Duco pour récupérer les actualités de France, puis génère un court poème en fonction des informations qu'il a rassemblées. Cela montre comment l'assistant peut tirer parti des capacités de recherche web pour rassembler des informations et les utiliser pour accomplir des tâches.

Créer un assistant financier

Pour créer un assistant financier, nous utiliserons l'outil Yahoo Finance de la bibliothèque F-tools. Cet outil fournit un accès à diverses données et fonctions financières, comme l'obtention des cours des actions, des informations sur les entreprises, des recommandations et des actualités.

Tout d'abord, nous importerons les outils nécessaires :

from f_tools.yahoo_finance import YahooFinance

Ensuite, nous créerons l'assistant financier et ajouterons les outils souhaités :

finance_assistant = Assistant(model=gpt4, name="Assistant Financier")
finance_assistant.add_tool(YahooFinance(
    get_stock_price=True,
    get_recommendations=True,
    get_company_info=True,
    get_company_news=True
))

Dans cet exemple, nous activons les fonctions get_stock_price, get_recommendations, get_company_info et get_company_news de l'outil Yahoo Finance.

Maintenant, nous pouvons donner à l'assistant des tâches à effectuer, comme obtenir le cours d'une action et rédiger une comparaison entre deux entreprises :

finance_assistant.run_task("Quel est le cours de l'action Nvidia ?")
finance_assistant.run_task("Rédigez une comparaison entre Nvidia et AMD en utilisant tous les outils disponibles.")

L'assistant utilisera les outils fournis pour rassembler les informations nécessaires et générer une réponse complète, qui sera renvoyée au format Markdown pour une meilleure lisibilité.

Cet assistant financier peut être davantage personnalisé en ajoutant d'autres outils, en ajustant les configurations des outils ou en modifiant les instructions des tâches pour répondre à vos besoins spécifiques.

Construire des outils personnalisés

L'une des principales caractéristiques du cadre Fi data est la possibilité de construire des outils personnalisés qui peuvent être intégrés dans vos agents IA. Cela vous permet d'étendre les capacités de vos agents au-delà des outils par défaut fournis, et de les adapter à vos besoins spécifiques.

Dans la vidéo, le créateur montre comment construire un outil personnalisé pour accéder à l'API Hacker News. Voici comment procéder :

  1. Décrivez la fonction qui sera utilisée pour interagir avec l'API, y compris les arguments et les valeurs de retour.
  2. Ajoutez la fonction à l'assistant Fi data, en fournissant la description et en spécifiant les paramètres d'entrée/sortie.
  3. Utilisez l'outil personnalisé dans les tâches de l'assistant, comme les outils par défaut.

La vidéo montre également comment activer le mode débogage, qui fournit des journaux détaillés des processus internes de l'assistant. Cela peut être très utile pour le dépannage ou la compréhension de la manière dont l'outil personnalisé est utilisé.

Dans l'ensemble, la possibilité de construire des outils personnalisés est une fonctionnalité puissante du cadre Fi data, vous permettant de créer des agents IA hautement spécialisés et autonomes adaptés à vos besoins spécifiques.

Analyser les données avec DuckDB

Cette section montre comment l'assistant peut tirer parti de l'outil DuckDB pour analyser les données dans les fichiers CSV et Parquet. L'assistant démontre les capacités suivantes :

  1. Charge automatiquement les données dans des tables lorsque les tables n'existent pas.
  2. Exécute des requêtes SQL pour obtenir la note moyenne des films et génère un histogramme des notes.
  3. Choisit une taille de compartiment appropriée pour l'histogramme en fonction des données.
  4. Affiche les requêtes SQL et les visualisations résultantes de manière claire et concise.

La capacité de l'assistant à intégrer DuckDB et à présenter les résultats de l'analyse est un témoignage de la puissance du cadre démontré. Cette section met en évidence la façon dont l'assistant peut être doté de capacités d'analyse de données pour relever une grande variété de tâches.

Générer un rapport de recherche

L'assistant a pour mission de rédiger un rapport de recherche sur le sujet d'OpenGPT-4. Il suit ces étapes :

  1. Recherche sur le web à l'aide de l'outil Exa pour trouver les 10 principaux liens pertinents sur OpenGPT-4.
  2. Lit attentivement les résultats de la recherche.
  3. Prépare un article bien formaté selon la structure demandée :
    • Plan sommaire
    • Rapport détaillé couvrant les points clés sur OpenGPT-4
  4. Enregistre le rapport final dans un fichier Markdown nommé "news_article.md".

L'assistant démontre sa capacité à :

  • Mener des recherches web et rassembler les informations pertinentes
  • Synthétiser les résultats dans un rapport structuré et bien rédigé
  • Formater le rapport en Markdown pour une meilleure lisibilité
  • Enregistrer la sortie dans un fichier comme demandé

Cela illustre les capacités de recherche de l'assistant, ses compétences en traitement du langage naturel et sa capacité à suivre les instructions pour produire un livrable de haute qualité.

FAQ