Logi i zbiory danych

Z tego przewodnika dowiesz się, jak wyświetlać logi dotyczące korzystania z interfejsu Gemini API na panelu Google AI Studio, aby lepiej zrozumieć zachowanie modelu i sposób, w jaki użytkownicy mogą wchodzić w interakcje z Twoimi aplikacjami. Używaj rejestrowania, aby obserwować, debugować i opcjonalnie udostępniać Google opinie na temat użytkowania, które pomogą ulepszać Gemini w różnych przypadkach użycia przez deweloperów.*

Obsługiwane są wszystkie wywołania interfejsów API GenerateContent, BatchGenerateContentStreamGenerateContent oraz wywołania interfejsu Interactions API z wyjątkiem wywołań dotyczących zarządzanych agentów. Obejmuje to wywołania wykonywane za pomocą punktów końcowych zgodnych z OpenAI.

Konfigurowanie logowania w projekcie

Domyślnie interfejs API przechowuje wszystkie obiekty interakcji (store=true), aby uprościć korzystanie z funkcji zarządzania stanem po stronie serwera. Natomiast interfejs Generate Content API domyślnie nie przechowuje żądań i wymaga włączenia przechowywania dla każdego żądania lub na poziomie projektu w AI Studio.

W Google AI Studio możesz włączyć lub wyłączyć rejestrowanie w przypadku wszystkich projektów albo tylko wybranych projektów. Możesz też w każdej chwili zmienić te ustawienia w panelu Ustawienia na stronie Dzienniki i zbiory danych. Logowanie można włączać i wyłączać niezależnie w przypadku interfejsu generateContent API i interfejsu Interactions API, aby zmienić domyślne działanie związane z przechowywaniem danych w projekcie.

Logowanie na poziomie żądania

Sposób przechowywania i rejestrowania danych różni się w zależności od interfejsu API:

  • Interfejs Interactions API: domyślnie przechowuje żądania (store=true), aby uprościć zarządzanie stanem po stronie serwera.
  • Generate Content API (generateContent): domyślnie nie przechowuje żądań (store=false).

Właściwość store możesz ustawić w ten sposób:

GenerateContent API

Python

from google import genai

client = genai.Client()

response = client.models.generate_content(
    model='gemini-3.8-flash',
    contents='Explain quantum entanglement in simple terms.',
    config={'store': False} # Set to True to enable logging of this request
)

print(response.text)

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

const response = await client.models.generateContent({
    model: 'gemini-3.8-flash',
    contents: 'Explain quantum entanglement in simple terms.',
    config: {
        store: false // Set to true to enable logging of this request
    }
});

console.log(response.text);

Java

import com.google.genai.Client;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;

Client client = new Client();

// The GenerateContent API does not store requests by default
GenerateContentResponse response =
    client.models.generateContent(
        "gemini-3.8-flash",
        "Explain quantum entanglement in simple terms.",
        GenerateContentConfig.builder().build());

System.out.println(response.text());

Go

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    // The GenerateContent API does not store requests by default
    response, err := client.Models.GenerateContent(
        ctx,
        "gemini-3.8-flash",
        genai.Text("Explain quantum entanglement in simple terms."),
        &genai.GenerateContentConfig{},
    )
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(response.Text())
}

Interactions API

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Explain quantum entanglement in simple terms.",
    store=True # Set to False to disable logging of this request
)

print(interaction.outputs[-1].text)

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: 'gemini-3.8-flash',
    input: 'Explain quantum entanglement in simple terms.',
    store: true // Set to false to disable logging of this request
});

console.log(interaction.outputs[interaction.outputs.length - 1].text);

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Explain quantum entanglement in simple terms."))
        .store(true) // Set to false to disable logging of this request
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

Go

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model: interactions.Model("gemini-3.8-flash"),
            Input: interactions.NewInteractionsInput("Explain quantum entanglement in simple terms."),
            Store: genai.Ptr(true), // Set to false to disable logging of this request
        }),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Interaction.OutputText != nil {
        fmt.Println(*res.Interaction.OutputText)
    }
}

Wyświetlanie logów projektu w AI Studio

  1. Otwórz stronę Logi w AI Studio.
  2. Wybierz projekt z menu.
  3. Logi będą wyświetlane w tabeli w odwrotnej kolejności chronologicznej w przypadku interfejsu Interactions API, jeśli istnieją.
  4. Aby obserwować logi projektu dotyczące interfejsu Generate Content API, najpierw włącz tę funkcję w panelu ustawień.

Kliknij wpis, aby wyświetlić podgląd ładunku. Możesz sprawdzić pełny prompt i odpowiedź od Gemini oraz kontekst z poprzednich etapów rozmowy. W przypadku żądań do interfejsu Interactions API dzienniki zawierają też bezpośredni link do previous_interaction_id.

Konfigurowanie przechowywania danych w projekcie

Logi wygasną i zostaną oznaczone do usunięcia po domyślnym okresie przechowywania wynoszącym 55 dni (chyba że zostaną zapisane w zbiorze danych, w którym przypadku nie wygasną). Możesz skonfigurować okres przechowywania logów projektu na maksymalnie 7, 14, 28 lub 55 dni.

Tworzenie i udostępnianie zbiorów danych

Możesz zapisywać dzienniki w zbiorach danych, aby je lepiej organizować i eksportować.

  • Na stronie Logi znajdź u góry pasek filtrowania, aby wybrać właściwość, według której chcesz filtrować.
  • W przefiltrowanym widoku użyj pól wyboru, aby zaznaczyć wszystkie logi lub poszczególne logi.
  • U góry listy kliknij przycisk Utwórz zbiór danych.
  • Nadaj nowemu zbiorowi danych nazwę i opcjonalnie dodaj opis.
  • Zobaczysz utworzony zbiór danych z wyselekcjonowanym zestawem logów.
  • Wyeksportuj zbiór danych do dalszej analizy jako pliki CSV lub JSONL albo do Arkuszy Google.

Zbiory danych mogą być przydatne w wielu różnych przypadkach.

  • Twórz zestawy wyzwań: wprowadzaj przyszłe ulepszenia w obszarach, w których chcesz, aby Twoja AI była lepsza.
  • Twórz zestawy próbek: na przykład próbkę z rzeczywistego użycia, aby generować odpowiedzi z innego modelu, lub zbiór przypadków brzegowych do rutynowych kontroli przed wdrożeniem.
  • Zbiory testowe: zbiory reprezentatywne dla rzeczywistego użytkowania w zakresie ważnych funkcji, które służą do porównywania z innymi modelami lub iteracjami instrukcji systemowych.

Możesz przyczynić się do rozwoju Gemini, udostępniając Google swoje zbiory danych jako przykłady demonstracyjne.

Ograniczenia

Logowanie nie jest obecnie obsługiwane w przypadku tych elementów:

  • Modele Imagen i Veo
  • Modele wektorów dystrybucyjnych Gemini
  • Model Gemini Robotics
  • Dane wejściowe zawierające filmy, GIF-y lub pliki PDF
  • Agenci w wersji przedpremierowej interfejsu Gemini API

Co dalej?

  • Prototyp z historią sesji: użyj funkcji Build w AI Studio, aby tworzyć aplikacje z kodem i dodać klucz interfejsu API, który umożliwi korzystanie z historii logów Gemini API w przypadku funkcji AI.
  • Ponowne uruchamianie logów za pomocą Gemini Batch API: używaj zbiorów danych do próbkowania odpowiedzi i oceny modeli lub logiki aplikacji, ponownie uruchamiając logi za pomocą Gemini Batch API.