Mengelola sesi menggunakan panggilan API atau konsol Google Cloud

Bagian ini menjelaskan cara menggunakan Sesi Platform Agen untuk mengelola sesi menggunakan konsol Google Cloud atau panggilan API langsung. Anda dapat menggunakan panggilan API langsung atau konsol jika tidak ingin menggunakan agen ADK untuk mengelola sesi. Google Cloud

Untuk mengelola sesi menggunakan agen ADK, lihat Mengelola sesi dengan Agent Development Kit.

Membuat instance Agent Runtime

Untuk mengakses Sesi Platform Agen, Anda harus menggunakan instance Runtime Agen terlebih dahulu. Anda tidak perlu men-deploy kode apa pun untuk mulai menggunakan Sesi. Jika Anda pernah menggunakan Agent Engine sebelumnya, pembuatan instance Runtime Agen hanya memerlukan waktu beberapa detik tanpa deployment kode. Proses ini mungkin memerlukan waktu lebih lama jika Anda menggunakan Agent Engine untuk pertama kalinya.

Jika Anda belum memiliki instance Agent Runtime, buat instance menggunakan kode berikut:

import vertexai

client = vertexai.Client(
  project="PROJECT_ID",
  location="LOCATION"
)
# If you don't have an Agent Engine instance already, create an instance.
agent_engine = client.agent_engines.create()

# Optionally, print out the Agent Engine resource name. You will need the
# resource name to interact with Sessions later on.
print(agent_engine.api_resource.name)

Ganti kode berikut:

Mencantumkan sesi

Mencantumkan sesi yang terkait dengan instance Agent Runtime Anda.

Konsol

Untuk agen yang di-deploy, Anda dapat menggunakan konsol Google Cloud untuk mencantumkan sesi yang terkait dengan agen Anda:

  1. Di konsol Google Cloud , buka halaman Deployments Agent Platform.

    Buka Deployment

    Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang Anda tentukan.

  2. Klik nama instance Agent Engine Anda.

  3. Klik tab Sesi. Daftar sesi ditampilkan menurut ID.

Python

for session in client.agent_engines.sessions.list(
    name=agent_engine.api_resource.name,  # Required
):
    print(session)

# To list sessions for a specific user:
for session in client.agent_engines.sessions.list(
    name=agent_engine.api_resource.name,  # Required
    config={"filter": "user_id=USER_ID"},
):
    print(session)
  • USER_ID: Pilih ID pengguna Anda sendiri dengan batas karakter 128. Contoh, user-123.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat Anda membuat instance Agent Engine.
  • AGENT_ENGINE_ID: ID resource instance Agent Engine Anda.

Metode HTTP dan URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions" | Select-Object -Expand Content

Anda akan melihat daftar sesi yang ditampilkan.

Jika perlu, untuk mencantumkan sesi pengguna tertentu, Anda dapat menambahkan parameter kueri ?filter=user_id=\"USER_ID\", dengan USER_ID adalah ID pengguna yang ingin Anda kueri.

Membuat sesi

Buat sesi yang terkait dengan ID pengguna.

Konsol

Untuk agen yang di-deploy, Anda dapat menggunakan konsol Google Cloud untuk membuat sesi:

  1. Di konsol Google Cloud , buka halaman Deployments Agent Platform.

    Buka Deployment

    Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang Anda tentukan.

  2. Klik nama instance Agent Engine Anda.

  3. Klik tab Playground.

  4. Klik Sesi baru untuk membuat sesi baru.

Python

session = client.agent_engines.sessions.create(
    name=agent_engine.api_resource.name,  # Required
    user_id=USER_ID, # Required
    session_id=SESSION_ID,
)

dengan USER_ID adalah ID pengguna yang Anda tentukan. Contoh, user-123.

Untuk SESSION_ID, pertimbangkan batasan berikut untuk mencegah konflik dengan ID yang dibuat sistem:

  • Jika karakter pertama adalah huruf, ID dapat memiliki panjang hingga 63 karakter. Karakter yang valid adalah huruf kecil, angka, dan tanda hubung ([a-z0-9-]). Karakter terakhir harus berupa huruf atau angka
  • Jika karakter pertama adalah angka, ID dapat memiliki panjang hingga 9 karakter. Karakter yang valid adalah angka ([0-9]) tanpa angka nol di depannya.

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat Anda membuat instance Agent Engine.
  • AGENT_ENGINE_ID: ID resource instance Agent Engine Anda.
  • USER_ID: ID pengguna yang Anda tentukan. Contoh, sessions-agent.
  • SESSION_ID: ID sesi yang Anda tentukan. Contoh, my-custom-session.

    Untuk mencegah bentrokan dengan ID yang dibuat sistem, ikuti batasan berikut saat Anda menentukan ID sesi kustom:

    • Jika karakter pertama adalah huruf, ID dapat memiliki panjang hingga 63 karakter. Karakter yang valid adalah huruf kecil, angka, dan tanda hubung (`[a-z0-9-]`). Karakter terakhir harus berupa huruf atau angka.
    • Jika karakter pertama adalah angka, ID dapat memiliki panjang hingga 9 karakter. Karakter yang valid adalah angka (`[0-9]`) tanpa angka nol di depannya.

    Metode HTTP dan URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions

    Meminta isi JSON:

    {
      "userId": USER_ID
    }
    
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions" | Select-Object -Expand Content

    Anda akan menerima operasi yang berjalan lama yang dapat Anda kueri untuk memeriksa status pembuatan sesi.

