ai-agents-for-beginners

Explorer les frameworks d'agents IA

(Cliquez sur l’image ci-dessus pour voir la vidéo de cette leçon)

Explorer les frameworks d’agents IA

Les frameworks d’agents IA sont des plateformes logicielles conçues pour simplifier la création, le déploiement et la gestion des agents IA. Ces frameworks fournissent aux développeurs des composants préconstruits, des abstractions et des outils qui facilitent le développement de systèmes IA complexes.

Ces frameworks aident les développeurs à se concentrer sur les aspects uniques de leurs applications en proposant des approches standardisées aux défis courants du développement d’agents IA. Ils améliorent la scalabilité, l’accessibilité et l’efficacité dans la construction des systèmes IA.

Introduction

Cette leçon couvrira :

Objectifs d’apprentissage

Les objectifs de cette leçon sont de vous aider à comprendre :

Qu’est-ce que les frameworks d’agents IA et qu’est-ce qu’ils permettent aux développeurs de faire ?

Les frameworks IA traditionnels peuvent vous aider à intégrer l’IA dans vos applications et à les améliorer de la manière suivante :

Tout cela semble formidable, mais alors pourquoi avons-nous besoin du framework d’agents IA ?

Les frameworks d’agents IA représentent quelque chose de plus qu’un simple framework IA. Ils sont conçus pour permettre la création d’agents intelligents capables d’interagir avec les utilisateurs, d’autres agents et l’environnement afin d’atteindre des objectifs spécifiques. Ces agents peuvent adopter un comportement autonome, prendre des décisions et s’adapter aux conditions changeantes. Voici quelques capacités clés permises par les frameworks d’agents IA :

En résumé, les agents vous permettent d’en faire plus, d’amener l’automatisation à un niveau supérieur, de créer des systèmes plus intelligents capables de s’adapter et d’apprendre de leur environnement.

Comment prototyper rapidement, itérer, et améliorer les capacités de l’agent ?

Le domaine évolue rapidement, mais certains éléments sont communs à la plupart des frameworks d’agents IA qui peuvent vous aider à prototyper et itérer rapidement, notamment des composants modulaires, des outils collaboratifs et l’apprentissage en temps réel. Explorons cela :

Utiliser des composants modulaires

Des SDK comme le Microsoft Agent Framework offrent des composants préconstruits tels que des connecteurs IA, des définitions d’outils et la gestion des agents.

Comment les équipes peuvent utiliser cela : Les équipes peuvent assembler rapidement ces composants pour créer un prototype fonctionnel sans repartir de zéro, permettant une expérimentation et une itération rapides.

Comment cela fonctionne en pratique : Vous pouvez utiliser un parseur préconstruit pour extraire des informations des entrées utilisateur, un module mémoire pour stocker et récupérer des données, et un générateur de prompt pour interagir avec les utilisateurs, sans avoir besoin de créer ces composants vous-mêmes.

Exemple de code. Voyons un exemple d’utilisation du Microsoft Agent Framework avec FoundryChatClient pour que le modèle réponde aux demandes utilisateur via l’appel d’outils :

# Exemple Python du cadre Microsoft Agent

import asyncio
import os

from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


# Définir une fonction d'outil exemple pour réserver un voyage
@tool(approval_mode="never_require")
def book_flight(date: str, location: str) -> str:
    """Book travel given location and date."""
    return f"Travel was booked to {location} on {date}"


async def main():
    provider = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_agent(
        name="travel_agent",
        instructions="Help the user book travel. Use the book_flight tool when ready.",
        tools=[book_flight],
    )

    response = await agent.run("I'd like to go to New York on January 1, 2025")
    print(response)
    # Exemple de sortie : Votre vol pour New York le 1er janvier 2025 a été réservé avec succès. Bon voyage ! ✈️🗽


if __name__ == "__main__":
    asyncio.run(main())

Ce que vous voyez dans cet exemple, c’est comment vous pouvez exploiter un parseur préconstruit pour extraire des informations clés de la saisie utilisateur, telles que l’origine, la destination, et la date d’une demande de réservation de vol. Cette approche modulaire vous permet de vous concentrer sur la logique de haut niveau.

Exploiter les outils collaboratifs

