Questa pagina descrive come recuperare i ricordi generati e caricati da Memory Bank. Per l'intero flusso di lavoro di configurazione, generazione e utilizzo di Memory Bank, consulta la guida rapida con l'API REST.
Per recuperare i ricordi generati, hai a disposizione le seguenti opzioni:
Ottieni memoria: ottieni l'intero contenuto di una singola memoria utilizzando l'SDK Vertex AI.
Elenca ricordi: elenca i ricordi utilizzando l'SDK Vertex AI o la console Google Cloud .
Recupera ricordi: utilizzando l'SDK Vertex AI, recupera i ricordi utilizzando il recupero dei ricordi basato sull'ambito. Recupera i ricordi utilizzando la ricerca per somiglianza o tutti i ricordi nell'ambito.
Prima di iniziare
Per completare i passaggi illustrati in questa pagina, devi prima seguire i passaggi descritti in Configurazione di Memory Bank.
Recuperare un ricordo
Utilizza GetMemories per ottenere l'intero contenuto di un singolo ricordo:
memory = client.agent_engines.memories.get(
name="MEMORY_NAME")
Sostituisci quanto segue:
- MEMORY_NAME: un nome di memoria completo nel formato "projects/.../locations/.../reasoningEngines/.../memories...".
Elenco dei ricordi
Console
Per gli agenti di cui è stato eseguito il deployment, puoi utilizzare la console Google Cloud per elencare tutte le memorie associate alla tua istanza di Agent Engine:
- Nella console Google Cloud , vai alla pagina Vertex AI Agent Engine.
Nell'elenco vengono visualizzate le istanze di Agent Engine che fanno parte del progetto selezionato. Puoi utilizzare il campo Filtra per filtrare l'elenco in base alla colonna specificata.
Fai clic sul nome dell'istanza di Agent Engine.
Fai clic sulla scheda Ricordi. Viene visualizzato un elenco di ricordi per ID. Puoi filtrare i ricordi per ambito (ad esempio,
{"user_id": "123"}).
SDK Vertex AI
Utilizza ListMemories per recuperare tutti i ricordi nella tua Banca dei ricordi.
pager = client.agent_engines.memories.list(name=agent_engine.api_resource.name)
for page in pager:
print(page)
Recuperare i ricordi utilizzando il recupero basato sull'ambito
Puoi utilizzare RetrieveMemories per recuperare i ricordi per un ambito specifico. Vengono restituite solo le memorie che hanno esattamente lo stesso ambito (indipendentemente dall'ordine) della richiesta di recupero. Ad esempio, puoi recuperare tutti i ricordi associati a un determinato utente utilizzando {"user_id": "123"}. Se non vengono restituiti ricordi, la banca dati dei ricordi non ne ha per l'ambito fornito.
L'ambito di un ricordo viene definito quando il ricordo viene generato o creato ed è immutabile.
Puoi utilizzare RetrieveMemories per eseguire le seguenti operazioni per un ambito specifico:
Recuperare i ricordi utilizzando la ricerca per similarità
Nei casi in cui hai molti ricordi per un ambito specifico, puoi utilizzare la ricerca per similarità per recuperare solo i ricordi più simili fornendo i parametri di ricerca per similarità. Memory Bank prende in considerazione solo i ricordi che hanno esattamente lo stesso ambito della richiesta quando esegue la ricerca di similarità. La ricerca di somiglianza confronta i vettori di embedding tra i fatti dei ricordi e la query di ricerca della richiesta.
I ricordi restituiti sono ordinati dal più simile (distanza euclidea più breve) al meno simile (distanza euclidea più lunga):
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
),
]
"""
Sostituisci quanto segue:
QUERY: La query per cui eseguire la ricerca di somiglianze. Ad esempio, puoi utilizzare l'ultimo turno della conversazione come query.
SCOPE: un dizionario che rappresenta l'ambito della ricerca di similarità. Ad esempio,
{"user_id": "123"}. Vengono prese in considerazione solo le memorie con lo stesso ambito della richiesta.
Recuperare tutti i ricordi
Se non vengono forniti parametri di ricerca per somiglianza, RetrieveMemories restituisce tutti i ricordi che hanno l'ambito fornito, indipendentemente dalla loro somiglianza con la conversazione corrente.
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."
}
),
]
"""
Sostituisci quanto segue:
- SCOPE: un dizionario che rappresenta l'ambito del recupero. Ad esempio,
{"user_id": "123"}. Vengono restituiti solo i ricordi con lo stesso ambito della richiesta.