Skip to content

[Suggestion] Voice agent with cross-session conversation memory using Redis (Python) #313

Description

@deepgram-robot

What to build

A voice agent that persists conversation history and user context across multiple sessions using Redis, enabling the agent to remember previous interactions, user preferences, and unresolved issues when a user reconnects. Demonstrates session persistence patterns for production voice agent deployments.

Why this matters

Production voice agents need to remember conversations across sessions — a customer calling back about an unresolved issue shouldn't have to repeat themselves. Developers building persistent voice experiences need a reference for storing and retrieving conversation state efficiently. Redis is the most common choice for session state in production systems, making this pattern immediately applicable to real deployments.

Suggested scope

  • Language: Python
  • Deepgram APIs: Voice Agent API with Nova-3 STT + Aura TTS
  • State store: Redis (with fallback to in-memory for local dev)
  • Key patterns: Session ID management, conversation history serialization, user profile persistence, context injection on reconnect, TTL-based session expiry
  • Architecture: FastAPI server + Deepgram Voice Agent + Redis session store
  • Complexity: Medium — session management, Redis integration, context injection into agent prompts

Acceptance criteria

  • Runnable with minimal setup (clone, add API key, run — Redis optional via Docker or in-memory fallback)
  • README explains the session persistence architecture
  • Uses current SDK version
  • Demonstrates conversation continuity: disconnect, reconnect, and agent remembers context
  • Shows user preference persistence (e.g., name, previous topics discussed)
  • Includes session expiry and cleanup logic

Raised by the DX intelligence system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions