Agents d'observation créés à l'aide de l'ADK d' Google

Le kit de développement d'agents (ADK) d' Google est un cadre permettant de créer, d'orchestrer et de déployer des applications intelligentes basées sur des agents. Elle offre un moyen structuré et évolutif de définir les flux de travail des agents, d'intégrer des outils et des services externes, ainsi que de gérer le raisonnement et l'exécution des agents. ADK est conçu pour prendre en charge des agents IA prêts à l'emploi en fournissant des abstractions pour la coordination des tâches, l'appel d'outils et l'interaction avec des modèles linguistiques de grande envergure.

La surveillance des applications ADK d' Google s à l'aide d' Instana offre une observabilité complète de bout en bout des flux de travail pilotés par des agents. En instrumentant les applications ADK, vous pouvez suivre en détail les chemins d'exécution à travers la logique d'orchestration des agents, les invocations d'outils, les appels de services externes et l'infrastructure sous-jacente.

Prérequis

Vérifiez que les conditions pré-requises suivantes sont remplies:

  • Python 3.8 ou une version ultérieure est installée.

  • Une clé Google API permettant d'accéder aux modèles Gemini; voir Google AI Studio.

  • Instana est configuré pour votre application, consultez la section « Pour commencer ».

Instrumentation des applications ADK d' Google

Pour intégrer les fonctionnalités d'observabilité d' Instana s à votre application ADK d' Google, procédez comme suit :

  1. Installez les paquets requis pour l'ADK d' Google :

    pip install google-adk traceloop-sdk
  2. Créer un nouveau projet d'agent ADK pour l' Google :

    adk create test_agent

    Cela crée un projet présentant la structure suivante, où agent.py contient la logique de contrôle principale de l'agent :

    Figure 1. Structure des fichiers de l'agent
    Structure des fichiers de l'agent
  3. Définissez la clé « GoogleAPI » dans le .env fichier :

    GOOGLE_API_KEY=<your-google-api-key>

    Pour créer ou gérer vos clés d' API, rendez-vous sur Google AI Studio.

  4. Mettez à jour le agent.py fichier avec le code suivant pour créer une application multi-agents intégrant l'instrumentation d' OpenLLMetry :

    from google.adk.agents.llm_agent import Agent
    from traceloop.sdk import Traceloop
    
    # Initialize OpenLLMetry with app name
    Traceloop.init(app_name="multi_agent_adk_app")
    
    # Tool implementations
    def get_current_time(city: str) -> dict:
        """Returns the current time for a given city."""
        return {"city": city, "time": "10:30 AM"}
    
    def get_weather(city: str) -> dict:
        """Returns the current weather for a given city."""
        return {"city": city, "weather": "Sunny", "temperature": "30°C"}
    
    
    # Time Agent
    time_agent = Agent(
        name="time_agent",
        model="gemini-2.0-flash-exp",
        description="Provides the current time for a city.",
        instruction=(
            "You provide the current time for a given city. "
            "Use the get_current_time tool to fetch the information."
        ),
        tools=[get_current_time],
    )
    
    # Weather Agent
    weather_agent = Agent(
        name="weather_agent",
        model="gemini-2.0-flash-exp",
        description="Provides the current weather for a city.",
        instruction=(
            "You provide the current weather details for a given city. "
            "Use the get_weather tool to fetch the information."
        ),
        tools=[get_weather],
    )
    
    # Root Agent orchestrating other agents
    root_agent = Agent(
        name="root_agent",
        model="gemini-2.0-flash-exp",
        description="Orchestrates multiple agents to answer user queries.",
        instruction=(
            "You are a coordinating agent. Based on the user request, "
            "delegate tasks to the appropriate agent (time_agent or weather_agent) "
            "and combine the responses into a single answer."
        ),
        sub_agents=[time_agent, weather_agent],
    )

    Cet exemple crée trois agents :

    • time_agent : Indique l'heure actuelle dans différentes villes

    • weather_agent : Fournit des informations météorologiques pour différentes villes

    • root_agent : coordonne les autres agents pour traiter les demandes des utilisateurs

  5. Lancez l'agent ADK d' Google :

    adk run test_agent

    L'agent démarrera et attendra une commande de l'utilisateur. Vous pouvez interagir avec lui en posant des questions telles que « Quel temps fait-il à New York? » ou « Quelle heure est-il à Londres? »

  6. Consultez les données sur Instana.

    Une fois votre application lancée et après avoir interagi avec les agents, les données s'afficheront dans le tableau de bord d'observabilité Gen AI d' Instana :

    Figure 2. Réponse à la demande de l'utilisateur
    Réponse à la demande de l'utilisateur
    Figure 3 Traces dans l' Instana
    Traces dans l' Instana

    Le tableau de bord affiche :

    • Flux d'orchestration des agents

    • Appels de fonctions (get_current_time, get_weather)

    • Interactions entre les modèles LLM et les modèles Gemini

    • Temps de réponse et utilisation des jetons

Traitement des incidents

Pour les problèmes courants, tels que l'absence d'affichage des traces ou les erreurs de connexion, consultez la section Dépannage.

Google API erreurs de saisie

Problème : erreurs d'authentification lors de l'exécution de l'agent.

Pour résoudre ce problème, procédez comme suit :

  1. Vérifiez que votre clé Google API est correctement définie dans le .env fichier

  2. Assurez-vous que la clé « API » dispose d'un accès aux modèles Gemini

  3. Vérifiez que le .env fichier se trouve dans le répertoire racine du projet