Agente com persistência de memória
O objetivo principal deste fluxo é que o agente de IA mantenha um diálogo coerente, permitindo que a resposta seja baseada no contexto completo.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
ChatInput-tj4g4[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Input]
style ChatInput-tj4g4 stroke:#a170ff
ChatOutput-17n0s[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-17n0s stroke:#a170ff
GoogleGenerativeAIModel-6dquc[Google Generative AI]
style GoogleGenerativeAIModel-6dquc stroke:#a170ff
AdvancedAgent-09rkl[Agent]
style AdvancedAgent-09rkl stroke:#a170ff
GoogleGenerativeAIModel-6dquc -.- AdvancedAgent-09rkl
linkStyle 0 stroke:#a170ff
ChatInput-tj4g4 -.- AdvancedAgent-09rkl
linkStyle 1 stroke:#a170ff
AdvancedAgent-09rkl -.- ChatOutput-17n0s
linkStyle 2 stroke:#a170ff
📄 Descrição Geral
O fluxo “Agente com persistência de memória” permite que um assistente virtual conduza conversas coerentes, mantendo o contexto e a memória ao longo das interações. O usuário insere uma mensagem, o agente, alimentado por um modelo Gemini, gera uma resposta estruturada e a apresenta de volta ao usuário. O fluxo garante que todas as mensagens anteriores sejam consideradas, permitindo diálogos contínuos e contextualmente ricos.
⚙️ Funcionalidades Principais
- Captura da mensagem do usuário a partir de um campo de entrada de chat.
- Envio da mensagem para o agente avançado, que utiliza um modelo Gemini como motor de linguagem.
- Uso de memória persistente para armazenar o histórico da conversa e otimizar a continuidade.
- Geração de resposta pelo modelo, incluindo streaming opcional e estruturação de saída.
- Apresentação da resposta ao usuário em um componente de saída de chat.
🔄 Passos do Fluxo de Trabalho
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Chat Input | Recebe a mensagem do usuário e cria um objeto de mensagem. | Texto da mensagem, identificador da sessão, flag de armazenamento. | Objeto de mensagem contendo texto, remetente, ID da conversa. |
| Google Generative AI | Atua como modelo de linguagem (Gemini) que o agente utiliza. | Valor da chave API, modelo selecionado, token máximo, temperatura, top‑k/p, input de sistema. | Instância de modelo de linguagem (LanguageModel) para o agente. |
| Advanced Agent | Processa a entrada do usuário, consulta a memória, gera resposta e pode usar ferramentas. | Mensagem de entrada, modelo de linguagem, configuração de memória e ferramentas, prompt de sistema. | Mensagem contendo a resposta do agente. |
| Chat Output | Exibe a resposta gerada ao usuário. | Texto da resposta, remetente (“Machine”), ID da sessão. | Mensagem formatada para visualização no playground. |
Observação: O Label Component apenas exibe informações estáticas e não participa da lógica de geração de respostas.
🧠 Notas
- O modelo Gemini funciona em modo de streaming, permitindo que a resposta seja transmitida enquanto é gerada.
- O agente avançado utiliza memória de curta e longa duração; a estratégia configurada é “Summarize”, reduzindo o histórico quando excede 20 mensagens.
- O fluxo pode ser estendido com ferramentas adicionais, mas no estado atual apenas o modelo de linguagem é empregado.
- As conexões entre os componentes são configuradas por IDs de saída/inpout, garantindo que cada mensagem siga a ordem correta.
- O fluxo não depende de IDs de componentes na documentação; apenas os nomes legíveis são usados.
- O parâmetro “Use Structured Output” está desativado, portanto a resposta é entregue como texto puro.
- O uso de “Use Checkpointer” habilita a gravação do estado do agente em cada etapa, permitindo retomadas de conversa.