Dokumen ini menguraikan langkah-langkah untuk melengkapi agen LangGraph ReAct dengan OpenTelemetry, yang memungkinkan pengumpulan telemetri dari agen. Perintah pengguna dan respons serta pilihan agen disertakan dalam telemetri sebagai atribut yang dilampirkan ke rentang. Respons agen juga disertakan dalam entri log yang dikorelasikan dengan rentang yang berisi peristiwa AI generatif. Petunjuk dalam dokumen ini berlaku saat agen menggunakan ChatVertexAI Langchain untuk memanggil model Gemini.
Aplikasi yang menggunakan agen LangGraph ReAct juga dapat mengumpulkan perintah dan respons multimodal. Dokumen ini menjelaskan cara mengumpulkan perintah dan respons teks. Jika Anda ingin mengumpulkan data multimodal, konfigurasi tambahan diperlukan. Untuk mengetahui informasi selengkapnya, lihat Mengumpulkan dan melihat perintah dan respons multimodal.
Melengkapi aplikasi AI generatif untuk mengumpulkan telemetri
Untuk melengkapi aplikasi AI generatif Anda guna mengumpulkan data log, metrik, dan rekaman aktivitas, lakukan hal berikut:
- Menginstal paket OpenTelemetry
- Mengonfigurasi OpenTelemetry untuk mengumpulkan dan mengirim telemetri
- Melacak pemanggilan agen AI generatif
Menginstal paket OpenTelemetry
Tambahkan paket instrumentasi dan eksportir OpenTelemetry berikut:
uv add 'opentelemetry-instrumentation-vertexai>=2.0b0' \
'opentelemetry-instrumentation-sqlite3' \
'opentelemetry-exporter-gcp-logging' \
'opentelemetry-exporter-otlp-proto-grpc'
Data log dan metrik dikirim ke your Google Cloud project menggunakan
Cloud Logging API atau Cloud Monitoring API. Library
opentelemetry-exporter-gcp-logging memanggil
endpoint di API tersebut.
Data rekaman aktivitas dan metrik dikirim ke Google Cloud menggunakan
Telemetry (OTLP) API, yang mengimplementasikan
OpenTelemetry Line Protocol.
Library opentelemetry-exporter-otlp-proto-grpc
memanggil endpoint API Telemetry (OTLP).
Data rekaman aktivitas Anda disimpan dalam format yang umumnya konsisten dengan file proto yang ditentukan oleh OpenTelemetry Line Protocol. Namun, kolom mungkin dikonversi dari jenis data khusus OpenTelemetry ke jenis data JSON sebelum penyimpanan. Untuk mempelajari format penyimpanan lebih lanjut, lihat Skema untuk data rekaman aktivitas.
Mengonfigurasi OpenTelemetry untuk mengumpulkan dan mengirim telemetri
Dalam kode inisialisasi agen LangGraph, konfigurasi OpenTelemetry untuk mengambil dan mengirim telemetri ke your Google Cloud project:
Untuk melihat contoh lengkap, klik more_vert Lainnya, lalu pilih Lihat di GitHub.
Melacak pemanggilan agen AI generatif
Untuk melacak eksekusi pemanggilan agen LangGraph, buat rentang kustom di sekitar pemanggilan agen:
Untuk melihat contoh lengkap, klik more_vert Lainnya, lalu pilih Lihat di GitHub.
Anda mungkin ingin menyertakan kode sebelumnya di tempat-tempat penting dalam kode aplikasi.
Untuk mempelajari lebih lanjut cara menambahkan rentang dan metrik kustom, lihat Menambahkan rekaman aktivitas dan metrik kustom ke aplikasi.
Menjalankan contoh
Contoh ini adalah agen LangGraph yang dilengkapi dengan OpenTelemetry untuk mengirim rekaman aktivitas dan log dengan perintah dan respons AI generatif, serta metrik ke Google Cloud project Anda.
Persona agen LangGraph
Agen LangGraph ditentukan sebagai pakar SQL yang memiliki akses penuh ke database SQLite sementara. Agen diimplementasikan dengan agen ReAct bawaan LangGraph dan mengakses database, yang awalnya kosong, menggunakan SQLDatabaseToolkit.
Sebelum memulai
- Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Aktifkan Vertex AI, Penggunaan Layanan, Telemetri, Cloud Logging, Cloud Monitoring, dan Cloud Trace API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable aiplatform.googleapis.com
serviceusage.googleapis.com telemetry.googleapis.com logging.googleapis.com monitoring.googleapis.com cloudtrace.googleapis.com -
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Aktifkan Vertex AI, Penggunaan Layanan, Telemetri, Cloud Logging, Cloud Monitoring, dan Cloud Trace API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable aiplatform.googleapis.com
serviceusage.googleapis.com telemetry.googleapis.com logging.googleapis.com monitoring.googleapis.com cloudtrace.googleapis.com Jika Anda menjalankan contoh di Cloud Shell, di Google Cloud resource, atau di lingkungan pengembangan lokal, izin yang tercantum di bagian ini sudah cukup. Untuk aplikasi produksi, biasanya akun layanan memberikan kredensial untuk menulis data log, metrik, dan rekaman aktivitas.
Untuk mendapatkan izin yang Anda perlukan agar aplikasi contoh dapat menulis data log, metrik, dan rekaman aktivitas, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
- Cloud Telemetry Traces Writer (
roles/telemetry.tracesWriter) - Logs Writer (
roles/logging.logWriter) - Monitoring Metric Writer (
roles/monitoring.metricWriter) - Vertex AI User (
roles/aiplatform.user)
- Cloud Telemetry Traces Writer (
Pastikan Anda menentukan project kuota. Vertex AI API (
aiplatform.googleapis.com) mengharuskan project kuota ditentukan. Untuk mengetahui informasi selengkapnya, lihat Menetapkan project kuota. Misalnya, perintah berikut dapat menetapkan project kuota.gcloud config set billing/quota_project PROJECT_ID
Menjalankan contoh
Untuk menjalankan contoh, lakukan hal berikut:
Di Cloud Shell, clone repositori:
git clone https://github.com/GoogleCloudPlatform/opentelemetry-samples.gitBuka direktori contoh:
cd opentelemetry-samples/python/langgraph-sql-agentKonfigurasi variabel lingkungan:
# Capture GenAI prompts and responses export OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true # Capture application logs automatically export OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true # Set the location to one that supports gemini-3.5-flash export GOOGLE_CLOUD_REGION=globalJika Anda lebih suka menggunakan model lain, edit
main.py. Pastikan model Anda mendukung lokasi yang Anda tentukan. Untuk mengetahui informasi tentang model, lihat Model Google.Buat lingkungan virtual dan jalankan contoh:
uv run main.pyAplikasi akan menampilkan pesan yang mirip dengan berikut ini:
Starting agent using ephemeral SQLite DB.Untuk membuat database, masukkan nilai di perintah Talk to the SQL agent >>, lalu tekan Enter.
Tindakan yang dilakukan oleh agen kemudian akan ditampilkan di Cloud Shell Anda.
Berikut ini mengilustrasikan contoh interaksi antara pengguna dan aplikasi:
Talk to the SQL agent >> Create a new table to hold weather data. 👤 User: Create a new table to hold weather data. 🤖 Agent: Okay, I'll create a table to hold weather data. First, I need to decide on the schema for the table. I'll include columns for date, location, temperature, humidity, and precipitation. CREATE TABLE weather ( date DATE, location VARCHAR(255), temperature REAL, humidity REAL, precipitation REAL ); 🤖 Agent: I have created the weather table. 👤 User: Add altitude to the table. 🤖 Agent ALTER TABLE weather ADD COLUMN altitude REAL;Untuk keluar, masukkan
Ctrl-C.
Tindakan yang dilakukan oleh agen AI generatif tidak deterministik, sehingga Anda mungkin melihat respons yang berbeda untuk perintah yang sama.
Melihat rekaman aktivitas, metrik, dan log
Bagian ini menjelaskan cara melihat peristiwa AI generatif.
Sebelum memulai
Untuk mendapatkan izin yang Anda perlukan untuk melihat data log, metrik, dan rekaman aktivitas, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
- Logs Viewer (
roles/logging.viewer) - Monitoring Viewer (
roles/monitoring.viewer) - Cloud Trace User (
roles/cloudtrace.user)
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.
Melihat telemetri
Untuk melihat peristiwa AI generatif, gunakan halaman Trace Explorer:
-
Di Google Cloud konsol, buka halaman
Trace explorer:
Anda juga dapat menemukan halaman ini menggunakan kotak penelusuran.
Di toolbar, pilih Add filter, pilih Span name, lalu pilih
invoke agent.Bagian Menjalankan contoh menyertakan contoh eksekusi saat dua perintah dikirim ke aplikasi. Berikut ini mengilustrasikan halaman Trace Explorer setelah memfilter data:
Jika Anda belum pernah menggunakan Cloud Trace, Google Cloud Observability perlu membuat database untuk menyimpan data rekaman aktivitas Anda. Pembuatan database dapat memerlukan waktu beberapa menit dan selama periode tersebut, tidak ada data rekaman aktivitas yang dapat dilihat.
Untuk menjelajahi data rentang dan log, di tabel Spans, pilih rentang.
Halaman Details akan terbuka. Halaman ini menampilkan rekaman aktivitas terkait dan rentangnya. Tabel di halaman menampilkan informasi mendetail untuk rentang yang Anda pilih. Informasi ini mencakup hal berikut:
Tab Inputs/Outputs menampilkan peristiwa untuk agen AI generatif. Untuk mempelajari peristiwa ini lebih lanjut, lihat Melihat peristiwa AI generatif.
Screenshot berikut mengilustrasikan rekaman aktivitas, dengan satu rentang memiliki nama
invoke_agent. Rentang tersebut memanggil Gemini. Rentang Gemini mencakup peristiwa AI generatif:
Tab Logs &Events mencantumkan entri log dan peristiwa yang terkait dengan rentang. Jika Anda ingin melihat data log di Logs Explorer, pilih View logs di toolbar tab ini.
Data log mencakup respons agen LangGraph. Misalnya, untuk contoh yang dijalankan, payload JSON mencakup konten berikut:
{ logName: "projects/my-project/logs/otel_python_inprocess_log_name_temp" jsonPayload: { message: { role: "model" content: [ 0: { text: "Okay, I'll create a table to hold weather data. First, I need to decide on the schema for the table. I'll include columns for date, location, temperature, humidity, and precipitation. CREATE TABLE weather ( date DATE, location VARCHAR(255), temperature REAL, humidity REAL, precipitation REAL ); " } ] } index: 0 } ... }
Contoh ini dilengkapi untuk mengirim data metrik ke your Google Cloud project, tetapi tidak menghasilkan metrik apa pun.