Extensible Conversation History Management #2
-
First of all, thank you for putting together this very helpful Service. This Kernel Memory Service implementation was EXACTLY what I was looking for as 'Kernel Memory' by itself could become a bit complex to understand at first especially since there aren't fully available documentations for it. I wanted to ask if you have a thought of extending the Conversation History storage to support persistent storages such as Azure Table Storage, SQL Lite, SQL Server etc.? Having an extensible and rich support for storing and managing conversation history would be very helpful. For example, I'm implementing a Chat Web App Client (Using Angular) where users would sign in and it would load the chat history for the user for each session so that the user can resume conversation from a particular session. Currently I would have to implement the chat history management myself but it would be great if, for example, your service could support these kinds of scenarios by abstracting away the conversation history management. I would love to hear your thoughts on this. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @Nehmiabm! The need to maintaining conversation history is a common requirement for such applications. In this sample, for the sake of simplicity I directly use a Memory Cache with Semantic Kernel, but you can take a look to https://github.com/marcominerva/ChatGptNet, a ChatGPT integration library that I'm currently developing. It support automatic conversation management and provides an abstraction over the concept of cache for persistent chat storage. In particular, you can provide an implementation of the IChatGptCache interface: https://github.com/marcominerva/ChatGptNet?tab=readme-ov-file#caching-messagelimit-and-messageexpiration. In this way, you can use every storage you need. As this cache is registered via Dependency Injection, you can use all the services you want. |
Beta Was this translation helpful? Give feedback.
Hi @Nehmiabm!
The need to maintaining conversation history is a common requirement for such applications. In this sample, for the sake of simplicity I directly use a Memory Cache with Semantic Kernel, but you can take a look to https://github.com/marcominerva/ChatGptNet, a ChatGPT integration library that I'm currently developing. It support automatic conversation management and provides an abstraction over the concept of cache for persistent chat storage.
In particular, you can provide an implementation of the IChatGptCache interface: https://github.com/marcominerva/ChatGptNet?tab=readme-ov-file#caching-messagelimit-and-messageexpiration. In this way, you can use every storage you need. …