Skip to content

[User Story] - Provide Support for "Per User" persistent threads #18

@dantelmomsft

Description

@dantelmomsft

Description
Provide support for persistent thread per user. User should be able to look at their last conversations and delete them as well. We can take inspiration about how this is already implemented in azure-search-openai-demo

Current Behavior
Current thread messages are stored in memory. They get lost after each server restart.

Acceptance Criteria

  • A new thread with a new message is created on cosmosdb every time a new chat is started with user message.
  • Subsequent user messages plus agent response are stored in the thread. This will include sub-agents response as well as tool call request and results
  • User can look at a Conversation History Panel in the UI and restart and old conversation
  • User can select a previous conversation from the History Panel and delete it

Design Considerations
Use agent framework to implement a CosmosDB ChatMessageStoreProtocol. As example we can look at the current Redis built-in implementation. This can probably be a contribution back to agent-framework.
We might reuse most of the code already created iin azure-search-openai-demo:

Depends On
#11

Main Affected Modules and/or Classes
new modules will be added.

References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions