microsoft / semantic-kernel

Integrate cutting-edge LLM technology quickly and easily into your apps
https://aka.ms/semantic-kernel
MIT License
21.27k stars 3.12k forks source link

.Net: Ability to have short term and long term memory #6663

Open nttseebach opened 2 months ago

nttseebach commented 2 months ago

When deleting from memory it would be very usefull to be able to distinguish between short term memory and long memory. Short term memory we would use for information that changes frequently (such as events or weather based advice). Long term memory is for questions that are based on RAG, and the answer would only change when RAG is updated.

So when deleting from index we would like to have the ability to filter the deletion on other information that the date and similar when inserting into memory set a value to filter with in the deletion process.

Thanks for listening. Regards Seebach

markwallace-microsoft commented 2 months ago

@nttseebach Thanks for submitting this issue

We are adding support custom schema to our memory connector, see: https://github.com/microsoft/semantic-kernel/blob/feature-memory-service/docs/decisions/0045-updated-vector-store-design.md. Once this is done you could have an "expires" field on a memory record and then clean up ones that are no longer relevant using a scheduled task. You will need to be able to search for items without using vector search.

I'm going to move this issue to our memory back log as it's a good use case for us to validate the new memory abstractions against.