Memecahkan masalah Memory Bank Platform Agen

Dokumen ini menjelaskan cara menyelesaikan masalah umum saat menggunakan Agent Platform Memory Bank di Agent Platform. Bagian ini memberikan langkah-langkah pemecahan masalah untuk kasus saat kenangan tidak dibuat dan menjelaskan cara memverifikasi penyelesaian operasi.

Tidak ada kenangan yang dibuat

Proses pembuatan memori mencakup langkah penting: menentukan apakah informasi dalam konten sumber cukup bermakna untuk dipertahankan. Respons kosong menunjukkan bahwa proses berhasil dijalankan, tetapi tidak menemukan informasi yang memenuhi kriteria untuk disimpan. Jika Anda mengharapkan kenangan dibuat, panduan ini dapat membantu Anda mengidentifikasi potensi error atau kesalahan konfigurasi.

Untuk memecahkan masalah mengapa kenangan tidak dibuat, ikuti langkah-langkah berikut secara berurutan:

Memeriksa apakah pembuatan memori dipicu

Pertama, pastikan bahwa proses pembuatan memori benar-benar dimulai. Pembuatan dimulai dengan memanggil GenerateMemories (client.agent_engines.memories.generate(...)).

Jika Anda menggunakan VertexAiMemoryBankService ADK, pembuatan memori tidak dipicu secara otomatis. Anda harus memastikan agen atau aplikasi Anda telah secara eksplisit memanggil metode add_session_to_memory untuk memicu proses.

Metode add_session_to_memory mengambil objek Session sebagai input dan menggunakan peristiwa sesi sebagai sumber data untuk pembuatan memori. Metode ini hanya memanggil instance Bank Memori Anda jika ada peristiwa yang diisi dalam objek sesi. Jika aplikasi atau agen ADK Anda memanggil add_session_to_memory tetapi pembuatan memori tidak dipicu, peristiwa objek Session mungkin tidak diisi. Hal ini dapat terjadi meskipun Anda telah berinteraksi dengan sesi, terutama jika Anda menggunakan adk.Runner. Untuk mengatasi masalah ini, ambil sesi dan peristiwanya ke lingkungan tempat Anda memanggil add_session_to_memory:

session = await session_service.get_session(
    app_name=app_name,
    user_id=user_id,
    session_id=session.id
)
# Confirm that events are populated.
print(session.events)
memory_service.add_session_to_memory(session)

Verifikasi bahwa LRO pembuatan memori telah selesai

Pembuatan memori adalah operasi yang berjalan lama (LRO) dan dapat memerlukan waktu beberapa detik untuk diselesaikan. Latensi yang tepat bergantung pada panjang percakapan input dan kompleksitas informasi yang diproses.

Saat menggunakan Agent Engine SDK, pembuatan memori adalah operasi pemblokiran secara default. Jadi, client.generate_memories(...) memblokir eksekusi kode Anda hingga LRO pembuatan memori selesai.

Saat menggunakan VertexAiMemoryBankService ADK, add_session_to_memory adalah operasi non-pemblokiran. Fungsi ini hanya memicu pembuatan memori dan tidak menunggu hingga LRO selesai.

Mencari error dalam respons operasi

Respons LRO mungkin berupa pesan error serupa yang menunjukkan bahwa pembuatan memori tidak berhasil. Contoh:

RuntimeError: Failed to generate memory: {'code': 3, 'message': 'Failed to extract memories: Please use a valid role: user, model.'}

Error umum meliputi:

  • Error kehabisan resource untuk Gemini saat Anda menggunakan model bayar sesuai penggunaan. Dengan kuota bersama dinamis (DSQ), tidak ada batas kuota yang telah ditentukan sebelumnya untuk penggunaan Anda. Untuk membantu memastikan ketersediaan tinggi untuk Bank Memori dan mendapatkan tingkat layanan yang dapat diprediksi untuk workload produksi Anda, lihat Throughput yang Disediakan.

  • Data sumber tidak valid, seperti menggunakan peran selain model dan user dalam Content Anda.

Menentukan apakah percakapan tersebut bermakna

Jika proses dipicu, berhasil diselesaikan, dan tidak menghasilkan error, kemungkinan besar Bank Memori menentukan bahwa tidak ada informasi dalam percakapan sumber yang cukup bermakna untuk dipertahankan.

Memory Bank menggunakan "topik memori" untuk mengidentifikasi informasi yang bermakna. Jika konten percakapan Anda tidak sesuai dengan topik yang dikonfigurasi, kenangan tidak akan dibuat.

Jika Anda yakin bahwa informasi seharusnya dipertahankan, Anda dapat menyesuaikan konfigurasi instance Memory Bank agar lebih sesuai dengan harapan Anda.

Mengonfigurasi topik memori memungkinkan Anda menentukan informasi yang harus dipertahankan. Mengonfigurasi contoh sedikit tembakan membantu instance Bank Memori Anda beradaptasi dengan ekspektasi Anda dengan mengajarkannya nuansa informasi yang harus dipertahankan dan dengan frasa apa. Anda dapat menyesuaikan Memory Bank dalam dua langkah: Menceritakan dan Menunjukkan. Topik Memori memberi tahu Memory Bank informasi apa yang harus dipertahankan. Contoh sedikit menunjukkan kepada Memory Bank jenis informasi yang harus menghasilkan memori tertentu, sehingga membantunya mempelajari pola, nuansa, dan susunan kata yang Anda harapkan untuk dipahaminya.