Skip to content

[FEATURE] OpenSearch Session Manager #967

@ylwu-amzn

Description

@ylwu-amzn

Problem Statement

OpenSearch released an Agentic Memory feature in 3.2 as experimental https://docs.opensearch.org/latest/ml-commons-plugin/api/agentic-memory-apis/index/

This feature will be GA released in the coming 3.3 version.

We have built a demo of OpenSearch Session Manager with the OpenSearch Agentic Memory. It works well.

Proposed Solution

Memory Container API

The memory container stores agent memories, providing isolation and organization.

# Creates an isolated memory space for the agent
create_memory_container(
    name="my_container",
    description="This is a test memory container"
)

Session Management API

Sessions maintain the overall conversation context and agent configuration.

# Creates a persistent session
create_session(session_id, session_metadata)

# Updates session with agent information
update_session(session_id, metadata, agent_data)

# Retrieves complete session state
get_session(session_id)

Conversational Memory API

Each message is stored with full context, enabling the agent to recall previous conversations.

# Stores individual messages with rich metadata
add_message(session_id, agent_id, {
    "message": message_content,
    "message_id": unique_id,
    "role": "user|assistant",
    "timestamp": created_at,
    # Additional metadata...
})

# Retrieves conversation history
list_message(session_id, agent_id, limit, offset)

Search and Retrieval API

The implementation uses OpenSearch's powerful search capabilities to:

  • Find messages by session and agent
  • Retrieve specific messages by ID
  • Search across conversation history
  • Sort messages chronologically

Use Case

Benefits of OpenSearch Integration

  • Enterprise-grade Storage: Reliable, distributed storage with backup/recovery
  • Advanced Search: Full-text search across conversation history
  • Scalability: Handles large volumes of conversational data
  • Analytics: Built-in analytics and monitoring capabilities
  • Security: Authentication, authorization, and encryption support

Alternatives Solutions

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions