Conversa com Memória
O principal objetivo deste fluxo é que o agente de IA mantenha um diálogo coerente. Para isso, o sistema combina a mensagem atual com a memória da conversa, permitindo que a resposta seja baseada no contexto completo.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
Prompt-r16pz[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt]
style Prompt-r16pz stroke:#a170ff
ChatInput-tj4g4[<div><img 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 src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-17n0s stroke:#a170ff
Memory-43b97[<div><img src="/_astro/message-square-more.wNo_B7mh.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Memory]
style Memory-43b97 stroke:#a170ff
GoogleGenerativeAIModel-6dquc[Google Generative AI]
style GoogleGenerativeAIModel-6dquc stroke:#a170ff
ChatInput-tj4g4 -.- Prompt-r16pz
linkStyle 0 stroke:#a170ff
Memory-43b97 -.- Prompt-r16pz
linkStyle 1 stroke:#a170ff
Prompt-r16pz -.- GoogleGenerativeAIModel-6dquc
linkStyle 2 stroke:#a170ff
GoogleGenerativeAIModel-6dquc -.- ChatOutput-17n0s
linkStyle 3 stroke:#a170ff
🧩 Visão Geral
Este fluxo alimenta um agente conversacional que lembra interações anteriores e gera respostas usando o Google Generative AI.
Quando um usuário envia uma mensagem, o sistema recupera o histórico da conversa, compõe um prompt rico em contexto, envia ao modelo de linguagem e retorna a resposta da IA.
O resultado é um diálogo coerente e consciente do contexto, proporcionando uma experiência natural e mantendo o acompanhamento de toda a conversa.
⚙️ Funcionalidades Principais
- Captura a entrada do usuário através de uma interface de chat, vinculando-a ao contexto da conversa.
- Recupera as últimas mensagens de um armazenamento externo de memória ou do histórico local.
- Constrói um prompt estruturado que combina o texto do usuário e o contexto recuperado.
- Envia o prompt para o Google Generative AI para gerar uma resposta em linguagem natural.
- Exibe a resposta da IA para o usuário na mesma sessão de chat.
🔄 Etapas do Fluxo
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Chat Input | Recebe a mensagem do usuário e metadados da conversa. | Texto do usuário, ID da conversa, anexos opcionais, detalhes do remetente. | Objeto de mensagem contendo a entrada do usuário. |
| Chat Memory | Recupera mensagens recentes para fornecer contexto ao prompt. | ID da conversa, configurações de memória (número de mensagens, ordem, filtros por remetente). | Representação em texto do histórico da conversa. |
| Prompt | Constrói um prompt combinado que inclui contexto e a mensagem atual do usuário. | Texto do contexto, texto da mensagem do usuário. | Prompt pronto para o modelo de linguagem. |
| Google Generative AI Model | Gera a resposta da IA com base no prompt. | Texto do prompt, mensagem de sistema (opcional), temperatura e outros parâmetros de geração. | Resposta de texto gerada. |
| Chat Output | Envia a resposta da IA de volta ao usuário na interface de chat. | Texto gerado, ID da conversa, informações do remetente. | Objeto de mensagem contendo a resposta da IA. |
🧠 Observações
- O fluxo requer uma chave de API do Google válida e credenciais configuradas para o modelo de IA.
- Mensagens de sistema podem ser fornecidas para guiar o comportamento do modelo; se omitidas, são usadas as instruções padrão do modelo.
- O streaming está habilitado por padrão, permitindo que respostas parciais apareçam à medida que são geradas.
- O componente de memória limita o número de mensagens recuperadas (padrão: 20) e pode filtrar por remetente ou ordem.
- O texto de saída é formatado conforme o template de dados; se vazio, é usado o texto cru do modelo.
- Componentes de rótulo são apenas decorativos e não participam do processamento de dados; servem apenas para documentação das etapas.