I use GPT-4o and tool calling to collect a lot of information from different external APIs during a long conversation. When trying to aggregate some of the response fields and some information collected from the caller to populated a payload for a tool that writes to a database at the end of the conversation, the model struggles reciting the information correctly and hallucinates. Some information is in a wrong format, e.g timestamps, and some is just missing. Is there a smart way of either implementing catch augmented retrieval or writing key value pairs to some kind of session memory, e.g for API responses, for the duration of a call? I assume a knowledge base is not the right solution as I might have several instances of the same assistant writing different data at the same time.