Mengonfigurasi time to live (TTL) sesi

Semua sesi harus memiliki waktu habis masa berlaku. Anda dapat menentukan waktu habis masa berlaku ini saat membuat atau memperbarui sesi. Sesi dan peristiwa turunannya akan otomatis dihapus setelah waktu habis masa berlaku berlalu. Anda dapat menyetel waktu habis masa berlaku (expire_time) secara langsung atau menyetel waktu aktif (ttl) dalam detik. Jika tidak ada yang ditentukan, sistem akan menerapkan TTL default 365 hari.

Time to live (TTL)

Jika Anda menetapkan time to live (TTL), server akan menghitung waktu habis masa berlaku sebagai create_time + ttl untuk sesi yang baru dibuat atau update_time + ttl untuk sesi yang diperbarui.

client.agent_engines.sessions.create(
    name=agent_engine.api_resource.name,  # Required
    user_id=USER_ID, # Required
    config={
        # Session will be deleted 10 days after creation time.
        "ttl": f"{24 * 60 * 60 * 10}s"
    }
)

Waktu habis masa berlaku

import datetime

client.agent_engines.sessions.create(
    name=agent_engine.api_resource.name,  # Required
    user_id=USER_ID, # Required
    config={
        # Session will be deleted at the provided time (10 days after current time).
        "expire_time": datetime.datetime.now(tz=datetime.timezone.utc) + datetime.timedelta(seconds=24 * 60 * 60 * 10),
    }
)

Mendapatkan sesi

Mendapatkan sesi tertentu yang terkait dengan instance Agent Platform Anda.

Konsol

Untuk agen yang di-deploy, Anda dapat menggunakan konsol Google Cloud untuk membuat sesi:

  1. Di konsol Google Cloud , buka halaman Deployments Agent Platform.

    Buka Deployment

    Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang Anda tentukan.

  2. Klik nama instance Agent Engine Anda.

  3. Klik tab Playground.

  4. Klik tab Sesi. Daftar sesi ditampilkan menurut ID.

  5. Klik sesi yang ingin Anda lihat secara lebih detail.

Python

session = client.agent_engines.sessions.get(
    name='projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID',  # Required
    user_id=USER_ID, # Required
)
# session.name will correspond to
#   'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID'

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat Anda membuat instance Agent Engine.
  • AGENT_ENGINE_ID: ID resource instance Agent Engine Anda.
  • SESSION_ID: ID resource sesi yang ingin Anda ambil. Anda bisa mendapatkan ID sesi dari respons yang Anda terima saat membuat sesi.

Metode HTTP dan URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID" | Select-Object -Expand Content

Dalam respons, Anda akan melihat informasi tentang sesi Anda.

Menghapus sesi

Menghapus sesi yang terkait dengan instance Agent Platform Anda.

Konsol

Untuk agen yang di-deploy, Anda dapat menggunakan konsol Google Cloud untuk menghapus sesi yang terkait dengan agen Anda:

  1. Di konsol Google Cloud , buka halaman Deployments Agent Platform.

    Buka Deployment

    Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang Anda tentukan.

  2. Klik nama instance Agent Engine Anda.

  3. Klik tab Sesi. Daftar sesi ditampilkan menurut ID.

  4. Klik menu tindakan lainnya () dari sesi yang ingin Anda hapus.

  5. Klik Hapus.

  6. Klik Hapus sesi.

Python

client.agent_engines.sessions.delete(name=session.name)

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat Anda ingin membuat instance Example Store.
  • AGENT_ENGINE_ID: ID resource instance Agent Engine Anda.
  • SESSION_ID: ID resource sesi yang ingin Anda ambil.

Metode HTTP dan URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID" | Select-Object -Expand Content

Anda akan menerima kode status berhasil (2xx) dan respons kosong.

Mencantumkan peristiwa dalam sesi

Mencantumkan peristiwa dalam sesi yang terkait dengan instance Platform Agen Anda.

Konsol

Untuk agen yang di-deploy, Anda dapat menggunakan konsol Google Cloud untuk membuat sesi:

  1. Di konsol Google Cloud , buka halaman Deployments Agent Platform.

    Buka Deployment

    Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang Anda tentukan.

  2. Klik nama instance Agent Engine Anda.

  3. Klik tab Playground.

  4. Klik tab Sesi. Daftar sesi ditampilkan menurut ID.

  5. Klik sesi yang ingin Anda lihat secara lebih detail.

  6. Klik tab Peristiwa untuk melihat peristiwa yang terkait dengan sesi.

Python

for session_event in client.agent_engines.list_session_events(
    name=session.name,
):
    print(session_event)

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat Anda membuat instance Agent Engine.
  • AGENT_ENGINE_ID: ID resource instance Agent Engine Anda.
  • SESSION_ID: ID resource sesi yang ingin Anda ambil.

Metode HTTP dan URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events"

PowerShell

Jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events" | Select-Object -Expand Content

Dalam respons, Anda akan melihat daftar peristiwa yang terkait dengan sesi Anda.

Menambahkan peristiwa ke sesi

Menambahkan peristiwa ke sesi yang terkait dengan instance Platform Agen.

Konsol

Untuk agen yang di-deploy, Anda dapat menggunakan konsol Google Cloud untuk membuat sesi:

  1. Di konsol Google Cloud , buka halaman Deployments Agent Platform.

    Buka Deployment

    Instance Agent Engine yang merupakan bagian dari project yang dipilih akan muncul dalam daftar. Anda dapat menggunakan kolom Filter untuk memfilter daftar menurut kolom yang Anda tentukan.

  2. Klik nama instance Agent Engine Anda.

  3. Klik tab Playground.

  4. Klik tab Sesi. Daftar sesi ditampilkan menurut ID.

  5. Klik sesi yang ingin Anda lihat secara lebih detail.

  6. Klik tab Peristiwa untuk melihat peristiwa yang terkait dengan sesi.

  7. Ketik pesan dan tekan Enter untuk menambahkan peristiwa baru ke sesi.

Python

import datetime

client.agent_engines.sessions.events.append(
    name=session.name,
    author="user",                                              # Required.
    invocation_id="1",                                          # Required.
    timestamp=datetime.datetime.now(tz=datetime.timezone.utc),  # Required.
    config={
        "content": {
            "role": "user",
            "parts": [{"text": "hello"}]
        },
    },
)

Atau, Anda dapat menggunakan kolom raw_event untuk menyertakan data arbitrer dalam peristiwa sesi. Hal ini berguna untuk interoperabilitas dengan framework agen lainnya atau untuk menyimpan data peristiwa kustom.

client.agent_engines.sessions.events.append(
    name=session.name,
    author="user",                                              # Required.
    invocation_id="1",                                          # Required.
    timestamp=datetime.datetime.now(tz=datetime.timezone.utc),  # Required.
    config={
        "raw_event": {
            "content": "hello",
            "custom_field": "custom_value"
        },
    },
)

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • LOCATION: Region tempat Anda membuat instance Agent Engine.
  • AGENT_ENGINE_ID: ID resource instance Agent Engine Anda.
  • USER_ID: ID pengguna yang Anda tentukan. Contoh, sessions-agent.
  • SESSION_ID: ID sesi yang Anda tentukan. Contoh, my-custom-session.

    Untuk mencegah bentrokan dengan ID yang dibuat sistem, ikuti batasan berikut saat Anda menentukan ID sesi kustom:

    • Jika karakter pertama adalah huruf, ID dapat memiliki panjang hingga 63 karakter. Karakter yang valid adalah huruf kecil, angka, dan tanda hubung (`[a-z0-9-]`). Karakter terakhir harus berupa huruf atau angka.
    • Jika karakter pertama adalah angka, ID dapat memiliki panjang hingga 9 karakter. Karakter yang valid adalah angka (`[0-9]`) tanpa angka nol di depannya.

    Metode HTTP dan URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions

    Meminta isi JSON:

    {
      "userId": USER_ID
    }
    
    

    Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

    curl

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions"

    PowerShell

    Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions" | Select-Object -Expand Content

    Anda akan menerima operasi yang berjalan lama yang dapat Anda kueri untuk memeriksa status pembuatan sesi.

Pembersihan

Untuk membersihkan semua resource yang digunakan dalam project ini, Anda dapat menghapus instance Agent Platform beserta resource turunannya:

agent_engine.delete(force=True)