Neste tutorial, você vai aprender a fazer chamadas de API REST diretamente para as sessões e o banco de memória do Vertex AI Agent Engine para criar e usar sessões e memórias de longo prazo. Use a API REST se não quiser uma estrutura de agente para orquestrar chamadas ou se quiser integrar sessões e o banco de memória com estruturas de agente diferentes do Kit de desenvolvimento de agentes (ADK, na sigla em inglês).
Para o início rápido usando o ADK, consulte Início rápido com o Kit de desenvolvimento de agentes.
Este tutorial usa as seguintes etapas:
- Crie sua instância do Vertex AI Agent Engine para acessar as sessões e o banco de memória do Vertex AI Agent Engine.
- Crie recordações usando as seguintes opções:
- Gerar memórias usando o banco de memória do Vertex AI Agent Engine: grave sessões e eventos nas sessões do Vertex AI Agent Engine como fontes para o banco de memória do Vertex AI Agent Engine gerar memórias.
- Fazer upload de recordações diretamente: escreva suas próprias recordações ou peça para o agente criar recordações se quiser ter controle total sobre as informações armazenadas.
- Recuperar lembranças.
- Limpeza.
Antes de começar
Para concluir as etapas demonstradas neste tutorial, primeiro configure seu projeto e ambiente.
Criar o projeto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- Se você selecionou um projeto, verifique se tem o papel do IAM de
usuário da Vertex AI (
roles/aiplatform.user
) no projeto. -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
- PROJECT_ID: o ID do projeto.
- LOCATION: sua região. Somente
us-central1
é compatível com o banco de memória do Vertex AI Agent Engine. Crie uma sessão com um ID de usuário opaco. Todas as recordações geradas nessa sessão são automaticamente identificadas pelo escopo
{"user_id": "USER_ID"}
, a menos que você forneça um escopo explicitamente ao gerar recordações.from google.cloud import aiplatform_v1beta1 sessions_client = aiplatform_v1beta1.SessionServiceClient( client_options={ "api_endpoint": "https://LOCATION-aiplatform.googleapis.com" }, transport="rest" ) session_lro = sessions_client.create_session( parent=AGENT_ENGINE_NAME, session={"user_id": "USER_ID"} ) session_name = "/".join(session_lro.operation.name.split("/")[0:-2])
Substitua:
LOCATION: sua região. Somente
us-central1
é compatível com o banco de memória do Vertex AI Agent Engine.AGENT_ENGINE_NAME: o nome da instância do Vertex AI Agent Engine que você criou ou uma instância existente do Vertex AI Agent Engine. O nome precisa estar no seguinte formato:
projects/{your project}/locations/{your location}/reasoningEngine/{your reasoning engine}
.USER_ID: um identificador do usuário. Todas as recordações geradas nessa sessão são automaticamente identificadas pelo escopo
{"user_id": "USER_ID"}
, a menos que você forneça um escopo explicitamente ao gerar recordações.
Faça upload iterativo de eventos para sua sessão. Os eventos podem incluir qualquer interação entre o usuário, o agente e as ferramentas. A lista ordenada de eventos representa o histórico de conversas da sua sessão. Esse histórico de conversas é usado como material de origem para gerar memórias para esse usuário específico.
event = aiplatform_v1beta1.SessionEvent( author="user", # Required by Sessions. invocation_id="1", # Required by Sessions. timestamp=datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ'), # Required by Sessions. content = aiplatform_v1beta1.Content( role="user", parts=[aiplatform_v1beta1.Part(text="Hello")] ) ) sessions_client.append_event(name=session_name, event=event)
Para gerar recordações com base no histórico de conversas, acione uma solicitação de geração de recordações para a sessão:
client.agent_engines.generate_memories( name=agent_engine.api_resource.name, vertex_session_source={ "session": session_name }, # Optional when using Agent Engine Sessions. Defaults to {"user_id": session.user_id}. scope=SCOPE )
- (Opcional) SCOPE: um dicionário que representa o escopo das memórias geradas, com um máximo de cinco pares de chave-valor e sem caracteres
*
. Por exemplo,{"session_id": "MY_SESSION"}
. Somente as memórias com o mesmo escopo são consideradas para consolidação. Se não for fornecido,{"user_id": session.user_id}
será usado. Use o exemplo de código a seguir para excluir a instância do Vertex AI Agent Engine, o que também exclui todas as sessões ou memórias associadas a ela.
agent_engine.delete(force=True)
Exclua todos os arquivos criados localmente.
Autenticar na Vertex AI
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .
Importar bibliotecas
Instale o SDK da Vertex AI:
pip install google-cloud-aiplatform>=1.100.0
Criar sua instância do Vertex AI Agent Engine
Para acessar as sessões e o banco de memória do Vertex AI Agent Engine, primeiro crie uma instância do Vertex AI Agent Engine. Não é necessário implantar um agente para começar a usar as sessões e o banco de memória. Sem a implantação do agente, a criação de uma instância do Vertex AI Agent Engine leva alguns segundos.
import vertexai
client = vertexai.Client(
project="PROJECT_ID",
location="LOCATION",
)
agent_engine = client.agent_engines.create()
Substitua:
Gerar memórias das sessões do Vertex AI Agent Engine
Depois de configurar as sessões e o banco de memória do Vertex AI Agent Engine, é possível criar sessões e adicionar eventos a elas. As memórias são geradas como fatos da conversa do usuário com o agente para que fiquem disponíveis para interações futuras. Para mais informações, consulte Gerar e recuperar memórias.
Substitua:
Fazer upload de recordações
Como alternativa a gerar memórias usando diálogos brutos, você pode fazer upload de memórias ou pedir que seus agentes as adicionem diretamente usando CreateMemory
. Em vez de o Memory Bank extrair informações do seu conteúdo, você fornece diretamente os fatos que devem ser armazenados sobre o usuário. Recomendamos que você escreva fatos sobre os usuários na primeira pessoa (por exemplo, I am a software engineer
).
memory = client.agent_engines.create_memory(
name=agent_engine.api_resource.name,
fact="This is a fact.",
scope= {"user_id": "123"}
)
"""
Returns an AgentEngineMemoryOperation containing the created Memory like:
AgentEngineMemoryOperation(
done=True,
metadata={
"@type': 'type.googleapis.com/google.cloud.aiplatform.v1beta1.CreateMemoryOperationMetadata",
"genericMetadata": {
"createTime": '2025-06-26T01:15:29.027360Z',
"updateTime": '2025-06-26T01:15:29.027360Z'
}
},
name="projects/.../locations/us-central1/reasoningEngines/.../memories/.../operations/...",
response=Memory(
create_time=datetime.datetime(2025, 6, 26, 1, 15, 29, 27360, tzinfo=TzInfo(UTC)),
fact="This is a fact.",
name="projects/.../locations/us-central1/reasoningEngines/.../memories/...",
scope={
"user_id": "123"
},
update_time=datetime.datetime(2025, 6, 26, 1, 15, 29, 27360, tzinfo=TzInfo(UTC))
)
)
"""
Recuperar e usar recordações
Você pode recuperar as recordações do usuário e incluí-las nas instruções do sistema para dar ao LLM acesso ao seu contexto personalizado.
Para mais informações sobre como recuperar recordações usando um método baseado em escopo, consulte Buscar recordações.
# Retrieve all memories for User ID 123.
retrieved_memories = list(
client.agent_engines.retrieve_memories(
name=agent_engine.api_resource.name,
scope={"user_id": "123"}
)
)
Use o jinja
para converter suas recordações estruturadas em um comando:
from jinja2 import Template
template = Template("""
<MEMORIES>
Here is some information about the user:
{% for retrieved_memory in data %}* {{ retrieved_memory.memory.fact }}
{% endfor %}</MEMORIES>
""")
prompt = template.render(data=retrieved_memories)
"""
Output:
<MEMORIES>
Here is some information about the user:
* This is a fact
</MEMORIES>
"""
Limpar
Para limpar todos os recursos usados neste projeto, é possível excluir o projeto Google Cloud usado no guia de início rápido.
Caso contrário, exclua os recursos individuais criados neste tutorial da seguinte maneira: