In diesem Dokument erfahren Sie, wie Sie häufige Probleme bei der Verwendung von Vertex AI Agent Engine Memory Bank beheben.
Es wurden keine Erinnerungen erstellt
Der Prozess der Speichergenerierung umfasst einen entscheidenden Schritt: Es wird ermittelt, ob Informationen in den Quellinhalten aussagekräftig genug sind, um gespeichert zu werden. Eine leere Antwort gibt an, dass der Prozess erfolgreich ausgeführt wurde, aber keine Informationen gefunden wurden, die die Kriterien für das Speichern erfüllen. Wenn Sie erwartet haben, dass Erinnerungen generiert werden, können Sie mit dieser Anleitung potenzielle Fehler oder Fehlkonfigurationen erkennen.
Gehen Sie zur Fehlerbehebung so vor:
Prüfen, ob die Erinnerungserstellung ausgelöst wurde
Prüfen Sie zuerst, ob der Prozess zum Erstellen von Erinnerungen tatsächlich gestartet wurde. Die Arbeitsspeichergenerierung wird durch Aufrufen von GenerateMemories (client.agent_engines.memories.generate(...)) initiiert.
Wenn Sie VertexAiMemoryBankService des ADK verwenden, wird die Speichergenerierung nicht automatisch ausgelöst. Ihr Agent oder Ihre Anwendung muss die Methode add_session_to_memory explizit aufgerufen haben, um den Prozess auszulösen.
add_session_to_memory verwendet ein Session-Objekt als Eingabe und die Ereignisse der Sitzung als Datenquelle für die Generierung von Erinnerungen. Die Memory Bank-Instanz wird nur aufgerufen, wenn im Sitzungsobjekt Ereignisse vorhanden sind. Wenn Ihre ADK-Anwendung oder Ihr ADK-Agent add_session_to_memory aufruft, die Speichergenerierung aber nicht ausgelöst wurde, werden die Ereignisse des Session-Objekts möglicherweise nicht ausgefüllt. Das ist auch dann möglich, wenn Sie mit der Sitzung interagiert haben, insbesondere wenn Sie adk.Runner verwenden. Um dieses Problem zu beheben, rufen Sie die Sitzung und ihre Ereignisse in der Umgebung ab, in der Sie add_session_to_memory aufrufen:
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)
Prüfen, ob der LRO für die Speichergenerierung abgeschlossen ist
Das Erstellen von Erinnerungen ist ein Vorgang mit langer Ausführungszeit und kann einige Sekunden dauern. Die genaue Latenz hängt von der Länge des Eingabegesprächs und der Komplexität der verarbeiteten Informationen ab.
Wenn Sie das Agent Engine SDK verwenden, ist die Speichergenerierung standardmäßig ein blockierender Vorgang. client.generate_memories(...) blockiert also die Ausführung Ihres Codes, bis der LRO für die Speichergenerierung abgeschlossen ist.
Wenn Sie VertexAiMemoryBankService des ADK verwenden, ist add_session_to_memory ein nicht blockierender Vorgang. Es löst nur die Speichergenerierung aus und wartet nicht auf den Abschluss des LRO.
In der Vorgangsantwort nach Fehlern suchen
Die LRO-Antwort kann eine Fehlermeldung enthalten, die darauf hinweist, dass die Speichergenerierung fehlgeschlagen ist. Beispiel:
RuntimeError: Failed to generate memory: {'code': 3, 'message': 'Failed to extract memories: Please use a valid role: user, model.'}
Häufige Fehler:
Fehler vom Typ „Resource exhausted“ für Gemini bei der nutzungsbasierten Abrechnung: Mit dem dynamischen freigegebenen Kontingent (Dynamic Shared Quota, DSQ) gibt es keine vordefinierten Kontingentlimits für Ihre Nutzung. Informationen zur Gewährleistung einer hohen Verfügbarkeit für Memory Bank und zur Erzielung vorhersehbarer Servicelevels für Ihre Produktionsarbeitslasten finden Sie unter Bereitgestellter Durchsatz.
Ungültige Quelldaten, z. B. wenn Sie in Ihrem
Contentandere Rollen alsmodelunduserverwenden.
Feststellen, ob die Unterhaltung sinnvoll war
Wenn der Prozess ausgelöst und erfolgreich abgeschlossen wurde und keine Fehler aufgetreten sind, hat Memory Bank wahrscheinlich festgestellt, dass keine Informationen im Quellgespräch aussagekräftig genug waren, um gespeichert zu werden.
Memory Bank verwendet Erinnerungsthemen, um zu ermitteln, welche Informationen relevant sind. Wenn der Inhalt Ihres Gesprächs nicht mit den konfigurierten Themen übereinstimmt, werden keine Erinnerungen generiert.
Wenn Sie der Meinung sind, dass Informationen hätten beibehalten werden sollen, können Sie die Konfiguration Ihrer Memory Bank-Instanz anpassen, um sie besser an Ihre Erwartungen anzupassen.
Mit Erinnerungsthemen konfigurieren können Sie festlegen, welche Informationen gespeichert werden sollen. Durch das Konfigurieren von Few-Shot-Beispielen kann sich Ihre Memory Bank-Instanz an Ihre Erwartungen anpassen, indem sie lernt, welche Informationen mit welcher Formulierung beibehalten werden sollen. Die Anpassung des Memory Bank lässt sich in zwei Schritte unterteilen: „Erzählen“ und „Zeigen“. Mit Memory-Themen wird der Memory Bank mitgeteilt, welche Informationen gespeichert werden sollen. Few-Shots zeigen Memory Bank, welche Art von Informationen zu einer bestimmten Erinnerung führen soll. So kann das Tool die Muster, Nuancen und Formulierungen lernen, die Sie erwarten.