> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Gen AI

> Tracez les appels du SDK Google Gen AI vers Gemini dans Agent Lens avec le SDK CoreWeave Forge.

Le SDK CoreWeave Forge trace automatiquement les appels que vous effectuez avec le SDK Google Gen AI pour Python (`google-genai`) et Node.js (`@google/genai`). Une fois le traçage initialisé, chaque appel effectué au sein d’une conversation est enregistré dans Agent Lens sous forme de span LLM, avec ses messages, ses instructions système, ses outils, ses médias, ses paramètres de requête, les métadonnées de la réponse et l’utilisation des jetons, y compris les jetons d’entrée mis en cache et les jetons de réflexion. Vous n’avez rien à modifier dans votre façon d’appeler le SDK Google Gen AI.

L’intégration trace la génération de contenu (y compris en streaming), les utilitaires de chat et la génération d’images avec Imagen. Les appels passant par un client Vertex AI sont attribués à `vertex_ai`, et ceux adressés à l’API Gemini Developer sont attribués à `gemini`.

<Note>
  Pour tracer des agents créés avec l’Agent Development Kit (ADK) de Google, consultez [Google ADK](/fr/products/agent-lens/integrations/google-adk).
</Note>

<h2 id="prerequisites">
  Prérequis
</h2>

* Un compte CoreWeave Forge et une [clé API](https://forge.coreweave.com/settings#apikeys) définie dans la variable d’environnement `WANDB_API_KEY`.
* Une [clé API Gemini](https://aistudio.google.com/apikey) définie dans la variable d’environnement `GEMINI_API_KEY`.
* Pour Python : Python 3.10 ou version ultérieure et `google-genai` 1.0.0 à 1.23.0.
* Pour TypeScript : Node.js 18.19 ou version ultérieure (ou 20.6 ou version ultérieure) et `@google/genai` 0.2.0 ou version ultérieure.

<h2 id="install-packages">
  Installer les paquets
</h2>

<CodeGroup>
  ```bash Python theme={"system"}
  pip install "coreweave[google-genai]"
  ```

  ```bash TypeScript theme={"system"}
  npm install @coreweave/forge-sdk @google/genai
  ```
</CodeGroup>

<h2 id="trace-google-gen-ai-conversations">
  Tracer les conversations Google Gen AI
</h2>

Appelez `tracing.init()` avec les noms de votre équipe et de votre projet Forge. En Python, `tracing.init()` patche le SDK Google Gen AI, que vous l’importiez avant ou après l’appel. En TypeScript, démarrez Node avec l’option d’instrumentation indiquée dans l’onglet TypeScript.

Agent Lens n’affiche que les appels exécutés au sein d’une conversation. Un appel effectué en dehors d’une conversation n’a pas d’identifiant de conversation et n’apparaît donc pas dans Agent Lens. Créez une conversation pour chaque session d’agent et démarrez un tour de conversation pour chaque message utilisateur. Tous les tours partagent l’identifiant de la conversation : Agent Lens les regroupe donc dans une seule conversation, et chaque appel devient un span LLM du tour dans lequel il s’exécute.

<Tabs>
  <Tab title="Python">
    ```python lines theme={"system"}
    from google import genai
    from coreweave.forge.agentlens import tracing

    tracing.init("[YOUR-TEAM]/[YOUR-PROJECT]")
    client = genai.Client()

    questions = [
        "What is inference latency?",
        "How does batching affect it?",
        "Summarize what we discussed in one sentence.",
    ]

    chat = client.chats.create(model="gemini-flash-latest")
    with tracing.Conversation(agent_name="support-agent") as conversation:
        for question in questions:
            with conversation.start_turn(user_message=question):
                response = chat.send_message(question)
                print(response.text)

    tracing.shutdown()
    ```
  </Tab>

  <Tab title="TypeScript">
    Encapsulez chaque exécution d’agent dans `tracing.runIsolated()` afin que sa conversation et ses tours restent séparés des autres exécutions simultanées.

    ```typescript lines title="app.mjs" theme={"system"}
    import {GoogleGenAI} from '@google/genai';
    import {tracing} from '@coreweave/forge-sdk/agentlens';

    await tracing.init('[YOUR-TEAM]/[YOUR-PROJECT]');
    const google = new GoogleGenAI({apiKey: process.env.GEMINI_API_KEY});

    const questions = [
      'What is inference latency?',
      'How does batching affect it?',
      'Summarize what we discussed in one sentence.',
    ];

    await tracing.runIsolated(async () => {
      const conversation = tracing.startConversation({agentName: 'support-agent'});
      const chat = google.chats.create({model: 'gemini-flash-latest'});
      try {
        for (const question of questions) {
          const turn = conversation.startTurn({userMessage: question});
          try {
            const response = await chat.sendMessage({message: question});
            console.log(response.text);
          } finally {
            turn.end();
          }
        }
      } finally {
        conversation.end();
      }
    });

    await tracing.shutdown();
    ```

    Exécutez le script avec l’option d’instrumentation, qui charge l’instrumentation Forge avant votre code afin que le SDK Google Gen AI soit déjà patché lorsque votre code l’importe :

    ```bash theme={"system"}
    node --import=@coreweave/forge-sdk/instrument app.mjs
    ```

    Si vous ne pouvez pas utiliser cette option, par exemple parce qu’un bundler regroupe vos dépendances dans un seul fichier, encapsulez plutôt le client :

    ```typescript theme={"system"}
    import {integrations} from '@coreweave/forge-sdk/agentlens';

    const google = integrations.wrapGoogleGenAI(
      new GoogleGenAI({apiKey: process.env.GEMINI_API_KEY})
    );
    ```

    Si vous exécutez le script sans cette option, `tracing.init()` affiche un avertissement, une seule fois. Vous pouvez l’ignorer si vous encapsulez vos clients.
  </Tab>
</Tabs>

Pour ajouter ultérieurement des tours à une conversation existante, par exemple dans une application web qui traite un tour par requête, transmettez le même `conversation_id` (Python) ou `conversationId` (TypeScript) chaque fois que vous créez la conversation.

Pour en savoir plus sur les conversations, les tours de conversation et les autres types de spans, consultez [Tracer vos agents](/fr/products/agent-lens/tracing/instrument).

<h2 id="turn-off-automatic-patching">
  Désactiver le patching automatique
</h2>

En Python, passez `autopatch_integrations=False` à `tracing.init()`. Vous pouvez ensuite appliquer et retirer vous-même le patch du SDK Google Gen AI avec `tracing.integrations.patch_google_genai()` et `tracing.integrations.unpatch_google_genai()`.

En TypeScript, exécutez votre code sans l’option `--import=@coreweave/forge-sdk/instrument`, puis encapsulez uniquement les clients que vous souhaitez tracer avec `integrations.wrapGoogleGenAI()`.

<h2 id="view-your-traces">
  Afficher vos traces
</h2>

Dans [CoreWeave Forge](https://forge.coreweave.com), sélectionnez Agent Lens dans le menu des produits, choisissez votre projet dans le sélecteur de projet en haut du menu latéral, puis sélectionnez **Conversations**. Pour plus d'informations, voir [Afficher l'activité des agents](/fr/products/agent-lens/conversations/view-activity).