Des frameworks comme le Microsoft Agent Framework facilitent la création de plusieurs agents pouvant travailler ensemble.

Comment les équipes peuvent utiliser cela : Les équipes peuvent concevoir des agents avec des rôles et tâches spécifiques, leur permettant de tester et affiner des workflows collaboratifs et d’améliorer l’efficacité globale du système.

Comment cela fonctionne en pratique : Vous pouvez créer une équipe d’agents où chaque agent remplit une fonction spécialisée, comme la récupération de données, l’analyse ou la prise de décision. Ces agents peuvent communiquer et partager des informations pour atteindre un objectif commun, comme répondre à une requête utilisateur ou accomplir une tâche.

Exemple de code (Microsoft Agent Framework) :

# Création de plusieurs agents qui travaillent ensemble en utilisant le Microsoft Agent Framework

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# Agent de récupération de données
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Agent d'analyse de données
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Exécuter les agents en séquence sur une tâche
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)

Ce que vous voyez dans le code précédent, c’est comment créer une tâche impliquant plusieurs agents collaborant afin d’analyser des données. Chaque agent exécute une fonction spécifique, et la tâche est réalisée en coordonnant les agents pour atteindre le résultat escompté. En créant des agents dédiés à des rôles spécialisés, vous améliorez l’efficacité et la performance des tâches.

Apprendre en temps réel

Les frameworks avancés offrent des capacités de compréhension contextuelle et d’adaptation en temps réel.

Comment les équipes peuvent utiliser cela : Les équipes peuvent mettre en place des boucles de rétroaction où les agents apprennent des interactions et ajustent dynamiquement leur comportement, conduisant à une amélioration continue et un affinement des capacités.

Comment cela fonctionne en pratique : Les agents peuvent analyser les retours utilisateurs, les données environnementales et les résultats des tâches pour mettre à jour leur base de connaissances, ajuster leurs algorithmes décisionnels et améliorer les performances au fil du temps. Ce processus d’apprentissage itératif permet aux agents de s’adapter aux conditions changeantes et aux préférences des utilisateurs, améliorant ainsi l’efficacité globale du système.

Quelles sont les différences entre Microsoft Agent Framework et Microsoft Foundry Agent Service ?

Il existe plusieurs façons de comparer ces approches, mais examinons quelques différences clés en termes de conception, capacités, et cas d’utilisation ciblés :

Microsoft Agent Framework (MAF)

Le Microsoft Agent Framework fournit un SDK simplifié pour construire des agents IA utilisant FoundryChatClient. Il permet aux développeurs de créer des agents exploitant les modèles Azure OpenAI avec appels d’outils intégrés, gestion des conversations et sécurité d’entreprise via l’identification Azure.

Cas d’utilisation : Construire des agents IA prêts pour la production avec utilisation d’outils, workflows multi-étapes, et scénarios d’intégration entreprise.

Voici quelques concepts fondamentaux importants du Microsoft Agent Framework :

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service est un ajout plus récent, présenté à Microsoft Ignite 2024. Il permet le développement et le déploiement d’agents IA avec des modèles plus flexibles, comme l’appel direct de LLM open source tels que Llama 3, Mistral, et Cohere.

Microsoft Foundry Agent Service offre des mécanismes renforcés de sécurité d’entreprise et des méthodes de stockage des données, ce qui le rend adapté aux applications d’entreprise.

Il fonctionne immédiatement avec le Microsoft Agent Framework pour construire et déployer des agents.

Ce service est actuellement en aperçu public et supporte Python et C# pour la création d’agents.

En utilisant le SDK Python Microsoft Foundry Agent Service, nous pouvons créer un agent avec un outil défini par l’utilisateur :

import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

# Définir les fonctions de l'outil
def get_specials() -> str:
    """Provides a list of specials from the menu."""
    return """
    Special Soup: Clam Chowder
    Special Salad: Cobb Salad
    Special Drink: Chai Tea
    """

def get_item_price(menu_item: str) -> str:
    """Provides the price of the requested menu item."""
    return "$9.99"


