-
Notifications
You must be signed in to change notification settings - Fork 295
Description
Why are we doing this?
Currently, conversations with the system are ephemeral: once the session ends, the user loses the history and cannot revisit or continue from past discussions. Introducing a persistent conversation panel will provide users with a more natural and continuous experience, similar to ChatGPT, where they can revisit and resume their previous interactions. This will also ensure that valuable insights are not lost and that users can build context across sessions.
What does it do?
Conversation history persistence
Stores user conversations in Cosmos DB, maintaining a structured record of past interactions that can be retrieved and displayed in the UI.
User-specific conversation panel
Provides logged-in users with a side panel listing their previous conversations, allowing them to easily browse, select, and continue a session.
Seamless continuity
Enables smoother workflows by letting users revisit context without having to re-upload documents or repeat instructions, enhancing usability and efficiency.
Delete previous conversations
User will be able to delete previous conversations, but they should continue existing in CosmosDB for reporting/auditability.
Technical Guidelines
- Implement a Cosmos DB collection to store user conversation history, keyed by user identity.
- Extend the authentication flow so only logged-in users can access their personal conversation history.
- Build APIs to fetch, paginate, and display conversation sessions in the panel.
- Use the Orchestrator as the API layer responsible for persisting, retrieving, and deleting user conversations in Cosmos DB, ensuring a consistent, secure access to conversation history.
- Ensure secure storage and retrieval, respecting data privacy and tenant boundaries.
- Provide logging for conversation save/retrieve operations and handle cases where history is unavailable or partially stored.
References
- Feedback: Implement New UI Feature for Chat History Management #297
- https://github.com/Azure-Samples/azure-search-openai-demo/tree/main
cc: @skt680