Nhật ký và tập dữ liệu

Trong hướng dẫn này, bạn sẽ tìm hiểu cách xem nhật ký sử dụng Gemini API trong trang tổng quan của Google AI Studio để hiểu rõ hơn về hành vi của mô hình và cách người dùng có thể tương tác với ứng dụng của bạn. Sử dụng tính năng ghi nhật ký để quan sát, gỡ lỗi và chia sẻ ý kiến phản hồi về việc sử dụng với Google (không bắt buộc) để giúp cải thiện Gemini trong các trường hợp sử dụng của nhà phát triển.*

Tất cả lệnh gọi API GenerateContent, BatchGenerateContent, StreamGenerateContent và lệnh gọi API Interactions (ngoại trừ Tác nhân được quản lý) đều được hỗ trợ. Điều này bao gồm cả các lệnh gọi được thực hiện thông qua các điểm cuối tương thích với OpenAI.

Định cấu hình tính năng ghi nhật ký dự án

Theo mặc định, cả API Interactions và API Generate Content đều lưu trữ các yêu cầu (store=true). Đối với API Interactions, việc này cũng bật các tính năng quản lý trạng thái phía máy chủ.

Trong Google AI Studio, bạn có thể bật hoặc tắt tính năng lưu trữ cho từng dự án và thay đổi các lựa chọn ưu tiên này bất cứ lúc nào thông qua bảng điều khiển Cài đặt trong Trang tổng quan Nhật ký Gemini API. Bạn có thể bật hoặc tắt tính năng ghi nhật ký một cách độc lập cho generateContent API và Interactions API để thay đổi hành vi lưu trữ mặc định cho một dự án.

Ghi nhật ký ở cấp yêu cầu

Theo mặc định, cả hai API đều lưu trữ các yêu cầu (store=true):

  • Interactions API: Lưu trữ các yêu cầu theo mặc định để đơn giản hoá việc quản lý trạng thái phía máy chủ.
  • Generate Content API (generateContent, streamGenerateContent và batchGenerateContent): Lưu trữ các yêu cầu theo mặc định cho những dự án được tạo vào hoặc sau ngày 26 tháng 10 năm 2026. Theo mặc định, các dự án được tạo trước ngày đó sẽ không lưu trữ yêu cầu (store=false) trừ phi bạn bật tính năng ghi nhật ký trong AI Studio.

Thuộc tính store ở cấp yêu cầu được ưu tiên hơn chế độ cài đặt ở cấp dự án. Để đặt store cho các yêu cầu Generate Content API, bạn cần có google-genai 2.33.0 trở lên cho Python, @google/genai 2.31.0 trở lên cho JavaScript, google-genai 1.79.0 trở lên cho Java và google.golang.org/genai 1.76.0 trở lên cho Go. Sau đây là cách bạn có thể đặt thuộc tính store:

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': True} # Set to False to disable 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: true // Set to false to disable 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();

GenerateContentResponse response =
    client.models.generateContent(
        "gemini-3.8-flash",
        "Explain quantum entanglement in simple terms.",
        GenerateContentConfig.builder()
            .store(true) // Set to false to disable logging of this request
            .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)
    }

    response, err := client.Models.GenerateContent(
        ctx,
        "gemini-3.8-flash",
        genai.Text("Explain quantum entanglement in simple terms."),
        &genai.GenerateContentConfig{
            Store: genai.Ptr(true), // Set to false to disable logging of this request
        },
    )
    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)
    }
}

Xem nhật ký dự án trong AI Studio

  1. Chuyển đến trang Nhật ký trong AI Studio.
  2. Chọn một dự án trong trình đơn thả xuống.
  3. Nhật ký sẽ xuất hiện trong bảng theo thứ tự thời gian đảo ngược (nếu có).
  4. Đối với các dự án được tạo trước ngày 26 tháng 10 năm 2026, trước tiên, hãy bật tính năng ghi nhật ký Generate Content API trong bảng cài đặt để xem nhật ký dự án cho Generate Content API.

Nhấp vào một mục để xem trước tải trọng. Bạn có thể kiểm tra toàn bộ câu lệnh và câu trả lời của Gemini, cũng như ngữ cảnh từ các lượt trước. Đối với các yêu cầu Interactions API, nhật ký cũng bao gồm một đường liên kết trực tiếp đến previous_interaction_id.

Định cấu hình thời gian lưu giữ bộ nhớ của dự án

Nhật ký sẽ hết hạn và được đánh dấu để xoá sau khoảng thời gian lưu giữ mặc định là 55 ngày (trừ phi được lưu vào một tập dữ liệu, khi đó nhật ký sẽ không hết hạn). Bạn có thể định cấu hình khoảng thời gian lưu giữ nhật ký của một dự án thành tối đa 7, 14, 28 hoặc 55 ngày.

Tạo và chia sẻ tập dữ liệu

Bạn có thể lưu nhật ký vào các tập dữ liệu để sắp xếp và xuất nhật ký hiệu quả hơn.

  • Trên trang Nhật ký, hãy tìm thanh bộ lọc ở trên cùng để chọn một thuộc tính cần lọc.
  • Từ chế độ xem bộ lọc, hãy sử dụng hộp đánh dấu để chọn tất cả hoặc từng nhật ký.
  • Nhấp vào nút Tạo tập dữ liệu xuất hiện ở đầu danh sách.
  • Đặt tên cho tập dữ liệu mới và thêm nội dung mô tả (không bắt buộc).
  • Bạn sẽ thấy tập dữ liệu vừa tạo cùng với tập hợp nhật ký được tuyển chọn.
  • Xuất tập dữ liệu để phân tích thêm dưới dạng tệp CSV, JSONL hoặc sang Google Trang tính.

Tập dữ liệu có thể hữu ích cho một số trường hợp sử dụng.

  • Tuyển chọn các bộ thử thách: Thúc đẩy những điểm cải tiến trong tương lai nhắm đến những khía cạnh mà bạn muốn AI của mình cải thiện.
  • Tuyển chọn các tập mẫu: Ví dụ: một mẫu từ quá trình sử dụng thực tế để tạo câu trả lời từ một mô hình khác hoặc một tập hợp các trường hợp hiếm gặp để kiểm tra định kỳ trước khi triển khai.
  • Tập dữ liệu đánh giá: Các tập dữ liệu đại diện cho mức sử dụng thực tế trên các chức năng quan trọng, để so sánh giữa các mô hình hoặc các phiên bản chỉ dẫn hệ thống khác.

Bạn có thể đóng góp vào hoạt động nghiên cứu và phát triển Gemini bằng cách chọn chia sẻ tập dữ liệu của bạn với Google làm ví dụ minh hoạ.

Các điểm hạn chế

Tính năng ghi nhật ký hiện không được hỗ trợ cho những trường hợp sau:

  • Mô hình Imagen và Veo
  • Mô hình nhúng Gemini
  • Mô hình Gemini Robotics
  • Thông tin đầu vào chứa video, ảnh GIF hoặc tệp PDF
  • Tác nhân trong Bản dùng trước công khai trong Gemini API

Bước tiếp theo

  • Tạo nguyên mẫu bằng nhật ký phiên: Sử dụng AI Studio Build để lập trình theo cảm hứng cho ứng dụng và thêm khoá API để bật nhật ký Gemini API cho các tính năng AI.
  • Chạy lại nhật ký bằng Gemini Batch API: Sử dụng các tập dữ liệu để lấy mẫu phản hồi và đánh giá mô hình hoặc logic ứng dụng bằng cách chạy lại nhật ký bằng Gemini Batch API.