async def main() -> None:
    credential = DefaultAzureCredential()
    project_client = AIProjectClient.from_connection_string(
        credential=credential,
        conn_str="your-connection-string",
    )

    agent = project_client.agents.create_agent(
        model="gpt-5-mini",
        name="Host",
        instructions="Answer questions about the menu.",
        tools=[get_specials, get_item_price],
    )

    thread = project_client.agents.create_thread()

    user_inputs = [
        "Hello",
        "What is the special soup?",
        "How much does that cost?",
        "Thank you",
    ]

    for user_input in user_inputs:
        print(f"# User: '{user_input}'")
        message = project_client.agents.create_message(
            thread_id=thread.id,
            role="user",
            content=user_input,
        )
        run = project_client.agents.create_and_process_run(
            thread_id=thread.id, agent_id=agent.id
        )
        messages = project_client.agents.list_messages(thread_id=thread.id)
        print(f"# Agent: {messages.data[0].content[0].text.value}")


if __name__ == "__main__":
    asyncio.run(main())

Concepts clés

Microsoft Foundry Agent Service possède les concepts fondamentaux suivants :

Cas d’utilisation : Microsoft Foundry Agent Service est conçu pour des applications d’entreprise nécessitant un déploiement d’agents IA sécurisé, scalable et flexible.

Quelle est la différence entre ces approches ?

Cela semble effectivement se recouper, mais il existe des différences clés en termes de conception, capacités et cas d’utilisation cible :

Vous hésitez encore sur votre choix ?

Cas d’utilisation

Voyons si nous pouvons vous aider en passant en revue quelques cas d’usage courants :

Q : Je construis des applications agents IA en production et veux démarrer rapidement

R : Le Microsoft Agent Framework est un excellent choix. Il fournit une API simple, pythonique via FoundryChatClient qui vous permet de définir des agents avec outils et instructions en quelques lignes de code seulement.

Q : J’ai besoin d’un déploiement de niveau entreprise avec des intégrations Azure comme Search et l’exécution de code

R : Microsoft Foundry Agent Service est le mieux adapté. C’est un service plateforme qui fournit des capacités intégrées pour plusieurs modèles, Azure AI Search, Bing Search et les Azure Functions. Il facilite la création de vos agents dans le portail Foundry et leur déploiement à grande échelle.

Q : Je suis encore confus, donnez-moi juste une option

R : Commencez avec Microsoft Agent Framework pour construire vos agents, puis utilisez Microsoft Foundry Agent Service quand vous devrez les déployer et les mettre à l’échelle en production. Cette approche vous permet de itérer rapidement sur la logique de votre agent tout en ayant une trajectoire claire vers un déploiement en entreprise.

Résumons les différences clés dans un tableau :

Framework Focus Concepts clés Cas d’utilisation
Microsoft Agent Framework SDK agent simplifié avec appels d’outils Agents, Outils, Identité Azure Construction d’agents IA, usage d’outils, workflows multi-étapes
Microsoft Foundry Agent Service Modèles flexibles, sécurité entreprise, génération de code, appel d’outils Modularité, Collaboration, Orchestration de processus Déploiement sécurisé, scalable et flexible d’agents IA

Puis-je intégrer directement mes outils existants dans l’écosystème Azure, ou ai-je besoin de solutions autonomes ?

La réponse est oui, vous pouvez intégrer vos outils existants de l’écosystème Azure directement avec Microsoft Foundry Agent Service en particulier, car il a été conçu pour fonctionner en parfaite harmonie avec d’autres services Azure. Vous pourriez par exemple intégrer Bing, Azure AI Search et Azure Functions. Il existe également une intégration approfondie avec Microsoft Foundry.

Le Microsoft Agent Framework s’intègre également aux services Azure via FoundryChatClient et l’identité Azure, vous permettant d’appeler des services Azure directement depuis vos outils d’agent.

Exemples de codes

Vous avez plus de questions sur les frameworks d’agents IA ?

Rejoignez le Microsoft Foundry Discord pour rencontrer d’autres apprenants, participer aux heures de bureau et obtenir des réponses à vos questions sur les agents IA.

Références

Leçon Précédente

Introduction aux Agents IA et cas d’utilisation des agents

Leçon Suivante

Comprendre les modèles de conception agentique


Avertissement : Ce document a été traduit à l’aide du service de traduction automatique Co-op Translator. Bien que nous nous efforçions d’assurer l’exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d’interprétation découlant de l’utilisation de cette traduction.