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:
Get memory (Erinnerung abrufen): Ruft den vollständigen Inhalt einer einzelnen Erinnerung ab.
Erinnerungen auflisten: Erinnerungen auflisten
Erinnerungen abrufen: Erinnerungen mithilfe des bereichsbasierten Abrufs von Erinnerungen abrufen. Erinnerungen über die Ähnlichkeitssuche oder alle Erinnerungen im Umfang 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.get_memory(name="MEMORY_NAME")
Ersetzen Sie Folgendes:
- MEMORY_NAME: Ein vollständig qualifizierter Name des Speichers im Format „projects/.../locations/.../reasoningEngines/.../memories...“.
Erinnerungen auflisten
Mit ListMemories
können Sie alle Erinnerungen in Ihrem Erinnerungsspeicher abrufen.
pager = client.agent_engines.list_memories(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 kann nicht mehr geändert werden.
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. Bei der Ähnlichkeitssuche werden nur Erinnerungen berücksichtigt, 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.retrieve_memories(
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.retrieve_memories(
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.