Passa al contenuto principale

Introduzione

Il Memory Agent conserva gli ultimi messaggi della conversazione e mette a disposizione alcuni strumenti per semplificare il loro utilizzo. Nello specifico, la classe Memory Agent è definita come:

class MemoryAgent:
message_memory: MessageMemory # contiene la conversazione;
get_formatted_conversation(messages: List[ChatMessage] = None, show_attachments: bool = False) -> str # permette di aggregare in modo organizzato i messaggi passati come argomento, o, se assenti, tutti i messaggi in message_memory. Abilitando show_attachments, se presenti, vengono inseriti anche i nomi dei file allegati ai messaggi
expand_request_template: PromptTemplate # template predefinito per scrivere il prompt nella callback ExtendMessagePrompt
warning

L'ultimo messaggio inviato dall'utente non è mai dentro il Memory Agent, ma è disponibile dentro context.input.original

informazioni

Per evitare di appesantire il sistema, il numero di messaggi effettivamente presenti in history è limitato da un parametro configurabile nel setup. Oltre a questo vincolo, è previsto anche un limite sul numero massimo di token complessivi. Se tale soglia viene superata, il Memory Agent si occupa di aggregare e riassumere automaticamente i messaggi più vecchi in un singolo messaggio che avrà sender = "system"