Auf dieser Seite wird beschrieben, wie Sie generierte und hochgeladene Erinnerungen aus der Memory Bank abrufen. Den gesamten Workflow zum Konfigurieren, Generieren und Verwenden von Memory Bank finden Sie in der Kurzanleitung zur REST API.
Sie haben folgende Möglichkeiten, generierte Erinnerungen abzurufen:
Speicher abrufen: Mit dem Vertex AI SDK können Sie den vollständigen Inhalt eines einzelnen Speichers abrufen.
Erinnerungen auflisten: Erinnerungen mit dem Vertex AI SDK oder der Google Cloud Console auflisten.
Erinnerungen abrufen: Mit dem Vertex AI SDK können Sie Erinnerungen mithilfe des bereichsbasierten Abrufs von Erinnerungen abrufen. Sie können Erinnerungen über die Ähnlichkeitssuche oder alle Erinnerungen im Bereich abrufen.
Hinweise
Um die Schritte auf dieser Seite auszuführen, müssen Sie zuerst die Schritte unter Memory Bank einrichten ausführen.
Gemerkte Informationen abrufen
Mit GetMemories können Sie den vollständigen Inhalt einer einzelnen Erinnerung abrufen:
memory = client.agent_engines.memories.get(
name="MEMORY_NAME")
Ersetzen Sie Folgendes:
- MEMORY_NAME: Ein vollständig qualifizierter Name des Speichers im Format „projects/.../locations/.../reasoningEngines/.../memories...“.
Erinnerungen auflisten
Console
Bei bereitgestellten Agenten können Sie in der Google Cloud -Konsole alle Erinnerungen auflisten, die mit Ihrer Agent Engine-Instanz verknüpft sind:
- Rufen Sie in der Google Cloud Console die Seite Vertex AI Agent Engine auf.
Agent Engine-Instanzen, die Teil des ausgewählten Projekts sind, werden in der Liste angezeigt. Mit dem Feld Filtern können Sie die Liste nach der von Ihnen angegebenen Spalte filtern.
Klicken Sie auf den Namen Ihrer Agent Engine-Instanz.
Klicken Sie auf den Tab Erinnerungen. Eine Liste der Erinnerungen wird nach ID angezeigt. Sie können die Erinnerungen nach Bereich filtern, z. B.
{"user_id": "123"}.
Vertex AI SDK
Mit ListMemories können Sie alle Erinnerungen in Ihrem Erinnerungsspeicher abrufen.
pager = client.agent_engines.memories.list(name=agent_engine.api_resource.name)
for page in pager:
print(page)
Erinnerungen mithilfe des bereichsbasierten Abrufs abrufen
Mit RetrieveMemories können Sie Erinnerungen für einen bestimmten Bereich abrufen. Es werden nur Erinnerungen zurückgegeben, die genau denselben Umfang (unabhängig von der Reihenfolge) wie die Abrufanfrage haben. So können Sie beispielsweise mit {"user_id": "123"} alle Erinnerungen abrufen, die auf einen bestimmten Nutzer beschränkt sind. Wenn keine Erinnerungen zurückgegeben werden, sind für den angegebenen Bereich keine Erinnerungen im Memory Bank vorhanden.
Der Umfang einer Erinnerung wird beim Generieren oder Erstellen der Erinnerung definiert und ist unveränderlich.
Mit RetrieveMemories können Sie die folgenden Vorgänge für einen bestimmten Bereich ausführen:
Erinnerungen über die Ähnlichkeitssuche abrufen
Wenn Sie viele Erinnerungen für einen bestimmten Bereich haben, können Sie die Ähnlichkeitssuche verwenden, um nur die ähnlichsten Erinnerungen abzurufen. Dazu müssen Sie Parameter für die Ähnlichkeitssuche angeben. Memory Bank berücksichtigt bei der Ähnlichkeitssuche nur Erinnerungen, die genau denselben Umfang wie die Anfrage haben. Bei der Ähnlichkeitssuche werden die Einbettungsvektoren zwischen den Fakten der Erinnerungen und der Suchanfrage verglichen.
Die zurückgegebenen Erinnerungen werden von der ähnlichsten (kürzester euklidischer Abstand) zur am wenigsten ähnlichen (größter euklidischer Abstand) sortiert:
results = client.agent_engines.memories.retrieve(
name=agent_engine.api_resource.name,
scope=SCOPE,
similarity_search_params={
"search_query": "QUERY",
# Optional. Defaults to 3.
"top_k": 3
}
)
# RetrieveMemories returns a pager. You can use `list` to retrieve all memories.
list(results)
"""
Returns:
[
RetrieveMemoriesResponseRetrievedMemory(
memory=Memory(
name="projects/.../locations/.../reasoningEngines/.../memories/...",
...
fact="This is a fact."
},
distance=0.5
),
RetrieveMemoriesResponseRetrievedMemory(
memory=Memory(
name="projects/.../locations/.../reasoningEngines/.../memories/...",
...
fact="This is another fact."
},
distance=0.7
),
]
"""
Ersetzen Sie Folgendes:
QUERY: Die Abfrage, für die die Ähnlichkeitssuche durchgeführt werden soll. Sie können beispielsweise den letzten Nutzerbeitrag der Unterhaltung als Anfrage verwenden.
SCOPE: Ein Dictionary, das den Umfang der Ähnlichkeitssuche darstellt. Beispiel:
{"user_id": "123"}. Es werden nur Erinnerungen mit demselben Umfang wie die Anfrage berücksichtigt.
Alle gemerkten Informationen abrufen
Wenn keine Parameter für die Ähnlichkeitssuche angegeben werden, gibt RetrieveMemories alle Erinnerungen mit dem angegebenen Bereich zurück, unabhängig von ihrer Ähnlichkeit mit der aktuellen Unterhaltung.
results = client.agent_engines.memories.retrieve(
name=agent_engine.api_resource.name,
scope=SCOPE
)
# RetrieveMemories returns a pager. You can use `list` to retrieve all pages' memories.
list(results)
"""
Returns:
[
RetrieveMemoriesResponseRetrievedMemory(
memory=Memory(
name="projects/.../locations/.../reasoningEngines/.../memories/...",
...
fact="This is a fact."
}
),
RetrieveMemoriesResponseRetrievedMemory(
memory=Memory(
name="projects/.../locations/.../reasoningEngines/.../memories/...",
...
fact="This is another fact."
}
),
]
"""
Ersetzen Sie Folgendes:
- SCOPE: Ein Dictionary, das den Bereich für den Abruf darstellt. Beispiel:
{"user_id": "123"}. Es werden nur Erinnerungen mit demselben Umfang wie die Anfrage zurückgegeben.