Dokumen ini menjelaskan cara mengonfigurasi agen AI yang dibuat dengan framework Agent Development Kit (ADK) untuk mengumpulkan dan menyimpan perintah dan respons multimodal. Bagian ini juga menjelaskan cara Anda dapat melihat, menganalisis, dan mengevaluasi media multimodal tersimpan:
Gunakan halaman Trace Explorer untuk melihat setiap perintah atau respons atau untuk melihat seluruh percakapan. Anda memiliki opsi untuk melihat media dalam format yang dirender atau mentah. Untuk mempelajari lebih lanjut, lihat Melihat perintah dan respons multimodal.
Gunakan layanan BigQuery untuk menganalisis data multimodal. Misalnya, Anda dapat menggunakan fungsi seperti
AI.GENERATEuntuk meringkas percakapan. Untuk mempelajari lebih lanjut, lihat Menganalisis data respons perintah menggunakan BigQuery.Gunakan Vertex AI SDK untuk mengevaluasi percakapan. Misalnya, Anda dapat menggunakan Google Colaboratory untuk melakukan analisis sentimen. Untuk mempelajari lebih lanjut, lihat Menjalankan evaluasi pada data respons perintah dengan Colaboratory.
Jenis media yang dapat Anda kumpulkan
Anda dapat mengumpulkan jenis media berikut:
- Audio.
- Dokumen.
- Gambar.
- Teks biasa dan teks yang diformat Markdown.
- Video.
Perintah dan respons Anda dapat menyertakan konten dan link inline. Link dapat mengarah ke resource publik atau bucket Cloud Storage.
Tempat penyimpanan perintah dan respons Anda
Saat aplikasi agentik Anda membuat atau menerima perintah atau respons, ADK memanggil instrumentasi OpenTelemetry. Pengukuran ini memformat perintah dan respons, serta data multimodal yang mungkin ada di dalamnya, sesuai dengan konvensi semantik GenAI OpenTelemetry versi 1.37.0. Versi yang lebih tinggi juga didukung.
Selanjutnya, instrumentasi OpenTelemetry akan melakukan hal berikut:
Fungsi ini membuat ID objek untuk data perintah dan respons, lalu menulis data tersebut ke bucket Cloud Storage Anda. Entri di bucket Cloud Storage Anda disimpan dalam format JSON Lines.
Agen ini mengirimkan data log dan trace ke Google Cloud project Anda, tempat layanan Logging dan Trace menyerap dan menyimpan data. Konvensi semantik OpenTelemetry menentukan banyak atribut dan kolom yang dilampirkan ke entri log atau rentang rekaman aktivitas Anda.
Saat instrumentasi OpenTelemetry membuat objek bucket Cloud Storage, instrumentasi tersebut juga menulis entri log yang berisi referensi ke objek tersebut. Contoh berikut menunjukkan bagian entri log yang menyertakan referensi objek:
{ ... "labels": { "gen_ai.system": "vertex_ai", "event.name": "gen_ai.client.inference.operation.details", "gen_ai.output.messages_ref": "gs://my-bucket/eso9aP7NA_GX2PgPkrOi-Qg_output.jsonl", "gen_ai.system.instructions_ref": "gs://my-bucket/eso9aP7NA_GX2PgPkrOi-Qg_system_instructions.jsonl", "gen_ai.input.messages_ref": "gs://my-bucket/eso9aP7NA_GX2PgPkrOi-Qg_input.jsonl" }, "logName": "projects/my-project/logs/gen_ai.client.inference.operation.details", "trace": "projects/my-project/traces/963761020fc7713e4590cad89ad03229", "spanId": "1234512345123451", ... }Dalam contoh entri log, perhatikan hal-hal berikut:
- Label
"event.name": "gen_ai.client.inference.operation.details"menunjukkan bahwa entri log berisi referensi ke objek Cloud Storage. - Setiap label yang kuncinya mencakup
gen_aimerujuk ke objek dalam bucket Cloud Storage. - Semua entri log yang berisi referensi objek ditulis ke log yang sama, yang diberi nama
projects/my-project/logs/gen_ai.client.inference.operation.details.
Untuk mempelajari cara menampilkan entri log yang berisi referensi objek, lihat bagian Menemukan semua entri log yang mereferensikan perintah dan respons dalam dokumen ini.
- Label
Mengumpulkan perintah dan respons multimodal
ADK secara otomatis memanggil OpenTelemetry untuk menyimpan perintah dan respons Anda, serta mengirim data log dan aktivitas ke project Google Cloud Anda. Anda tidak perlu mengubah aplikasi Anda. Namun, Anda perlu mengonfigurasi project Google Cloud dan ADK.
Untuk mengumpulkan dan melihat perintah dan respons multimodal dari aplikasi, lakukan hal berikut:
Konfigurasi project Anda:
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Cloud Storage, Telemetry, Cloud Logging, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. Pastikan Anda memiliki bucket Cloud Storage. Jika perlu, buat bucket Cloud Storage.
Sebaiknya Anda melakukan hal berikut:
Buat bucket Cloud Storage di lokasi yang sama dengan bucket log yang menyimpan data log aplikasi Anda. Konfigurasi ini membuat kueri BigQuery lebih efisien.
Pastikan kelas penyimpanan bucket Cloud Storage Anda mendukung tabel eksternal. Kemampuan ini memungkinkan Anda mengkueri perintah dan respons dengan BigQuery. Jika Anda tidak berencana menggunakan setelan default untuk bucket Cloud Storage baru, sebelum membuat bucket, tinjau Membuat tabel eksternal Cloud Storage.
Tetapkan periode retensi untuk bucket Cloud Storage Anda agar sesuai dengan periode retensi bucket log yang menyimpan entri log Anda. Periode retensi default untuk data log adalah 30 hari. Untuk mempelajari cara menetapkan periode retensi untuk bucket Cloud Storage, lihat Kunci Bucket.
Beri akun layanan yang digunakan aplikasi Anda izin
storage.objects.createdi bucket Cloud Storage Anda. Izin ini memungkinkan aplikasi Anda menulis objek ke bucket Cloud Storage Anda. Objek ini menyimpan perintah dan respons yang dibuat atau diterima oleh aplikasi berbasis agen Anda. Untuk mengetahui informasi selengkapnya, lihat Menetapkan dan mengelola kebijakan IAM pada bucket.
-
Mengonfigurasi ADK:
Instal dan upgrade dependensi berikut:
google-adk>=1.16.0opentelemetry-instrumentation-google-genai>=0.4b0fsspec[gcs]
Perbarui pemanggilan ADK Anda untuk mengaktifkan tanda
otel_to_cloud:Jika Anda menggunakan CLI untuk ADK, jalankan perintah berikut:
adk web --otel_to_cloud [other options]Jika tidak, teruskan tanda saat membuat aplikasi FastAPI:
get_fast_api_app(..., otel_to_cloud=True)
Tetapkan variabel lingkungan berikut:
Menginstruksikan OpenTelemetry untuk memformat objek Cloud Storage sebagai JSON Lines.
OTEL_INSTRUMENTATION_GENAI_UPLOAD_FORMAT='jsonl'Menginstruksikan OpenTelemetry untuk mengupload data perintah dan respons, bukan menyematkan konten ini dalam rentang aktivitas. Referensi ke objek yang diupload disertakan dalam entri log.
OTEL_INSTRUMENTATION_GENAI_COMPLETION_HOOK='upload'Instruksikan OpenTelemetry untuk menggunakan konvensi semantik terbaru untuk AI generatif.
OTEL_SEMCONV_STABILITY_OPT_IN='gen_ai_latest_experimental'Tentukan jalur untuk objek:
OTEL_INSTRUMENTATION_GENAI_UPLOAD_BASE_PATH='gs://STORAGE_BUCKET/PATH'Dalam ekspresi sebelumnya, STORAGE_BUCKET mengacu pada nama bucket Cloud Storage. PATH merujuk ke jalur tempat objek disimpan.
Melihat perintah dan respons multimodal
Untuk menentukan perintah dan respons yang akan ditampilkan untuk rentang, Cloud Trace mengirimkan kueri untuk membaca data log dan membaca data yang disimpan di bucket Cloud Storage. Peran Identity and Access Management (IAM) Anda pada resource yang dikueri menentukan apakah data ditampilkan. Dalam beberapa kasus, Anda mungkin melihat pesan error. Misalnya, jika Anda tidak memiliki izin untuk membaca data dari bucket Cloud Storage, upaya untuk mengakses data tersebut akan menghasilkan error penolakan izin.
Perintah dan respons muncul dalam format seperti chat, dan Anda memilih apakah media seperti gambar dirender secara otomatis atau muncul dalam format sumber. Demikian pula, Anda dapat melihat seluruh histori percakapan atau hanya melihat perintah dan respons yang dilampirkan ke rentang.
Misalnya, contoh berikut mengilustrasikan cara perintah dan respons muncul, dan cara OpenTelemetry: Attributes diringkas:
Sebelum memulai
Untuk mendapatkan izin yang diperlukan untuk melihat perintah dan respons multimodal Anda, minta administrator Anda untuk memberi Anda peran IAM berikut di project:
-
Cloud Trace User (
roles/cloudtrace.user) -
Logs Viewer (
roles/logging.viewer) -
Storage Object Viewer (
roles/storage.objectViewer)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menemukan rentang yang berisi perintah dan respons multimodal
Untuk menemukan rentang yang berisi perintah dan respons multimodal, lakukan tindakan berikut:
-
Di konsol Google Cloud , buka halaman Trace explorer:
Anda juga dapat menemukan halaman ini dengan menggunakan kotak penelusuran.
Di panel Filter rentang, buka bagian Nama rentang, lalu pilih
generate_content.Atau, tambahkan filter
gen_ai.operation.name: generate_content.Pilih rentang dari daftar rentang.
Halaman Detail untuk rentang akan terbuka. Halaman ini menampilkan rentang, dalam konteks rekaman aktivitas. Jika nama rentang memiliki tombol berlabel Input/Output,
, berarti ada
peristiwa AI generatif yang tersedia. Bagian berikutnya, Menjelajahi perintah dan respons multimodal Anda, menjelaskan cara data ditampilkan dan opsi visualisasi.
Mempelajari perintah dan respons multimodal Anda
Tab Input/Output berisi dua bagian.
Satu bagian menampilkan perintah dan
respons, dan bagian lainnya menampilkan OpenTelemetry: Attributes. Tab ini
hanya muncul jika rentang yang dikirim ke Trace
mengikuti konvensi semantik GenAI OpenTelemetry,
versi 1.37.0 atau yang lebih baru,
yang menghasilkan pesan yang namanya diawali dengan gen_ai.
Tab Input/Output menampilkan pesan Anda dalam format seperti chat. Anda dapat mengontrol pesan yang muncul dan formatnya menggunakan opsi di tab:
- Untuk melihat seluruh percakapan, luaskan panel Pesan Historis.
- Untuk melihat hanya perintah dan respons dalam rentang yang dipilih, gunakan panel Pesan Terbaru.
Untuk melihat gambar, video, atau media lainnya, pilih Diformat.
Sistem tidak selalu menampilkan media. Untuk melindungi Anda, jika perintah atau respons menyertakan link ke gambar, dokumen, atau video publik, Anda harus mengonfirmasi bahwa Anda ingin media tersebut ditampilkan. Demikian pula, jika perintah atau respons menyertakan media yang disimpan di bucket Cloud Storage Anda dan jika media tersebut berukuran sangat besar, Anda harus mengonfirmasi bahwa Anda ingin media tersebut ditampilkan.
Beberapa media, seperti gambar dan video, muncul dengan menu terlampir. Anda dapat menggunakan menu ini untuk melakukan tindakan seperti mendownload gambar ke drive lokal. Opsi menu bergantung pada jenis media.
Untuk melihat pesan yang diformat dalam JSON, pilih Raw. Dengan pilihan ini, media seperti gambar tidak dirender.
Misalnya, gambar berikut menggambarkan tampilan percakapan dalam format mentah:
Menemukan semua entri log yang mereferensikan perintah dan respons
Untuk mencantumkan entri log yang menyertakan referensi objek ke perintah dan respons multimodal, lakukan hal berikut:
-
Di konsol Google Cloud , buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Di pemilih project, pilih project Google Cloud Anda.
Di toolbar, luaskan All log names, masukkan
gen_aidi filter, lalu pilih log bernama gen_ai.client.inference.operation.details.Langkah-langkah sebelumnya menambahkan kueri berikut ke Logs Explorer:
logName="projects/PROJECT_ID/logs/gen_ai.client.inference.operation.details"Jika ingin, Anda dapat menyalin pernyataan dan menempelkannya ke panel Query Logs Explorer, tetapi ganti PROJECT_ID dengan project ID Anda sebelum Anda menyalin pernyataan.
Anda juga dapat memfilter data log menurut nilai label. Misalnya, jika Anda menambahkan filter berikut, hanya entri log yang berisi label yang ditentukan yang akan muncul:
labels."event.name"="gen_ai.client.inference.operation.details"Untuk melihat perintah dan respons yang dirujuk oleh entri log, di entri log, klik
Lihat detail rekaman aktivitas.
Untuk mempelajari cara menggunakan opsi di tab Input/Output, lihat bagian Menjelajahi perintah dan respons multimodal dalam dokumen ini.
Menganalisis data respons perintah menggunakan BigQuery
Anda dapat menganalisis perintah dan respons yang disimpan bucket Cloud Storage Anda menggunakan BigQuery. Sebelum Anda melakukan analisis ini, selesaikan langkah-langkah berikut:
- Aktifkan API yang diperlukan dan pastikan Anda telah diberi peran IAM yang diperlukan.
- Buat set data tertaut di bucket log Anda.
- Beri BigQuery izin untuk membaca dari bucket Cloud Storage Anda.
- Buat tabel eksternal.
Setelah membuat tabel eksternal, Anda menggabungkan data di bucket log dengan tabel eksternal, dan melakukan analisis pada data gabungan. Bagian ini mengilustrasikan cara menggabungkan tabel dan mengekstrak kolom tertentu. Dokumen ini juga mengilustrasikan cara menganalisis tabel gabungan dengan fungsi BigQuery ML.
Sebelum memulai
Peran IAM yang tercantum di bagian ini diperlukan untuk melakukan tindakan seperti mengupgrade bucket log dan membuat tabel eksternal. Namun, setelah konfigurasi selesai, lebih sedikit izin yang diperlukan untuk menjalankan kueri.
-
Enable the BigQuery and BigQuery Connection APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi sistem agar Anda dapat melihat perintah dan respons multimodal di BigQuery, minta administrator untuk memberi Anda peran IAM berikut di project:
-
Logs Configuration Writer (
roles/logging.configWriter) -
Storage Admin (
roles/storage.admin) -
BigQuery Connection Admin (
roles/bigquery.connectionAdmin) -
BigQuery Data Viewer (
roles/bigquery.dataViewer) -
BigQuery Studio User (
roles/bigquery.studioUser)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Logs Configuration Writer (
Membuat set data tertaut di bucket log Anda
Untuk menentukan apakah bucket log yang menyimpan data log Anda diupgrade untuk Log Analytics, jalankan perintah berikut:
gcloud logging buckets describe LOG_BUCKET_ID --location=LOCATIONGanti yang berikut sebelum Anda menjalankan perintah:
- LOG_BUCKET_ID: ID bucket log.
- LOCATION: Lokasi bucket log.
Saat bucket log diupgrade untuk Log Analytics, hasil perintah
describemencakup pernyataan berikut:analyticsEnabled: trueJika bucket log Anda belum diupgrade, jalankan perintah berikut:
gcloud logging buckets update LOG_BUCKET_ID --location=LOCATION --enable-analytics --asyncUpgrade dapat memerlukan waktu beberapa menit untuk diselesaikan. Saat perintah
describemelaporkanlifecycleStatesebagaiACTIVE, upgrade selesai.Untuk membuat set data tertaut di bucket log Anda, jalankan perintah berikut:
gcloud logging links create LINKED_DATASET_NAME --bucket=LOG_BUCKET_ID --location=LOCATIONGanti yang berikut sebelum Anda menjalankan perintah:
- LOG_BUCKET_ID: ID bucket log.
- LOCATION: Lokasi bucket log.
- LINKED_DATASET_NAME: Nama set data tertaut yang akan dibuat.
Set data tertaut memungkinkan BigQuery membaca data log yang disimpan di bucket log Anda. Untuk mempelajari lebih lanjut, lihat bagian Membuat kueri set data BigQuery yang ditautkan.
Untuk mengonfirmasi bahwa link ada, jalankan perintah berikut:
gcloud logging links list --bucket=LOG_BUCKET_ID --location=LOCATIONJika berhasil, respons terhadap perintah sebelumnya akan mencakup baris berikut:
LINK_ID: LINKED_DATASET_NAME
Memberi BigQuery izin untuk membaca dari bucket Cloud Storage Anda
Untuk membuat koneksi BigQuery, jalankan perintah berikut:
bq mk --connection --location=CONNECTION_LOCATION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_IDGanti yang berikut sebelum Anda menjalankan perintah:
- PROJECT_ID: ID project.
- CONNECTION_ID: ID koneksi yang akan dibuat.
- CONNECTION_LOCATION: Lokasi koneksi.
Jika perintah berhasil diselesaikan, pesan yang mirip dengan berikut akan ditampilkan:
Connection 151560119848.CONNECTION_LOCATION.CONNECTION_ID successfully createdVerifikasi koneksi.
bq show --connection PROJECT_ID.CONNECTION_LOCATION.CONNECTION_IDRespons terhadap perintah ini mencantumkan ID koneksi, dan mencantumkan akun layanan:
{"serviceAccountId": "bqcx-151560119848-s1pd@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}Beri akun layanan untuk koneksi BigQuery peran IAM yang memungkinkannya membaca data yang disimpan di bucket Cloud Storage Anda:
gcloud storage buckets add-iam-policy-binding gs://STORAGE_BUCKET \ --member=serviceAccount:SERVICE_ACCT_EMAIL \ --role=roles/storage.objectViewerGanti yang berikut sebelum Anda menjalankan perintah:
- STORAGE_BUCKET: Nama bucket Cloud Storage Anda.
- SERVICE_ACCT_EMAIL: Alamat email akun layanan Anda.
Membuat tabel BigLake eksternal
Untuk menggunakan BigQuery guna membuat kueri data yang tidak disimpan BigQuery, buat tabel eksternal. Karena bucket Cloud Storage menyimpan perintah dan respons, buat tabel eksternal BigLake.
-
Di konsol Google Cloud , buka halaman BigQuery:
Anda juga dapat menemukan halaman ini dengan menggunakan kotak penelusuran.
Di editor kueri, masukkan pernyataan berikut:
CREATE OR REPLACE EXTERNAL TABLE `PROJECT_ID.EXT_TABLE_DATASET_NAME.EXT_TABLE_NAME` ( -- Schema matching the JSON structure in a Cloud Storage bucket. parts ARRAY< STRUCT< type STRING, content STRING, -- multimodal attachments mime_type STRING, uri STRING, data BYTES, -- tool calls id STRING, name STRING, arguments JSON, response JSON > >, role STRING, `index` INT64, ) WITH CONNECTION `PROJECT_ID.CONNECTION_LOCATION.CONNECTION_ID` OPTIONS ( format = 'NEWLINE_DELIMITED_JSON', uris = ['gs://STORAGE_BUCKET/PATH/*'], ignore_unknown_values = TRUE );Ganti yang berikut sebelum Anda menjalankan perintah:
- PROJECT_ID: ID project.
- EXT_TABLE_DATASET_NAME: Nama set data yang akan dibuat.
- EXT_TABLE_NAME: Nama tabel BigLake eksternal yang akan dibuat.
- CONNECTION_LOCATION: Lokasi CONNECTION_ID Anda.
- CONNECTION_ID: ID koneksi.
- STORAGE_BUCKET: Nama bucket Cloud Storage.
- PATH: Jalur ke perintah dan respons. Variabel lingkungan
OTEL_INSTRUMENTATION_GENAI_UPLOAD_BASE_PATHmenentukan jalur.
Klik Run.
Untuk mempelajari lebih lanjut tabel eksternal, lihat artikel berikut:
Gabungkan tabel eksternal dengan data log Anda
Bagian ini mengilustrasikan cara menganalisis perintah multimodal di BigQuery. Solusi ini mengandalkan penggabungan tabel BigLake eksternal dengan data log Anda, yang memungkinkan Anda mengambil objek dari bucket Cloud Storage. Contoh ini menggabungkan
URI untuk pesan input, gen_ai.input.messages. Anda juga dapat menggabungkan URI untuk pesan output, gen_ai.output.messages, atau petunjuk sistem, gen_ai.system.instructions.
Untuk menggabungkan tabel BigLake eksternal dengan data log, lakukan hal berikut:
-
Di konsol Google Cloud , buka halaman BigQuery:
Anda juga dapat menemukan halaman ini dengan menggunakan kotak penelusuran.
Di editor kueri, masukkan kueri berikut, yang menggabungkan data log dan tabel eksternal Anda di jalur ke entri bucket Cloud Storage:
-- Query the linked dataset for completion logs. FROM-- Join completion log entries with the external table. |> JOIN `PROJECT_ID.EXT_TABLE_DATASET_NAME.EXT_TABLE_NAME` ON messages_ref_uri = _FILE_NAME |> RENAME `index` AS message_idx -- Flatten. |> CROSS JOIN UNNEST(parts) AS part WITH OFFSET AS part_idx -- Print fields. |> SELECT insert_id, labels, timestamp, trace, span_id, role, part.content, part.uri, part.mime_type, TO_HEX(MD5(part.data)) AS data_md5_hex, part.id AS tool_id, part.name AS tool_name, part.arguments AS tool_args, part.response AS tool_response, message_idx, part_idx, |> ORDER BY timestamp, message_idx, part_idx; |> LIMIT 10;PROJECT_ID.LINKED_DATASET_NAME._AllLogs|> WHERE log_name = 'projects/PROJECT_ID/logs/gen_ai.client.inference.operation.details' AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) |> SELECT insert_id, timestamp, labels, trace, span_id, STRING(labels['gen_ai.input.messages_ref']) AS messages_ref_uriGanti yang berikut sebelum Anda menjalankan kueri:
- PROJECT_ID: ID project.
- LINKED_DATASET_NAME: Nama set data tertaut.
- EXT_TABLE_DATASET_NAME: Nama set data untuk tabel BigLake eksternal.
- EXT_TABLE_NAME: Nama tabel BigLake eksternal.
Opsional: Kueri sebelumnya memfilter menurut nama log dan stempel waktu. Jika Anda juga ingin memfilter menurut ID aktivitas tertentu, tambahkan pernyataan berikut ke klausa
WHERE:AND trace = 'projects/PROJECT_ID/traces/TRACE_ID'Pada ekspresi sebelumnya, ganti TRACE_ID dengan string heksadesimal 16 byte yang berisi ID rekaman aktivitas.
Menggunakan fungsi BigQuery ML
Anda dapat menggunakan fungsi BigQuery ML seperti
AI.GENERATE
pada perintah dan respons yang disimpan di bucket Cloud Storage Anda.
Misalnya, kueri berikut menggabungkan entri log penyelesaian dengan
tabel eksternal, meratakan, dan memfilter hasil gabungan. Selanjutnya, perintah
menjalankan AI.GENERATE untuk menganalisis apakah entri berisi gambar dan untuk membuat
ringkasan setiap entri:
-- Query the linked dataset for completion logs.
FROM PROJECT_ID.LINKED_DATASET_NAME._AllLogs
|> WHERE
log_name = 'projects/PROJECT_ID/logs/gen_ai.client.inference.operation.details'
AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
|> SELECT
insert_id,
timestamp,
labels,
trace,
span_id,
STRING(labels['gen_ai.input.messages_ref']) AS messages_ref_uri
-- Join completion log entries with the external table.
|> JOIN `PROJECT_ID.EXT_TABLE_DATASET_NAME.EXT_TABLE_NAME`
ON messages_ref_uri = _FILE_NAME
|> RENAME `index` AS message_idx
-- Flatten.
|> CROSS JOIN UNNEST(parts) AS part WITH OFFSET AS part_idx
|> WHERE part.uri IS NOT NULL AND part.uri LIKE 'gs://%'
|> LIMIT 10
-- Use natural language to search for images, and then summarize the entry.
|> EXTEND
AI.GENERATE(
(
'Describe the attachment in one sentence and whether the image contains a diagram.',
OBJ.FETCH_METADATA(OBJ.MAKE_REF(part.uri, 'CONNECTION_LOCATION.CONNECTION_ID'))),
connection_id => 'CONNECTION_LOCATION.CONNECTION_ID',
endpoint => 'gemini-2.5-flash-lite',
output_schema => 'description STRING, is_match BOOLEAN') AS gemini_summary
|> SELECT insert_id, trace, span_id, timestamp, part_idx, part.uri, part.mime_type, gemini_summary
|> WHERE gemini_summary.is_match = TRUE
|> ORDER BY timestamp DESC
Ganti yang berikut sebelum Anda menjalankan kueri:
- PROJECT_ID: ID project.
- LINKED_DATASET_NAME: Nama set data tertaut.
- EXT_TABLE_DATASET_NAME: Nama set data untuk tabel BigLake eksternal.
- EXT_TABLE_NAME: Nama tabel BigLake eksternal.
- CONNECTION_LOCATION: Lokasi CONNECTION_ID Anda.
- CONNECTION_ID: ID koneksi.
Menjalankan evaluasi pada data respons perintah dengan Colaboratory
Anda dapat mengevaluasi perintah dan respons menggunakan Vertex AI SDK untuk Python.
Untuk menjalankan evaluasi menggunakan notebook Google Colaboratory, lakukan hal berikut:
Untuk melihat contoh notebook, klik
evaluating_observability_datasets.ipynb.GitHub akan terbuka dan menampilkan petunjuk penggunaan notebook.
Pilih Open in Colab.
Colaboratory akan terbuka dan menampilkan file
evaluating_observability_datasets.ipynb.Di toolbar, klik Salin ke Drive.
Colaboratory akan membuat salinan notebook, menyimpannya ke Drive Anda, lalu membuka salinan tersebut.
Di salinan Anda, buka bagian berjudul Setel informasi project Google Cloud dan masukkan Google Cloud project ID dan lokasi yang didukung oleh Vertex AI. Misalnya, Anda dapat menyetel lokasi ke
"us-central1".Buka bagian berjudul Load in Google Observability Gen AI datasets dan masukkan nilai untuk sumber berikut:
- INPUT_SOURCE
- OUTPUT_SOURCE
- SYSTEM_SOURCE
Anda dapat menemukan nilai untuk kolom ini menggunakan label
gen_aiyang dilampirkan ke entri log Anda. Misalnya, untuk INPUT_SOURCE, nilainya mirip dengan berikut:'gs://STORAGE_BUCKET/PATH/REFERENCE_inputs.jsonl'Dalam ekspresi sebelumnya, kolom memiliki arti berikut:
- STORAGE_BUCKET: Nama bucket Cloud Storage.
- PATH: Jalur ke perintah dan respons.
- REFERENCE: ID data di bucket Cloud Storage Anda.
Untuk mengetahui informasi tentang cara menemukan nilai untuk sumber ini, lihat Menemukan semua entri log yang mereferensikan perintah dan respons.
Di toolbar, klik Jalankan semua.