Skip to content

Chat & Memory

Mium provides a persistent chat system where users interact with LLMs through a conversational interface. Chat history is stored in the MemoryStore, enabling context-aware conversations across sessions.

Chat Interface

The Admin UI provides a full-featured chat interface at the root path (/ and /c/:sessionId):

  • Create new chat sessions
  • Continue previous conversations with full context
  • View and manage chat history
  • Export conversations to PDF, PPTX, or XLSX

Chat Sessions

Each chat session maintains:

  • Message History: All user and assistant messages in the conversation
  • Tool Invocations: Records of tool calls and their results
  • Context: The accumulated context that the LLM uses to generate responses

Sessions are identified by unique IDs and can be resumed at any time.

MemoryStore

The MemoryStore is a RocksDB-backed per-user persistent store for chat sessions and messages:

  • Leader-owned: The leader Master owns the MemoryStore and handles all writes
  • Synchronized: Chat data is replicated to follower Masters via the NIO protocol (MEMORY_SYNC opcode)
  • Per-user isolation: Each user's chat history is stored separately

Chat API

The Chat endpoints on the Admin HTTP server provide:

  • Create a new session
  • Send a message and receive a response (with optional tool invocations)
  • List sessions for the current user
  • Get session history
  • Delete sessions

Export

Conversations can be exported in multiple formats:

  • PDF: Full conversation with formatting
  • PPTX: Presentation format for sharing insights
  • XLSX: Spreadsheet format for data-heavy conversations